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 . 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 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