Qt Technical Track - Session Abstracts Beginner to advanced topics directly from the developers who make Qt Session Categories
Discover Sessions A first look at existing and new Qt technologies.
Choosing your UI weapon - C++ vs. QML vs. HTML5 Speaker: No'am Rosenthal
Qt gives you lots of options. You can use QML, you can usetraditional C++, or you serve HTML5 in a web view. But with all thoseoptions, comes the question - which option is best for my particularuser case? What is the criteria that would help me make the choice thatis right for me? We will explore this question by trying a few use caseswith those three approaches, and by trying to understand the problemeach is trying to solve.
Cross-Platform Mobile UI's Speaker: Michael Samarin
Join this talk tolearn about our experience in using Qt/QML for making mobile UI's thatwould work on several platforms, including experimenting with Android.We will use the Qt Developer Days 2011 app as our main example and takean inside look into the process of making this application. In addition,you will hear about other example applications, like WRC Live thatworks equally well on Symbian and MeeGo.
Internationalization - Translating Applications in Qt Speaker: Riku SalminenThe talk deals with internationalization as a mindset, rather thantechnology, when coding for different regions. We will look at some badexamples and introduce some good rules of thumb forinternationalization.
Furthermore we will look into localization as a way for attractingmore people across the globe and making your app more personal (and it'snot only language, we're talking about).
Finally, we dive into coding in practice, including working with translation agencies/services and using crowd sourcing.
Intro to Qt SDK and cross-platform development Speaker: Tobias HungerThe Qt SDKsupports a wide range of devices. This session explores how to build,deploy and debug applications on embedded linux platforms and Symbian aswell as the Qt Simulator.
Location aware apps - positioning, maps, sensors and more Speaker: Alex BlascheModern consumerapplications enrich the user experience by providing strong feedbackabout the user's current situation. This could either be related to thecurrent location, a location where the user would like to go ordetecting physical user interaction with the device. This session willgive you a head start on developing with these Qt technologies andprovides a sneak preview on upcoming features.
Meet Qt and Qt Quick Speaker: Justin Noel, ICSAre you fullyaware of all you can really accomplish with Qt and Qt Quick? We'll takeyou beyond the benefits of Qt and Qt Quick from a marketing standpointand dive into the technical aspects of what they are and how they worktogether. Justin has been developing Qt apps since Qt 3 and knows allthe tricks any up and coming Qt developer might need. We'll cover Qtphilosophies and design, object communication, QML items, elements andproperties.
Meet Qt Creator IDE Speaker: Tobias HungerIn this session, we will provide a very quick introduction to QtCreator, then dive into the hidden wonders of this powerful andeasy-to-use cross-platform Qt IDE, covering features like Quick Fixes,or the new Analyzer mode.
Meet Qt WebKit Speaker: Alexis Menard
The marriage of WebKit with Qt is still going strong - after morethan 2 years! The current version is geared toward mobile content andhybrid applications. This presentation will introduce QtWebKit andaddress the recently completed features and ongoing projects. Questionsand feedback are greatly valued.
Publishing Qt based apps - making money from your work Speaker: Kevin Chan
Downloads aregrowing exponentially. New business models will pay an increasinglylarge role for driving revenue beyond paid downloads. In-App Purchasingis becoming one of the key ways to monetize apps. This session willexplain more in detail what it is, how to integrate it into Qt app andpublish to Nokia Store.
Publishing Qt based apps - step by step considerations Speaker: Gordon Thornton
This session willtake a closer look on publishing process to Nokia. We will show youcommon pit falls, and offer tips and good cases on how to pass Q&Asmoothly and give an overview on our moderation guidelines. Questionsand feedback are greatly valued.
Qt Bearer Management Speaker: Tero Äijälä
This session will discuss what Qt Bearer is all about, and what usecases a developer can achieve by using the API in their application. Itwill also cover transition from Qt Mobility Bearer to QNetwork's Bearer,and why it would be a good idea to switch to the new implementation nowat the latest.
Qt Quick Components for Designer Speaker: Jürgen Bocklage RyannelQt QuickComponents are ready made UI elements for creating a fluid mobile UserExperience (UX) on Symbian mobile devices. The focus will be on thedifferent design aspects of a typical mobile application using Qt QuickComponents. Additional, we will present an easy way to sketch yourapplication with wireframe elements. There is no coding involved in thissession, it's pure user interface concepts. The "Qt Quick ComponentsDeep Dive" will cover the coding aspects of the Qt Quick Components.
Qt Quick Desginer Speaker: Thomas HartmannI will give an introduction to Qt Quick Designer and explain possible work flows and some of the more advanced features.
Innovate Sessions Focused topics diving deeper into Qt features and best practices.
3D programming using Qt Quick on N9 Speaker: Sarah SmithIn this practical session you'll see how to write QML to quickly addand animate 3D content in your 2D QML application using Qt Quick 3D.You'll see how to easily deploy it onto the new Nokia N9 to takeadvantage of OpenGL hardware - which after all was designed for 3Dcontent. The new features available in the recently released packages ofQt Quick 3D will be shown off, and we'll talk about what's coming downthe line for the most exciting tool in your Qt Quick toolbox.
Anatomy of real world apps - dissecting cross-platform apps written using Qt Quick and C++ Speaker: Marius Bugge MonsenIn this talk Marius will present an approach to architecting andimplementing apps in Qt Quick and C++ that allows both rapid developmentand scalability. The talk will present architecture and code for realworld, high profile apps that are already available in Nokia Store orare under development.
Basic Networking with Qt Speaker: Markus GoetzThis talk will introduce you to Qt's networking classes. It will showhow you can use TCP sockets and servers, HTTP and UDP sockets with Qt.It will explain how you can architecture a Qt application that is usingthe network. At the end of the talk we will have created a Qtapplication that uses all of this functionality.
Dance, Dance QML Revolution - Using Qt for MeeGo development Speaker: Justin Noel, ICSDance DanceRevolution was a very popular dance game back in the late 1990's andearly 2000's. Then, in 2005, an open source version of the game, called"StepMania" was released. This brought the popularity of Dance DanceRevolution back with a small, but strong fanbase. However, StepMania wasdeveloped for the desktop environment and uses "SDL" which uses thedesktop version of OpenGL, limiting its portability. Therefore, a QMLport has the following advantages: It can run on mobile devices likecellphones and tablets without having to worry about differences incapabilities; it can natively handle multi-touch and other types ofinput easily; and it can also run things like video and animationnatively. This presentation will cover what was needed to complete thisport, what issues arose and things to think about in game developmentusing QML.
eT-Kernel from eSol Speaker: Masaki Gondo, eSolNow Qt isspreading over ever more increasing type of embedded devices, due to itsexcellence as an application framework and cross-platform nature.However, the embedded systems present different kind of challenges fromthose of desktop, PCs, such as real-time processing and reliability.Increasing intelligence in such systems prompts need for such frameworkas Qt and underlying OS that is real-time and reliable. Qt on eT-Kernelis full port of Qt onto eSol eT-Kernel RTOS, offering full POSIXinterfaces and TRON interfaces, with multi-core capability. This talkwill introduce the Qt port and eT-Kernel, and discuss how this blend ofreal-time OS with Qt differs from that of generic OS such as Linux,along with some of the advantages it brings.
Getting your Qt app running and deployed on Symbian Speaker: Andreas JaklQt is marvelousas it eliminates the need for most of the platform specific knowledgeand allows deploying the same source code as native apps to multiplesystems. However, in few areas the underlying operating system stillshines through - a good example is the security framework. In othercases, you need to handle use cases that are not covered by Qt APIs.Therefore, it's good to know about the system environment as a developertargeting Symbian. A good understanding of the Symbian ecosystem isalso needed to approach the wide array of Symbian devices in the market,which range from older low-cost devices up to the latest high-endSymbian Belle Smartphones.
Graphics performance - Best practices Speaker: Kim KallandThis talk will discuss the strengths and weaknesses of the raster andOpenGL paint engines, how some of the Qpainter features affectperformance, what APIs to use and how to structure your painting code tocreate applications with good graphics performance.
How to integrate multimedia into your Qt app Speaker: Jonas Rabbe
Multimedia is ofvital importance in modern app development, be it sound effects forgames, streaming videos from the internet, or the nextmake-your-pictures-look-old-and-weathered camera app. This session aimsto help you understand the toolbox available for multimedia in Qt andintroduce its use.
HTML5 in QtWebKit Speaker: Alexis Menard
HTML5 is the new frontier of Web development. This new standard isbeing created to push the web beyond the limit of HTML4 and to enablerich application in the browser. This talk presents some new features ofHTML5 that are already availbale in QtWebKit and how you can use themwhen mixing with C++.
Hybrid Development with Qt WebKit Speaker: No'am Rosenthal
Hybrid is no longer an experimental feature or idea. Many developersuse HTML5 as part of their native applications in the mobile, desktopand embedded space. In this session, we will get a head start on how toapproach this development technique with Qt, how to embed a web view in aC++ or QML application, and how to expose local functionality. We willalso look into the future and explore what hybrid development will looklike going forward.
INTEGRITY from Green Hills Software Speaker: Rolland Dudemaine, Green Hills Software
The Green HillsINTEGRITY Separation Kernel is an established, and mature commercialReal-time OS solution for the embedded market that has a growing marketshare. INTEGRITY and Qt Commercial naturally complement each other withQt bringing advanced graphics to our INTEGRITY based platforms.
This talk willpresent the straightforward method used to realize this port,interesting considerations found during the work, and use cases for QtCommercial on INTEGRITY.
Multi-screen development with QtQuick Speaker: Donald Carr
Qt Quick mapsvery nicely to large screen devices. Its innate bias towards pixmapbased UIs is highly accelerateable and allows for the rapid constructionof compelling competitive modern UIs. One does not have to be at thestate of the art in this field for very long before establishing justhow tailor-made the language is for this domain, despite its clearprimary focus on touch based UI/interaction and mobile devices. Thissession covers the design and implementation of Qt Media Hub (
http://gitorious.org/qtmediahub/qtmediahub)across a variety of hardware domains and form factors, and thechallenges/merits associated with using QML as a foundation for thiskind of application.
Pimp your UI - Using effects, transitions, etc Speaker: Johannes ZellnerThis session shows how to visually enhance Qt Quick applications byadding bling and animations to your UI. The talk will focus on base QMLelements and gives ideas how to pimp UIs only with the simple elements,which are shipped with current Qt versions.
Using Qt to develop games for Nokia devices Speaker: Mika Pesonen, Jani VaaralaDeveloping highperformance Qt games for Symbian devices can be a challenging task. Thissession will help you identify key problem areas in Qt Symbian gamedevelopment and provide solutions for these. The presentation will coveraudio latency, graphics architecture, graphics performanceoptimizations and direct EGL & OpenGL ES usage in Qt.
Qt Networking - Web services Speaker: Peter HartmannWeb Servicesoffer a flexible way to use data from the Web; this talk focusses on whooffers such data (e.g. Facebook and Twitter), what techniques aretypically used (e.g. Oauth and JSON) and, of course, how to use suchdata with Qt.
Qt Quick Components Deep Dive Speaker: Ruben RinconIn this session, you will be presented key concepts behind creatingapplications with the new Qt Quick Components for Symbian and Meegoplatforms. Qt Quick Components is a set of ready-made UI building blockswith native appearance. Among the topics covered you will find a briefwalkthrough the different components, concepts of navigation and memorymanagement and how to create your application consistent with the UXguidelines for Symbian and MeeGo platforms from a programmingperspective.
Targeting Android with Qt Speaker: Espen Riskedal, CutehacksIn the last two years, Android has become one of the most popularsmartphone platforms in the world. In the same time, Qt has developed anelegant and mature solution for creating mobile apps with Qt Quick.Necessitas is a community project that adds Android support to the QtSDK. This talk will explain how you can deploy your Qt app to theAndroid Market using Necessitas.
Using Qt mobility to develop NFC apps Speaker: Andreas JaklWith Near FieldCommunication (NFC), your phone transforms into a haptic device thatreacts to touching gadgets, other phones or Smart Posters. To speakthrough a Bluetooth headset, just tap it. To connect to your friends onsocial networks, touch your phones. To get more info about a statue in amuseum, simply tap the info panel. In this session, you will learn howto create those experiences using Qt Mobility. How can you extend yourapp to make use of NFC - to either simplify your existing interactionpatterns, or to create unique new features that make your app stand outfrom the crowd. We will investigate the available APIs and walk youthrough the steps required to start coding with NFC.
Using Qt Quick for Rapid UI Prototyping and Development Speaker: Jens Bache-WiigCreating an application with a great user experience is a challenge.Traditionally a lot of effort goes into upfront design where tools suchas Flash or PhotoShop are used to prototype ideas and real problems arefound only after the application has been implemented. Qt Quick turnsthis problem on its head. Now the UI designer can rapidly prototype adesign and instantly try out new ideas. In this session you will see amobile App being created from scratch. See for yourself how designerscan try out their ideas, test on a mobile device and rapidly iteratetowards a polished final product.
Excel Sessions Advanced topics covering Qt features and programming techniques in depth.
Combining Symbian and Qt API's for mobile app development Speaker: Tapani Puhakka, TelecaJoin this talk tolearn about our experience in developing Qt applications for Symbian^3platform, including multiple music applications featuring real-timemixing and live streaming. While the Qt APIs are robust andcomprehensive, there are still gaps, which need to be filled by usingthe native platform APIs. You will hear about our experiences,workarounds and solutions for implementing complex applicationexperiences for the Symbian platform.
Creating performant Qt Quick apps Speaker: Volker Krause (MUC)Speaker: Romain Pokrzywka (SF)Working inresource constraint environments poses a range of performance challengesand tradeoffs. Application startup time, CPU usage and powerconsumption, memory footprint, I/O load, graphics and animationsmoothness and architectural and implementational complexity all need tobe taken into account. This presentation will show the impact of theway Qt Quicks is implemented in Qt4 on these factors and offer guidanceon what choices developers can make to achieve optimal performance intheir unique set of circumstances and on their target hardware.
Deep Dive into MeeGo and the Nokia N9 Speaker: Yoann LopesThe Nokia N9 is the first phone running MeeGo and as you might know,Qt is at the center of this platform. It provides a great set of toolsand libraries that make this device very accessible and give aformidable way to learn Qt development not only for MeeGo, but also forother mobile platforms. In this presentation you will learn everythingyou need to know about how to make a Qt application for the N9 and howto make the most out of the development tools.
Development of Multi-threaded applications Speaker: Olivier GoffartIn this talk, we will go over pieces of code written with Qt in orderto explain some of the patterns that are useful for writingmulti-threaded applications. In particular, we will introduce somelock-free algorithms, and even dig into the implementation of QMutex fora better understanding.
Getting the most out of QtMultimediaKit on mobile Speaker: Gareth StockwellWhile thecapabilities of modern mobile device hardware are progressing fast, theycan still be challenged by the demands imposed by advanced multimediaapplications. This means that, although QtMultimediaKit providespowerful cross-platforms abstractions, the developer needs to keep oneeye on the constraints of the mobile target. This session will provideadvice and tips on how to write compelling multimedia apps for mobileplatforms.
Qt In-Depth Speaker: Janne AnttilaThrough examination of the key internal of the Qt framework, thissession will help you better understand what is happening deep insideQt. The presentation will cover the internals of Qobject with itssignals and slots, principles and use of the p-impl design pattern,atomic reference counting, the Qt event loop and the event processingmechanism, and the implementation of implicit sharing. It will cover awide range of topics at a fast pace.
Qt Quick Best Practices and Design Patterns Speaker: Girish RamakrishnanThere is nobetter way to learn new technology than by reading existing code. As QtQuick is a fairly new technology, existing QML code contains manydifferent programming styles and coding techniques. This talk willdiscuss various QML best practices and design patterns for buildingpowerful and scalable Qt Quick applications with QML and C++ code.
Secure Networking with SSL Speaker: Peter HartmannThis is anin-depth talk about using SSL with HTTP and beyond, focusing onclient-side SSL with Qt. There will be an introduction to Qt's SSL APIand features, as well as general SSL overview.
The last mile - Effective Debugging and Profiling for Qt and Qt Quick Speaker: Till Adam, KDABQt and Qt Quick make it quite easy to realize applications, librariesand services rapidly and with a rich feature set. The abstractions andlayers that facilitate this can make it challenging, however, toeffectively find and eliminate problems in both functionality andperformance. This presentation will highlight tools and techniques thathave proven their value in the trenches of real world projects across awide range of platforms, target systems and domains.
Qt Labs Sessions More informal, hands-on discussions and demo sessions covering up-and-coming Qt technologies.
How to do Qt contributions Speaker: Marius Storm-Olsen, Thiago MacieriaIn 2010, Nokia started working on the Open Governance model for Qtand related projects. The Open Governance model turns Qt into a fullOpen Source project, with all positions in the project availbale toanyone in the community regardless of company affiliation. Contributorscan now participate directly in the development of the project, and helpshape the direction of the Qt project. This session will present howthe Open Governance model differs from the previous Contribution Model,what the guiding principles are, then follow with a hands-on approach tohow the community is expected to work from now on. We will also discusshow to make contributions to Qt, starting from obtaining the sourcecode, to having it landed in the code repository, and interacting withother contributors to improve the contribution. The presenters will alsodiscuss how one can contribute to Qt without being a code developer,showing what other possibilities exist and where help is welcome.
Persistent Object Storage for Qt Quick Speaker: Jamey HicksIn Qt5, Qt Quickis the center of Qt. This talk describes a persistent object systemtightly coupled to Qt Quick, enabling rapid creation of data modelsmatching JavaScript and QML object representations. This talk willdescribe how to use it in your applications, and how to quickly importdata from other sources.
QPA - The Qt Platform Abstraction Speaker: Thomas SenykQPA - The QtPlatform Abstraction is an upgrade an replacement for Qt for EmbeddedLinux (Qt/E). Although Qt/E has a lot of nice features and benefits (forexample no external dependencies) it also has some major drawbacks (forexample the strong binding to the software-painengine). This talk willexplain the differences between QPA and QWS, QPA's architecture andwhere and why QPA is your weapon of choice. You will also see some realexamples showing you how you can start your own Qt-port using QPA.
Qt 5 roadmap - Getting into the details Speaker: Lars KnollThe Qt Project is the newly formed open source project that emergedfrom the open governance effort that has been ongoing in Nokia for over ayear.
It is a way that will allow every individual and company that has aninterest in Qt to help with its ongoing development and contribute inthe areas that are of special interest to them.
The talk will explain, how these contributions happen, what kind ofexpectations the project has towards contributions and contributors, andhow a roadmap can emerge from the sum of these contributions.
Qt Quick 3D Speaker: Daniel PopeDuring this session, you will be introduced to Qt3D and its extensioninto QML - QtQuick3D. The inner workings of the framework will bebriefly investigated, and a practical demonstration of Qt3D/Quick3D inaction will show you how quick and easy it is to get up and running inthe world of 3D using Qt. The content of this session is aimed tocomplement what you'll see and learn in the later session on 3Dprogramming for the N9.
Qt Quick Components for Desktop Speaker: Jens Bache-WiigQt Quick enables rapid development of fluid mobile UI's. Thispresentation introduces you to a new set of desktop components beingdeveloped for Qt Quick that will make it possible to create nativelooking desktop applications. We will demonstrate how you can alreadymake use of them in your applications and invite you to discuss variousaspects of their design.
Using Qt Quick and the new Qt graphics stack, Scene Graph Speaker: Kim KallandQML Scene Graph is a new OpenGL based graphics stack which willreplace QGraphicsView and Qpainter as back-end for Qt Quick. This talkwill explain how to implement customer, Scene Graph based QML elementsfrom scratch and how to port existing QGraphicsView based elements toScene Graph. Say goodbye to Qpainter and welcome vertices, shaders andtextures.
WebKit 2 - Looking forward Speaker: Pierre RossiIn little over a year, WebKit2 managed to make its way into severalbrowsers already, both on mobile platforms and the desktop. Like manyother ports, and with the first hand experience acquired while doing theN9's browser, QtWebKit is now gearing up to provide a WebKit2 API inthe context of Qt 5. Come find out more on the future of QtWebKit.
What's new in QtQuick 2.0 Speaker: Bea LamQt Quick 1.0 brought a suite of technologies to make it easy fordesigners and developers to easily create fluid animated interfaces thatintegrate seamlessly with C++ applications. QtQuick 2.0 takes thisfurther with the introduction of a built-in Scene Graph renderingsystem, a particles effects system, JavaScript engine optimizations forQML, a Canvas API and more. This presentation gives an overview of thesefeatures and discusses what's next for Qt Quick.