Leveraging Qt in the Meego Ecosystem
Total Page:16
File Type:pdf, Size:1020Kb
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 MeeGoOS 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 Legal, Documentation, (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