Leveraging Qt in the MeeGo Ecosystem
Zhang Chi Nokia, Qt Development Frameworks, Greater China What is the MeeGo project?
Building a modern OS with no strings attached for multiple device segments, merging the best of Moblin and Maemo. Consolidating the power, resources, and innovation of the leaders in communication and computing. Facilitating operating system convergence.
2 © 2010 Nokia One MeeGo stack for Multiple Segments, Multiple Application Stores, & Multiple HW Architectures
OS & OS & OS & Sys. Infra. Easy integration to multipleSys. Infra. ApplicationSys. Infra. Stores
MeeGo OS
Multiple hardware architectures: Intel Atom, ARM, others
3 © 2010 Nokia MeeGo Linux Stack is Built on Many Open Source Projects
4 © 2010 Nokia MeeGo Architecture
Intel AppStore Nokia App Store Other App Stores App Stores
Netbook User Experience Handset User Experience TV User Experience IVI User Experience
UX UI & Applications UI & Applications UI & Applications UI & Applications MeeGo
MeeGo APIs including Qt UI Toolkit
Comms Svcs Internet Svcs Visual Svcs Media Svcs Data Mgmt DeviceSvcs PersonalSvcs Connection Mgmt Layout Engine GTK Media App Content Device PIM Svcs ConnMan Mozilla Gecko & Framework Framework Health EDS WebKit Clutter Media Framework Tracker Telephony APIs Sensor GStreamer Accts & Single Sign- oFono Web Services 3D Graphics Context Framework Audio on libSocialWeb OpenGL / GL ES Framework SECURITY Cellular Stack PulseAudio System oFono plug-ins ContextKit Policy 2D Graphics Camera MeeGo OS Middleware Web RunTime Cairo, QPainter Package IP , VOIP, IM, WebKit Codecs Device Sync Manager Presence,Telepathy I18n Rendering GStreamer plug-ins SyncEvolution Pango, QtText PackageKit, RPM Location Bluetooth UPnP GeoClue BlueZ X GUPnP Backup & Restore
Settings Database System Libraries Message Bus GConf glibc, glib, etc D-Bus Linux Kernel Base
MeeGo OS Harware Adaption Software 5 © 2010 Nokia MeeGo consumer promise: Personalized Internet on the Go Delivering the Always online Personalization best web on the Go with Native experience Applications • Delivering the leading • Always-connected software • 1,000s of Qt apps leveraging the browser experience design delivering a prompt- installed base of MeeGo devices free experience in multiple categories • True Adobe Flash integration • Power consumption and • Delivered with a renewed network optimization across experience in Intel AppUp the whole software stack Centers and Ovi Store
6 © 2010 Nokia Our developer promise: One API – multiple device categories
• OneMeeGo API based on Qt • Fastest growing installed base • Lighting fast Qt Creator IDE tool • Global reach of distribution channelswith Dedicatedgo-to-market programs • Proven Qt track record in CE devices
7 © 2010 Nokia MeeGo built with Qt expands Developer opportunities
Desktop Symbian MeeGo
Native Qt
Web Web Runtime (based QtWebkit)
One code base can address multiple consumer screens
8 © 2010 Nokia MeeGo application ecosystem
1000s of Qt 1000s of web 100s of native Operator cross-platform runtime apps Linux apps service apps apps
Millions of MeeGo devices from dozens of companies
9 © 2010 Nokia Qt Application Framework Cross platform application development
Desktop, web, mobile and Qt SDK embedded software Qt development tools development Qt modular class library Qt Creator Core XML Cross-platform IDE Fast, efficient programs GUI Multimedia WebKit Database Allows developers to focus on Graphics View Network Qt Designer Qt Assistant value added functionality instead Scripting Unit Tests GUI designer Help reader OpenGL Benchmarking of infrastructure code
qmake Cross-Platform Qt Linguist Used by more than 350,000 Build Tool I18N Toolset developers around the globe Write code once to target Cross-platform support multiple platforms & OSes
Embedded Maemo/ Windows Windows Mac Linux/X11 Symbian WinCE Linux MeeGo Mobile
Chipsets
10 © 2010 Nokia Market Needs / Roadmap Drivers
Future direction
Developer & designer Qt 4.6 collaboration, Qt 4.5 declarative UI Up to Qt 4.5 Expanded support for embedded,smartphone Deeper support for Better out-of-the-box development web/native hybrid Cross-platform experience for development requirement developers Enablers for cutting edge UI development Improve developer Best possible runtime efficiency performance
2008 2009 2010
11 © 2010 Nokia Qt is hot in multiple screens today
Slate/Pad/E-Reader Home & Entertainment • Windows XP/7 and/or Linux-based OS • Chipset pre-integration • Create Qt-based SDKs and Applications/Services • Online Content and services delivery • Multi-touch and Gesture • Performance and WebKit Integration Key Success: Asus EEEpc, Skype Phone, E-Reader, EEE Key Success: TCL MiTV, NetFlix, CNTV tablet
Mobile Applications Automotive Infotainment • Major improvements in overall performance • Connected & innovative user experience • Next generation mobile UI • Terminal Model • Nokia mobile platforms • Qt for Windows CE Key Success: AccuWeather, Shazam, many on Key Success: Genivi, Visteon, MagnetiMarelli
12 © 2010 Nokia Qt Openness
First Step
13 © 2010 Nokia Enter into new ERA - Qt is Now Open
Rationale for Nokia to add LGPL • Make it easier for commercial Increased use users to choose Qt of Qt • Increase Qt Ecosystem – Increase available Qt developer competence – Provide more business opportunities based on Qt Faster pace of • Improve Qt through valuable Larger Qt innovation = feedback and community ecosystem contributions a better Qt
More feedback & contributions
14 © 2010 Nokia Open Qt Development Model
True Open Source project working model
• Development - Source Code management system • Bug Track system • Roadmap
15 © 2010 Nokia Source Code Management System
• Git – A distributed revision control system – Used by Qt, Linux, Android, Gnome, Perl… • Gitorious – A web based project host for collaborative open source projects using the Git distributed revision control system – Used by Qt, OpenSuse, MeeGo… • Bring many interesting projects
16 © 2010 Nokia Bug Track System
You can – Find a bug – Report a bug – Keep track of reported bug – Vote a bug • Both external people and Qt developers are working at the same system!
17 © 2010 Nokia Roadmap
We open our product direction for discussion:
- Public Qt Roadmap - Qt Labs - Blogs - Validation Meetings
18 © 2010 Nokia Qt Contributions & Workflow
Developers can submit patches and Clone Qt on add-ons, or help jointly develop new Gitorious features in Qt Make your modifications
Review & Agree Contribution Agreement
Submit for Merge
Reviewed by Qt Developers
Legal Scan
19 © 2010 Nokia What can I contribute?
• You can contribute to Qt and Qt tools • Suggestion list for discussion: – Performance improvements – Benchmark improvements – Optimizations for platforms / devices – Power-consumption optimizations – Localization!
20 © 2010 Nokia Qt Governance
EvolvingtowardsTransparency
21 © 2010 Nokia What is Open Governance?
Planning • Technical & content discussions in public on mailing lists, IRC & wikis Conclusions from off-line meetings are made available to the public in public
Development • Internal and external development happens the same way – in public in public • Degree of influence derives from level of contribution
Authority to decide is given based on merits earned in the community, not Merit-based by your employer authority
Product info • Information about un-released products private, all other is in the open remains secret
22 © 2010 Nokia Qt Roadmap to Open Governance Decide the open governance model – target state defined for change project
2009 Change project Open Qt to external contributions.
End of 2010 Change project executed. Move to the new Early June 2010 governance. Make public intent announcement. Open mailing lists and wiki for public discussion about the Open governance model. 23 © 2010 Nokia Benefits?
• Drive Qt for projects needs • Have a hand in the control of Qt’s evolution • Freedom to innovate • Fast path from contribution to productization (not relay on us)
24 © 2010 Nokia MeeGo working model
Leveraging industry players
25 © 2010 Nokia Way of Working: Applying proven open source processes
MeeGo- based Operating Devices Upstream System Open Source MeeGo Vendors Projects project
MeeGo Component 3rd MeeGo Closed Projects Party on Source Codec Apps chipset 26 © 2010 Nokia MeeGo Organization Structure
The Linux Foundation MeeGo Technical Steering Group
Community Office Program Office
Core Program
Handset Program Handset WG Netbook WG Netbook Program UI Design Localization) Localization)
IVI Program Assurance Quality IVI WG Release Engineering Technology Development Technology Tablet Program Development Distribution Tablet WG
Connected TV Program Documentation, Legal, (IT, Support Connected TV WG
27 © 2010 Nokia Working Groups
• Working Groups are Delegates of the TSG • WG responsibility – Defines the requirements – Release Management for the vertical UX – SW component licensing within overall MeeGo policy – Appoint leaders and maintainers for WG projects – Conflict resolution for WG projects • Defines the vertical UX compliancy profile specification • Liaison with institutions within the vertical industry
28 © 2010 Nokia Technical Steering Group
• Membership and guidelines – Initial membership is Intel and Nokia, serving as co-chairs – Membership expands based on meritocracy, contributions, and commitment to MeeGo; expect to add 3 to 8 members to the TSG over the next year – All meetings of the TSG are open, and all TSG decisions and meeting minutes are published on the MeeGo project website
• TSG responsibilities – Appoint Project leaders, maintainers, and WG members – SW Compliance, Licensing and Trademark use – MeeGo Platform Advocacy and Outreach – Conflict resolution for projects – Represents the MeeGo project
29 © 2010 Nokia Summary Qt MeeGo • Qt Both running under Open-Source model Benefit each other
• Cutting Edge graphic and web-enabled SDK Complete open OS stack for different device type • Cross-platforms applications development across desktop, web, mobile and embedded large pool of applications and services, platforms and different screen size through Intel AppUp and Nokia OVI Store
• Rich ecosystem of developers and applications/ More innovation, smaller overhead, quicker services already existing time-to-market
30 © 2010 Nokia MeeGo Today
Netbook + Handset + IVI
31 © 2010 Nokia First complete UX Profile MeeGo v1.0 Netbook Visually rich user experience Instant access to calendar, tasks, appointments, and social networks through the home screen.
32 © 2010 Nokia MeeGo Handset UX Day 1
Running on both Moorestone and N900 Enhanced Qt framework - MeeGo touch UI framework
33 © 2010 Nokia MeeGo IVI 1.0 Genivi select MeeGo
• GENIVI will be an active member of the MeeGo IVI working group. • Because MeeGo is the best distribution for user centric devices where speed, size, power consumption and usability are key factors. • Chosen by BMW, GM, Hyundai
34 © 2010 Nokia Roadmap 2010
30 March 2010 26 May 2010 June 30 2010 Q4
Code open of MeeGo 1.0 Code open of MeeGo 1.1 Core OS complete MeeGo 1.0 OS Netbook UX MeeGo 1.1 Tablet complete and Handset UX MeeGo 1.1 Handset UX, Tablet UX, Netbook UX, In-Car- Infotainment UX complete
35 © 2010 Nokia Join the MeeGo project
Acer, Amino, Asianux, Asus, BMW Group, Collabora, Ltd., CS2C, DeviceVM, EA Mobile, Gameloft, Hancom, Intel, Linpus, Maemo Community Council, Mandriva, Metasys, Miracle, MontaVista Software, Nokia, Novell, Orange, PixArt, Red Flag, ST-Ericsson, Tencent, Telecom Italia, TurboLinux, VietSoftware, Wind River, WTEC, and Xandros.
36 © 2010 Nokia