MeeGo sdk overview -MeeGo day april 2011


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Ensure “MeeGo” project is understood People have many ideas of what “SDK” means. Qt is the framework. Object oriented C++. IDE is similar to Visual Studio or Eclipse, though not as mature. Tools are always improving. New today: Qt Simulator and QML Designer Release early and often. Formal releases every 6 months (spring / fall)
  • Linux and Windows supported. Mac in progress Qt Creator with MeeGo toolchain and libraries. Build on your host, run in MeeGo.
  • MeeGo sdk overview -MeeGo day april 2011

    1. 1. MeeGo SDK Overview John, Chen Bob, Spencer April 2011
    2. 2. MeeGo SDK Overview <ul><li>Tools </li></ul><ul><ul><li>Qt / Qt Quick </li></ul></ul><ul><ul><li>Qt Creator IDE </li></ul></ul><ul><ul><li>Qt Designer, Qt Quick Designer </li></ul></ul><ul><ul><li>Qt Simulator </li></ul></ul><ul><ul><li>QEMU virtual machine </li></ul></ul><ul><li>API </li></ul><ul><ul><li>MeeGo API, based on Qt </li></ul></ul><ul><li>Documentation </li></ul><ul><ul><li>Integrated help, web/wiki, tutorials, online community </li></ul></ul>
    3. 3. MeeGo Application Development Cycle Develop Debug Distribute Package Community Repositories <ul><li>Features </li></ul><ul><li>Cross-OS </li></ul><ul><li>Deploy/debug with VM or device </li></ul><ul><li>Device emulation </li></ul><ul><li>Better packaging support </li></ul><ul><li>Integration with Qt Creator </li></ul><ul><li>manual </li></ul><ul><li>RPM Spec Creator </li></ul><ul><li>public OBS </li></ul><ul><li>plugin to Qt Creator </li></ul>Virtual Machine Or “Emulator” (per vertical) <ul><li>plugin to Qt Creator </li></ul>On device QEMU QEMU QEMU Linux or Windows Workstation MeeGo toolchain
    4. 4. MeeGo Developer Story – Alternate approaches Develop Debug Xephyr Linux Workstation MeeGo chroot (GL accelerated) <ul><li>Features </li></ul><ul><li>Change-root flexibility </li></ul><ul><li>Limited to Intel Graphics </li></ul>Distribute Package Community Repositories <ul><li>manual </li></ul><ul><li>RPM Spec Creator </li></ul><ul><li>public OBS </li></ul><ul><li>plugin to Qt Creator </li></ul><ul><li>plugin to Qt Creator </li></ul>MeeGo Workstation Device
    5. 5. Host and Target Platforms <ul><li>Host System OS </li></ul><ul><ul><li>Fedora 12, 13, 14 </li></ul></ul><ul><ul><li>Ubuntu 10.04, 10.10 </li></ul></ul><ul><ul><li>Windows XP SP3, Windows 7 </li></ul></ul><ul><ul><li>TBD: Mac / OS X </li></ul></ul><ul><li>Target Platforms </li></ul><ul><ul><li>x86 Netbook, x86 Handheld (nCDK or Avaa?), n900 </li></ul></ul><ul><ul><ul><li>Includes images for the device and emulation in QEMU </li></ul></ul></ul>
    6. 6. Installation <ul><li>Single SDK file download </li></ul><ul><li>GUI-based (Qt) Installer for all hosts </li></ul><ul><li>Current status: </li></ul><ul><ul><li>Windows: meego-sdk-installer.exe </li></ul></ul><ul><ul><li>Linux: </li></ul></ul><ul><ul><ul><li>Update system repo config </li></ul></ul></ul><ul><ul><ul><li>Install meta-package </li></ul></ul></ul><ul><ul><ul><li>Download vertical build tools and QEMU image(s) </li></ul></ul></ul><ul><ul><ul><li>Configure Qt Creator to use correct tools </li></ul></ul></ul>
    7. 7. Emulation <ul><li>Qt Simulator </li></ul><ul><ul><li>*New with Qt Creator 2.1. Preview available by mid-February </li></ul></ul><ul><ul><li>Ability to run/debug Qt and QML applications </li></ul></ul><ul><ul><li>Device simulation </li></ul></ul><ul><li>QEMU Virtual Machine </li></ul><ul><ul><li>Boot full MeeGo OS on host </li></ul></ul><ul><ul><li>Integrated with Qt Creator. Button to launch QEMU for running/debugging </li></ul></ul><ul><ul><li>Coming: Accelerated graphics (Linux only) </li></ul></ul><ul><li>Flexible skin framework </li></ul><ul><ul><li>Defaults for handset and tablet. Customizable: add skin for your device </li></ul></ul><ul><ul><li>Map skin areas to events (click button sends event to QEMU) </li></ul></ul><ul><ul><li>Rotation </li></ul></ul><ul><ul><li>Zoom in/out skin and QEMU </li></ul></ul>
    8. 8. Virtualized Devices / Sensors <ul><li>Keyboard / Kpad / DPad / Trackball / Platform buttons </li></ul><ul><li>Mouse </li></ul><ul><li>Touchscreen </li></ul><ul><li>Landscape mode and Portrait mode support </li></ul><ul><li>Screen Rotation </li></ul><ul><li>Audio </li></ul><ul><li>Network </li></ul><ul><li>Battery </li></ul><ul><li>Camera </li></ul><ul><li>GPS </li></ul><ul><li>Telephony </li></ul><ul><ul><li>Incoming calls </li></ul></ul><ul><ul><li>Incoming SMS </li></ul></ul><ul><ul><li>Incoming email </li></ul></ul><ul><li>CF/SD/MSP/XD, plug-in/pull-out </li></ul><ul><li>USB connection/eject </li></ul><ul><li>AC Battery Charge (Get Level and State) </li></ul><ul><li>Flexible Resolutions (864*480 for Aava..) </li></ul><ul><li>Accelerometer </li></ul><ul><li>Magnetometer </li></ul><ul><li>Ambient light </li></ul><ul><li>Nand Flash </li></ul><ul><li>Card-in-one Support (CF/SD/MSP/xd…) </li></ul><ul><li>Bluetooth </li></ul><ul><li>Video Capture </li></ul>Currently available Planned to be implemented
    9. 9. Tools <ul><li>Packaging </li></ul><ul><ul><li>“ Package and deploy” for debugging (Simulator, QEMU, or device) </li></ul></ul><ul><ul><li>Package for deploy to a store </li></ul></ul><ul><ul><li>Integrated into Qt Creator </li></ul></ul><ul><ul><li>Documentation guidance </li></ul></ul><ul><ul><li>Example applications </li></ul></ul><ul><li>Compliance </li></ul><ul><ul><li>Application and OS checkers. Documentation. </li></ul></ul><ul><ul><li>Integrated into Qt Creator (future) </li></ul></ul><ul><li>Performance </li></ul><ul><ul><li>Performance measurements: CPU and memory usage </li></ul></ul><ul><ul><li>Integrated into Qt Creator (future) </li></ul></ul>
    10. 10. MeeGo API
    11. 11. MeeGo API <ul><li>Platform API: APIs for all components in the MeeGo core. Documentation derived from respective projects. N o compatibility guarantee. Not productized. Subject to change. </li></ul><ul><li>Extension API: Set of productized interfaces for MeeGo platform. Compatibility e.g. within Minor release, individual API can be marked as deprecated (will be removed in the next major release) </li></ul><ul><li>MeeGo API: Stable, productized, forward compatible set of interfaces. Source code compatibility within Major MeeGo release (the same as Qt). </li></ul>
    12. 12. MeeGo 1.2 API Proposal (not final) <ul><li>MeeGo API </li></ul><ul><li>EGL 1.4 </li></ul><ul><ul><li>Required for Open GL ES </li></ul></ul><ul><li>OpenGL ES 1.1 </li></ul><ul><ul><li>For fixed function hardware, emphasizes image quality, graphics acceleration, and high performance. </li></ul></ul><ul><li>OpenGL ES 2.0 </li></ul><ul><ul><li>Enables full programmable 3D graphics. </li></ul></ul><ul><li>Qt 4.7 </li></ul><ul><ul><li>The core Qt Framework </li></ul></ul><ul><li>Qt Mobility 1.2 </li></ul><ul><ul><li>Backwards compatible with 1.0 version </li></ul></ul><ul><li>Qt WebKit 2.2 </li></ul><ul><ul><li>Delivery separated from Qt Framework </li></ul></ul><ul><li>Qt Components 1.0 * </li></ul><ul><ul><li>First set of common Qt Component API </li></ul></ul><ul><li>* Requires further definition </li></ul><ul><li>Extensions </li></ul><ul><li>Accounts-Qt </li></ul><ul><ul><li>To be replaced by QtM Accounts API from 1.3 onwards </li></ul></ul><ul><li>Signon </li></ul><ul><ul><li>To be replaced by QtM Accounts API from 1.3 onwards </li></ul></ul><ul><li>Telepathy-Qt4 </li></ul><ul><ul><li>To be replaced by QtM Presence, IM & Telephony API from 1.3 onwards </li></ul></ul><ul><li>QmSystem </li></ul><ul><ul><li>To be gradually replaced by QtM System Info API </li></ul></ul><ul><li>QtSparql </li></ul><ul><ul><li>To be pushed to Qt Fw 4.8 </li></ul></ul><ul><li>Resource Policy </li></ul><ul><ul><li>To be replaced by QtM API from 1.4 onwards </li></ul></ul><ul><li>EGLIBC </li></ul><ul><ul><li>Every UNIX operating system needs a standard C library that facilitates the usual system and library calls and provides core services, since these are not integrated to the C language. </li></ul></ul><ul><li>GLib </li></ul><ul><ul><li>GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. </li></ul></ul><ul><li>GStreamer </li></ul><ul><ul><li>GStreamer is a development framework for creating applications like media players, video editors, streaming media broadcasters and so on. </li></ul></ul><ul><li>PulseAudio </li></ul><ul><ul><li>PulseAudio provides features like Per-application volume controls, extensible plugin architecture with support for loadable modules, low-latency operation </li></ul></ul>
    13. 13. Documentation <ul><li>Contents </li></ul><ul><ul><li>Architecture Overview </li></ul></ul><ul><ul><li>MeeGo API </li></ul></ul><ul><ul><li>Getting Started. (Download, configure, Hello World) </li></ul></ul><ul><ul><li>Tutorials for major areas </li></ul></ul><ul><ul><li>Compliance </li></ul></ul><ul><li>Integrated Help in Qt Creator and WRT IDE </li></ul><ul><li>MeeGo Online SDK </li></ul><ul><ul><li>Currently: http:// /developers </li></ul></ul>
    14. 14. SDK Milestone Summary <ul><li>Milestones </li></ul><ul><li>Oct 2010 – M0: MeeGo 1.1 SDK Release </li></ul><ul><li>Nov 2010 – M1: Windows Support </li></ul><ul><li>Feb 2011 – M2: Qt Creator 2.1, Qt Simulator </li></ul><ul><li>Apr 2011 – M3: MeeGo 1.2 SDK Release </li></ul><ul><li>F15, Ubuntu 11.04, Graphics acceleration in Linux </li></ul><ul><li>July 2011 – M4: Mac OSX </li></ul><ul><li>Oct 2011 – M5: MeeGo 1.3 SDK Release </li></ul><ul><li>Updated targets. Updated host OS support. </li></ul>2010 2011 Apr May Jun Mar Jan Dec Nov Oct Feb Oct Nov Dec Sep Jul Aug SDK 1.1 Release M0 Windows M1 Qt Creator 2.1 M2 SDK 1.2 Release M3 Mac OSX M4 SDK 1.3 Release M5