SlideShare a Scribd company logo
1 of 57
Qt for maemo
Qt for maemo
     Getting in the fast-lane
- why and how

                           Pekka Kosonen
                           Head of Technology Development
                                                Pekka Kosonen
                          Forum Nokia
                        Head of Technology Development, Nokia
                          25.9.2009 http://qt.nokia.com Munich
                          13.10.2009 Qt developer days -
What’s on the menu today?
 For appetizers - motivation
      Why Qt and why maemo? What can we offer for you?

 Main course will be served in 10 minutes
           1. What is maemo about

           2. What’s the maemo development story

           3. How to do Qt apps for maemo

           4. Pop the hood and get our hands dirty

 For dessert
     5. Swing both ways (Qt and Web)? -> Go hybrid!

Coffee and cognac later on…
                              Slides will be available in http://www.slideshare.net/pkosonen
Qt, maemo, Ovi store, Forum Nokia…


Slides will be available in http://www.slideshare.net/pkosonen
Maemo - Why should I care?
• Coming from desktop?
    • The importance of mobile clients is widely recognized already – not gonna sell it here…
    • With Qt and Mobility APIs you can easily extend your application to cover smartphone
      features and utilize f.ex location, contacts, messaging etc.
• With maemo and Symbian you can reach more than 100 million devices with your Qt
  application – already with Qt 4.6!
    • Maemo is and will be very important for Nokia
     – get a head start to maemo which we believe will be one of the most interesting platforms!
• With Ovi store you have a ready channel to sell your application to hundreds of
  millions of users
The importance of the
developer to Nokia

                 Nokia’s success with it’s
                 devices and services
                 strategy comes from
                 3rd party innovation!
It’s will be web and Qt for Nokia
Cross-platform evolution expands opportunities

    Next                       Desktop                       Series 40*               Symbian                  Maemo
                                              Enables rich service
                                            creation on supported
                                                Web
            Web                           platforms using standard                        Web Runtime
                                               Web technology

            Flash                     Flash                     Flash Lite                             Flash

             Java                   Java SE                                  Java ME

                            Enables fast application and UI
                              development across mobile
        Native                         Web
                                and desktop platforms                                       Qt


                                  Web Runtime and Qt close the gap between
                                     mobile and desktop development
                                                             * selected Series 40 devices
7   © 2008 Nokia   V1-Filename.ppt / YYYY-MM-DD / Initials     Web Runtime and Qt have only limited use on Series 40
Our Developer Offering:
    Elegantly connected services
     Services Level



        Apps Level


          Platform    Nokia platforms   Desktop OSs
              Level

8
Qt Development Chain - maemo & Symbian


 Distribution                        Ovi Store


 Certification   Symbian signed                   None - atleast yet…




     IDEs        •Qt Creator                      •Qt Creator

                 •Carbide
Common
offering
                    •Mobility APIS               •Mobility APIs
      SDKs
                   Qt for Symbian                Qt for maemo
       &           platform                      platform
    Plugins         Symbian SDKs                 Maemo SDKs


                    Symbian                           Maemo
Nokia supports the entire development
ecosystem


                                                             OPERATORS
       Nokia devices          Ovi Store                      Sell devices to
       deliver essential      connects                        consumers
       solutions to the    developers with
          consumer           consumers       Successful
                                              Successful
                                             ecosystem
                                              ecosystem
                                             benefits all
                                              benefits all
        Cross-platform      Ovi API adds       parties
                                                parties
        environments         people and
       reduce costs and    places features                   CONSUMERS
            speed           to your apps,
          innovation            easily                        Buy devices
                                                             and download
                                                              or purchase
                                                              applications
Forum Nokia is the Nokia Developer Community


                                                Business
                                              Opportunities
 Forum Nokia
 accelerates the
 development and
 delivery of great                3rd Party
 3rd party
                                  Software
 applications and
                                 Developers
 services on Nokia
 devices
               Technical                                  Global
                Support                                 Community
Recognized Developer Programs
                                                                   http://www.youtube.com/watch?v=S4iz-qTsPz4




       “Nokia is the benchmark for all
       developer programs in nearly
       every category, is unsurpassed in
       content and traffic, and has the
       strongest collection of training
       options, including in-person
       courses.”
                            - Evans Data Corporation


                                                                  2009 Q2
                                                                  Nokia’s market share
                                                                  continued to grow
                                                                  from 42 to 45%! *


                               http://www.forum.nokia.com/maemo
* Source: SA, Canalys, August 2009
maemo.org – the
                  21.000 registered users
community for
                  900 hosted projects
innovation on
Maemo.
                                 October 2009
Start today : you can soon get
your Qt app running on more
              than
+ 130 000 000 smartphones!

in addition to all major desktop OSs
Let us sell your app through Ovi store to
     hundreds of millions of users!
Nokia + Ovi Developer Story | 16




One Store | Distribute to masses
Ovi Store offers unparalleled reach for distribution and sales to over 200
million Nokia device owners (end 2009) around the globe.


          Global distribution to                                                                                             S40, S60 on
              over 200 million                                                                                               Symbian, Maemo
                       handsets


         70% / 30% revenue
                     share*                                                                                                      Promotion of key
                                                                                                                                 apps in
                                                                                                                                 packaging,
         Credit card and                                                                                                         advertising and
        opertator billing                                                                                                        POS

* 70% of Gross sales, net of refunds and returns, less applicable taxes and, where applicable, fixed operator billing cost
N900 apps for Ovi
Appetizers are over - Motivated? Time for the main course




            - Walking through powerpoint marshmallow!
From geek(ish) gizmos to mainstream devices
  • Maemo is an open-source development platform for Internet Tablets and maemo mobile
    computers (f.ex N900)
      • 90% of source code is open-source
      • Maemo 5 contains GSM and 3G functionality (i.e standard smartphone)




  • In maemo 5 GTK is still supported as development framework – not officially supported
    in maemo 6 anymore

  • We’re bringing in Qt for maemo and encourage all developers to use Qt as the long
    term solution
       • http://qt.nokia.com/developer/qt-for-maemo-developers
Maemo 5
• Linux based operating system for N900
• Optimized for pocket sized devices
  and finger use
                                                                          N900
• Panorama desktop
• Multitasking with dashboard                 TI OMAP 3 processor, ARM Cortex-A8 600 MHz

                                              HSPA/3G support – online anywhere 3G connectivity
• New UI style
                                              High definition camera support (integrated Image Signal
• Animated UI                                 Processor) 5 megapixel camera (2584 × 1938 pixels)


• Compositing window manager                  HW acceleration for OpenGL ES 2.0


• Accelerated graphics with OpenGL-ES2        3.5 inch touch-screen 800 × 480 pixel resolution


                                              High-speed USB 2.0


                                              Integrated GPS with A-GPS


                                              WLAN IEEE 802.11b/g
                                              32 GB internal storage




  http://flors.wordpress.com/2009/10/06/maemo-5-final-sdk-released-go-extras/
                   http://www.forum.nokia.com/devices/N900
Hildon UI – simple and customizable
                                          Status bar
                                          indicating
                                          device state




                                                      Consistent
                                                      controls
                                                      across
                                                      applications
Taskbar to
navigate
applications


                                 Widgets and RSS feeds for
                                  up-to-date information
Maemo software architecture today
                                     Maemo UI and applications

       Hildon UI
                                                                            Maemo
     Framework                                     Qt                                             Maemo SDK
                                                                           Launcher
        GNOME/GTK+
   Application Framework

  gStreamer           GNOME            GNOME               GNOME               E-D-S                  Telepathy
 Multimedia           VFS File      Structured          Configuration       Calendar/              Communication
 Framework            Access        File Library        Management           Contacts                Framework


          System services such as D-Bus, DSM, MCE, BME, and SQLite DB

                                   Debian Package Management                                                               Mostly binary code
                                                                                                                           for Nokia devices


         System Libraries incl. GNU C, STD C++, OpenSSL, curl HTTP, etc                                                     Maemo platform:
                                                                                                                           Mostly open source
                                                                                                                           except connectivity,
                                                                                                                                  power
                                  ARM/OMAP-based Linux kernel                                                               management and
                                                                                                                            licensed software
Note: This is only a simplified illustration and not all components are shown. Components in the upper layers of the
software stack may interface also with components in the lower stacks even if there is no direct connection visible here
between those.
Development resources for Maemo
Maemo SDK:
      • The Maemo SDK creates a sandboxed development environment on a GNU/Linux desktop
        system largely built on the Scratchbox cross-compilation toolkit.
      • Maemo 5 final SDK announced 6th of October:
           http://flors.wordpress.com/2009/10/06/maemo-5-final-sdk-released-go-extras/

Qt:
      • The cross-platform application framework
      • http://qt.nokia.com
      • There will be official Qt support for Maemo 5 (Fremantle)
Maemo.org:
      • Maemo.org website has a lot of different repositories that are meant to be used with
        standard Debian package installation tools.
      • Documentation include tutorials, API references, manuals and several other guides.
Maemo online training:
      • Maemo training courses provide an efficient overview of the tools and methodologies
        needed when developing applications and platform services.
Forum Nokia:
      • Consulting and technical service for application development on Maemo.
      • http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide
Get the weapons ready!
Qt for X11/Linux

• Input events received from X11                                 Qt/X11
• Painting handled by X11
• Qt event loop on the top of GLib                             Application
  event loop                           Graphics
                                      Operations                   Qt
    • Events mapped to Qt events
• Nothing to do with Hildon
                                                                 Qt/X11

                                                               Xlib
                                                         In-Process Client

                                                          Protected Mode
                                                             Xserver
                                                               Server
                                               Device
                                                Input             Linux
                                                               Driver Layer




      http://qt.nokia.com/products/platform/qt-for-linux-x11
Qt Integration to maemo
  Hildon Application Framework

       UI FW              Games                   Hildon App         Hildon Home          Hildon Input Method
     libraries            Wrapper                     Mgr                                          FW

     Clutter              Matchbox                 Tracker               Hildon           Hildon Control Panel
                                                                        Desktop



Multimedia subsystem                        Connectivity subsystem          Real-time communications
                                                                            subsystem       Glib Telepathy
  PulseAudio          libcanberra                 BlueZ                                    Connection Manager
                                                                             Farsight2        AddressBook API
   GUPnP         Speex audio codec                GW OBEX

                                                                                libnice         Accounts API

                                         Mobility APIs
 GStreamer       Bellagio OpenMAC IL               WLAN
                                                                                              Event Logger API
 Media App FW        FM Transmitter            Wireless tools


 System SW subsystem                Battery query interface API

                                       Vibra service API API
               HAL
                                      Device orientation API

  Core subsystem
                                       X Window              Linux kernel            Open GL ES drivers
Styles are more than just decorations

• Improved finger usability and screen real estate usage
• Lists and window panes scrollable with finger
  from window pane
• New dialog layout, no cancel button,
  cancel action by clicking outside
  of dialog
Hildon menus

• Hildon menus are very different from the desktop menu structure
     • finger optimized HildonAppMenu
• Menus handled different way than in desktop X11
     • menu bar is a property of window manager
• No API changes to achieve this – it’s just Qt
Plus Qt Mobility APIs for Mobile Development

• First release planned Q4/2009
   • Supporting Symbian
   • Maemo support under investigation

• Planned content
   • Service Framework
   • Contacts API
   • Location API
   • System Information API
   • Messaging API
   • Bearer Management
   • Context Framework




http://labs.trolltech.com/page/Projects/QtMobility
Peek into the torture chamber…
The building blocks

• Setup your development environment
    • Install Maemo SDK from maemo.org
    • Maemo SDK is based on scratchbox pseudo virtual environment that emulates maemo
      device under x86 desktop Linux
    • Maemo SDK can be installed as VMWare virtual machine under Macintosh OSX or Windows
    • Update Qt once new versions available
        •   Stay tuned http://qt.nokia.com/developer/qt-for-maemo-developers


• Set up your maemo device
    • Install/Update Qt libraries
    • Set up connection with your computer
Development environment - the big picture
 Virtual machine


           Linux


                   Scratchbox

                            Maemo SDK      Targets
                                                 Armel
                                  Qt
                                                     X86
                                Hildon




                         Xephyr X Server
Environment for Windows machine

• Vmware www.vmware.com
• Maemo vmware image from http://maemovmware.garage.maemo.org (readme)
    • Contains Fremantle and Diablo SDK environments
• Qt libraries for Fremantle
    • Setup the repositories and use apt-get to retrieve and install (same for device)
        • http://qt.nokia.com/developer/qt-for-maemo-developers
        • Instructions also in http://wiki.maemo.org/Qt#Fremantle
        • Remember http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide


Do not get confused:


                   You’re running a virtualized Linux PC inside a Windows operating
                      system and inside the virtualized Linux you’re running Scratchbox
                      which has maemo SDK that contains Qt – Keep it simple…
What is Scratchbox

• Maemo development happens inside Scratchbox
   • Scratchbox provides a sandboxed cross-compilation development environment
   • maemo SDK is installed inside Scratchbox


• Maemo SDK provides two targets for Scratchbox:
   • X86 used for active development
   • ARMEL for cross-compilation


• maemo SDK also provides closed Nokia binaries separately
   • For SDK : contains some apps and f.ex opengl binaries


• Qt development for maemo also requires scratchbox
   • Well you can develop the Qt app anywhere but need scratchbox to compile…
Using Scratchbox

• From the terminal : Start scratchbox by typing the command

              scratchbox



• Configure targets

             sb-menu



• Switch between targets

             sb-conf select FREMANTLE_X86 (FREMANTLE_ARMEL)



• Otherwise work in a similar way like outside SB


• Single source concept : Single source – multiple targets
XServer
• X server allows applications to create windows to which they can draw on the screen
    • Applications are X server clients
    • X server also provides key press and pointer events to applications
• Maemo applications require a pseudo X server to be installed

• Xephyr X server is typically used with Maemo SDK
    • Kdrive-based X server capable of emulating 16-bit color depth for clients


• Start your engines : go outside Scratchbox and use the spell

         Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb &


• In Scratchbox, direct the display to window 2 by typing

         export DISPLAY=:2



• In case you need to install Xephyr :

         apt-get install xserver-xephyr
Hildon Application Framework Start

• Launch the application framework

          [sbox-FREMANTLE_X86: ~/Hw]: af-sb-init.sh start


• Or run standalone shell (themes, fonts will work)

          [sbox-FREMANTLE_X86: ~/Hw]: run-standalone.sh ./helloworld
Enabling extras repository on development machine

• To install/update libraries you need to have the correct repository enabled
• Modify one text file in scratchbox called sources.list.d – add the following

                 # Maemo extras and extras-devel
                 deb http://repository.maemo.org/extras/ fremantle free non-free
                 deb-src http://repository.maemo.org/extras/ fremantle free
                 deb http://repository.maemo.org/extras-devel/ fremantle free non-free
                 deb-src http://repository.maemo.org/extras-devel/ fremantle free




• This needs to be done from terminal
   • Can’t use file explorer – ”virtual files”


     http://qt.nokia.com/developer/
       qt-for-maemo-developers
Enabling extras repository for the devices

• The Qt for Maemo 5 public repository is located at
  http://qt.gitorious.org/qt/qt-x11-maemo
    • Once Qt is in extras - easiest way to enable extras and
      extras-devel repository is to browse to
      http://wiki.maemo.org/Extras and click a link
• Installing Qt :
             apt-get update //gets new packages
             apt-get install libqt4-gui //installs those

• In some cases you need super user rights
  http://wiki.maemo.org/Root_access
• One way to update the device is to check updates from
  application manager - will update Qt libraries when           Not sure of what versions
  new versions are available                                    of libraries you have:

    • Or by installing a Qt app that declares a dependency to            //terminal:
      the libraries – app manager fetches the needed                     dpkg –s [lib name]
Go nuts and mix Qt with Maemo APIs


• As Qt is not a runtime you can always use native apps to fill the gaps
    • Needed especially since mobility APIs are not there yet…


• For guidance see the maemo for mobile document in
  http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide
    • LibLocation
    • LibCityinfo
    • MCEDev
    • ICD2
Create a debian package and install it to the device




It ain’t black magic after all!
Installing the application on the device


• For real world distribution debian package is needed (in real life for end users):
    • Debian package = application installer package like SIS files in Symbian world
    • Repositories – maemo.org
    • Ovi store


• In development phase – for us geeks only
    • Transfer the application binaries (or even the full debian package) to a device
        • Ssh
        • USB
        • (or why not from some repository..)
Packaging Qt app for maemo

• Maemo uses debian packaging
    • http://en.wikipedia.org/wiki/Deb_(file_format)
    • http://en.wikipedia.org/wiki/Debian
    • Anatomy of a debian package : http://video.google.com/videoplay?docid=-
      6726522426109060914#


• To get an applications installed to a maemo device and icon visible in the desktop
  you need a debian package
    1. Handcraft it in “5 minutes“
        • http://wiki.forum.nokia.com/index.php/Creating_Debian_packages_for_Maemo_Qt_application
          s_and_showing_in_the_application_menu
    2. Or use dh_make to make the package sceleton
        • http://wiki.maemo.org/Packaging_a_Qt_application
    3. Or use ESBOX IDE [sorry; no time today to check that one today]
        • http://esbox.garage.maemo.org/index.html
• Later on we will have the support in Qt Creator
I got it done... So can you!
  Debian package
             Handcraft it in “5 minutes“
  http://wiki.forum.nokia.com/index.php/Creating
  _Debian_packages_for_Maemo_Qt_applications_a
        nd_showing_in_the_application_menu

  Debian package
                   DEBIAN
                      - control file

                   USR
                     Bin
                        - the app (ARMEL)
                      LIB

                      share
                        applicationshildon
                          - desktop file
                        pixmaps
                          - the icon




             dpkg-deb -b collidingMiceApplication
Installing the package

• Once the debian package is manually transfered to device you need to install it



               sudo gainroot
               dpkg -i package.deb




• After this if you have the desktop file and icon functioning you will see the app in
  application menu (go to ’more…’, you’ll see it next to X terminal) icon




       Me did it!
Making it easy for you

• All you (will) need is Qt creator – no SDKs ;)
    • No need to even specify debian package




• Once integrated with Remote Device Access you won’t even need a device!
    • http://www.forum.nokia.com/rda
    • No promises here about anything though…


• Would you like us to make this tool available for you?
Time to laugh at Nokia engineers while they
          embarrass themselves…
•Big hand for Sami                ”the wizard” Viitanen

   • the floor is yours - and soon the the roof, the roof, the roof is on fire ;)
Did you like the meal? Let’s have something sweet to end with...




                Choose hybrid and get the best of both
                               worlds
Interact with Web Services

• QtWebKit allows
   • Intuitive use of network resources
   • Exposing QWidget to HTML and QObject to JavaScript
   • Calling JavaScript from Qt and vice versa




                      JS


                      Qt


                  OS specific
                     APIs




• Based on the Open Source WebKit engine
Hybrid - combining the best of both worlds

So you can run JS and HTML inside Qt application…



     WRT Widget                                     Qt application
       Webkit                                         QWebView running webkit
          Widgets HTML,
              CSS,                                        Same HTML, CSS,
           JavaScript                                       JavaScript



                     Platform
                     Services




     Native APIs
                        Platform
                        Services
                     implementation            Accessing Native APIs through JS
Hybrid apps - meaning for maemo

• With no WRT in maemo (yet) hybrid apps are one way for a
  web developer to utilize existing skills to make apps for
  maemo


• Take existing widgets to maemo as Qt hybrid apps


• Check out”Nokia, Qt and the Internet” - today 17:15 in Qt labs,
  Jukka Blomberg (MU), Oren Levine (SF)


• Stay tuned – more news in Symbian expo (Tuesday 27th Oct)
    • 14:00 - 14:30 Next Generation Hybrid Applications – Utilizing
      your Web Development Skills with Qt based Solutions
      Mr Pekka Kosonen, Head of Technology Development, Forum
      Nokia
i.e what the heck was the dude talking about?
Nokia + Ovi Developer Story | 61




Nokia native dev offering, redefined

1=           Nokia cross-platform SDKs that you’ll love – with a
               money back guarantee (as it’s free)



2=           Ovi APIs. Amazing features in your apps –
                take the Ovi social network to be a part of
                your solution


3=           Ovi Store. Sell your app to hundreds of millions
Qt for maemo
• Maemo is and will be very important platform for Nokia

• Qt 4.6 will be officially supported on maemo 5
• Maemo 6 is built on Qt

• With Qt and mobility APIs you can make true mobile
  applications that work accross different platforms

• Develop now!
    • How to get information when official releases are coming
• Distribute when Qt 4.6 for maemo is ready - Q1 2010!




                            http://qt.nokia.com/maemo




Slides will be available in http://www.slideshare.net/pkosonen
Forum Nokia in Qt dev days

• Tech geeks:
    •   Pekka Kosonen
    •   Sami Viitanen
    •   Eero Bragge
    •   Tapio Tolvanen (maemo)
    •   Seppo Pakarinen


• Business development and marketing
    •   Anthony Fabbricino
    •   Jarkko Tolvi
    •   Janaina Pilomia
    •   Sami Pippuri


• FN hang around place is in the lobby – 2nd floor, left from the stairs – come chat with us

• Stay tuned for these presentations in Qt labs:
    • Nokia, Qt and the Internet (Jukka Blomberg (MU), Oren Levine (SF)) – today 17:15
    • The Mobility Project (Alex Luddy) - tomorrow 9:00
    • Hands On with Qt for Symbian: Demo Session Tino Pyssysalo, Digia – tomorrow 10:15


Slides will be available in http://www.slideshare.net/pkosonen
http://maemo.org/                  http://qt.nokia.com/


                Thank you very ma
                                 ny!
                              Questions?
               pekka.kosonen@n
                              okia.com


64   Slides will be available in http://www.slideshare.net/pkosonen

More Related Content

What's hot

2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developersTUESDAY Business Network
 
Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Nokia
 
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.DALEZ
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Michael Kozloff
 
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...account inactive
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Andreas Jakl
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The PhoneMarko Gargenta
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering UpdateJanaina Pilomia
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible applicationAEGIS-ACCESSIBLE Projects
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Hamish Willee
Hamish WilleeHamish Willee
Hamish Willeefndc
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
The Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open SourceThe Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open Sourcegenivialliance
 
Droid con 2012 bangalore v2.0
Droid con 2012   bangalore v2.0Droid con 2012   bangalore v2.0
Droid con 2012 bangalore v2.0Premchander Rao
 
S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008petrosoininen
 

What's hot (20)

2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers
 
Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009
 
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
 
Lync to the Future: Skype, Mobile, Meetings & Video
Lync to the Future: Skype, Mobile, Meetings & VideoLync to the Future: Skype, Mobile, Meetings & Video
Lync to the Future: Skype, Mobile, Meetings & Video
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering Update
 
Maxime Thomas - eZBK
Maxime Thomas - eZBKMaxime Thomas - eZBK
Maxime Thomas - eZBK
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible application
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Hamish Willee
Hamish WilleeHamish Willee
Hamish Willee
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
The Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open SourceThe Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open Source
 
Droid con 2012 bangalore v2.0
Droid con 2012   bangalore v2.0Droid con 2012   bangalore v2.0
Droid con 2012 bangalore v2.0
 
S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foo
 

Viewers also liked

INTERPLANETARY INTERNET
INTERPLANETARY INTERNET INTERPLANETARY INTERNET
INTERPLANETARY INTERNET VQ
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsDavidlohr Bueso
 
interplanetary internet
interplanetary internetinterplanetary internet
interplanetary internetgajiparadixita
 
Stuxnet - Case Study
Stuxnet  - Case StudyStuxnet  - Case Study
Stuxnet - Case StudyAmr Thabet
 
Sky x technology
Sky x technologySky x technology
Sky x technologykedar1993
 
Sensing as-a-Service - The New Internet of Things (IOT) Business Model
Sensing as-a-Service - The New Internet of Things (IOT) Business ModelSensing as-a-Service - The New Internet of Things (IOT) Business Model
Sensing as-a-Service - The New Internet of Things (IOT) Business ModelDr. Mazlan Abbas
 
Autonomic Computing (Basics) Presentation
Autonomic Computing (Basics) PresentationAutonomic Computing (Basics) Presentation
Autonomic Computing (Basics) PresentationJaspreet Singh
 
Sky x technology
Sky x technologySky x technology
Sky x technologymaulik610
 
Latest Seminar Topics for Engineering,MCA,MSc Students
Latest Seminar Topics for Engineering,MCA,MSc StudentsLatest Seminar Topics for Engineering,MCA,MSc Students
Latest Seminar Topics for Engineering,MCA,MSc StudentsArun Kumar
 

Viewers also liked (20)

Internet of Sensing Things (IoST)
Internet of Sensing Things (IoST)Internet of Sensing Things (IoST)
Internet of Sensing Things (IoST)
 
Introduction to Serial RapidIO® (SRIO) by IDT
Introduction to Serial RapidIO® (SRIO) by IDTIntroduction to Serial RapidIO® (SRIO) by IDT
Introduction to Serial RapidIO® (SRIO) by IDT
 
INTERPLANETARY INTERNET
INTERPLANETARY INTERNET INTERPLANETARY INTERNET
INTERPLANETARY INTERNET
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core Systems
 
interplanetary internet
interplanetary internetinterplanetary internet
interplanetary internet
 
Stuxnet - Case Study
Stuxnet  - Case StudyStuxnet  - Case Study
Stuxnet - Case Study
 
AutonomicComputing
AutonomicComputingAutonomicComputing
AutonomicComputing
 
Sky x technology
Sky x technologySky x technology
Sky x technology
 
Sensing as-a-Service - The New Internet of Things (IOT) Business Model
Sensing as-a-Service - The New Internet of Things (IOT) Business ModelSensing as-a-Service - The New Internet of Things (IOT) Business Model
Sensing as-a-Service - The New Internet of Things (IOT) Business Model
 
Sky x technology
Sky x technologySky x technology
Sky x technology
 
Bio battery
Bio batteryBio battery
Bio battery
 
Autonomic Computing (Basics) Presentation
Autonomic Computing (Basics) PresentationAutonomic Computing (Basics) Presentation
Autonomic Computing (Basics) Presentation
 
Sky x technology
Sky x technologySky x technology
Sky x technology
 
Sky x technology
Sky x technologySky x technology
Sky x technology
 
Bio battery
Bio batteryBio battery
Bio battery
 
Plasmonics
PlasmonicsPlasmonics
Plasmonics
 
bio battery ppt
bio battery pptbio battery ppt
bio battery ppt
 
SKY X TECHNOLOGY
SKY X TECHNOLOGYSKY X TECHNOLOGY
SKY X TECHNOLOGY
 
Latest Seminar Topics for Engineering,MCA,MSc Students
Latest Seminar Topics for Engineering,MCA,MSc StudentsLatest Seminar Topics for Engineering,MCA,MSc Students
Latest Seminar Topics for Engineering,MCA,MSc Students
 
Rain technology
Rain technologyRain technology
Rain technology
 

Similar to Qt For Maemo - getting to the fast-lane (v2)

Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Luca Cioletti
 
Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foofndc
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009servicesmobiles.fr
 
Gary Chan
Gary ChanGary Chan
Gary Chanfndc
 
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobileConventionAmsterdam
 
Purnima Kochikar
Purnima KochikarPurnima Kochikar
Purnima Kochikarfndc
 
Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Luca Cioletti
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with QtEspen Riskedal
 
Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11MobileMonday Estonia
 
Nokia Walk, creating a mobile platform for location-based services
Nokia Walk, creating a mobile platform for location-based servicesNokia Walk, creating a mobile platform for location-based services
Nokia Walk, creating a mobile platform for location-based servicesTraveline
 
Symbian Daniel Rocha Mobile Expert
Symbian Daniel Rocha   Mobile ExpertSymbian Daniel Rocha   Mobile Expert
Symbian Daniel Rocha Mobile ExpertMobile Expert
 
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...OpenCoffee Bratislava Ataxo/H1
 

Similar to Qt For Maemo - getting to the fast-lane (v2) (20)

Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1
 
Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foo
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009
 
Gary Chan
Gary ChanGary Chan
Gary Chan
 
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
 
Purnima Kochikar
Purnima KochikarPurnima Kochikar
Purnima Kochikar
 
Nokia Developer Offering 2011
Nokia Developer Offering 2011Nokia Developer Offering 2011
Nokia Developer Offering 2011
 
Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Ovi And Social Location
Ovi And Social LocationOvi And Social Location
Ovi And Social Location
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with Qt
 
Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11
 
Intro to forum_nokia_sofia_13042010
Intro to forum_nokia_sofia_13042010Intro to forum_nokia_sofia_13042010
Intro to forum_nokia_sofia_13042010
 
Nokia Walk, creating a mobile platform for location-based services
Nokia Walk, creating a mobile platform for location-based servicesNokia Walk, creating a mobile platform for location-based services
Nokia Walk, creating a mobile platform for location-based services
 
Symbian Daniel Rocha Mobile Expert
Symbian Daniel Rocha   Mobile ExpertSymbian Daniel Rocha   Mobile Expert
Symbian Daniel Rocha Mobile Expert
 
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...
Qt for developers alebo súčasnosť a budúcnosť vývoja aplikácií pre telefóny N...
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Qt For Maemo - getting to the fast-lane (v2)

  • 1. Qt for maemo Qt for maemo Getting in the fast-lane - why and how Pekka Kosonen Head of Technology Development Pekka Kosonen Forum Nokia Head of Technology Development, Nokia 25.9.2009 http://qt.nokia.com Munich 13.10.2009 Qt developer days -
  • 2. What’s on the menu today? For appetizers - motivation Why Qt and why maemo? What can we offer for you? Main course will be served in 10 minutes 1. What is maemo about 2. What’s the maemo development story 3. How to do Qt apps for maemo 4. Pop the hood and get our hands dirty For dessert 5. Swing both ways (Qt and Web)? -> Go hybrid! Coffee and cognac later on… Slides will be available in http://www.slideshare.net/pkosonen
  • 3. Qt, maemo, Ovi store, Forum Nokia… Slides will be available in http://www.slideshare.net/pkosonen
  • 4. Maemo - Why should I care? • Coming from desktop? • The importance of mobile clients is widely recognized already – not gonna sell it here… • With Qt and Mobility APIs you can easily extend your application to cover smartphone features and utilize f.ex location, contacts, messaging etc. • With maemo and Symbian you can reach more than 100 million devices with your Qt application – already with Qt 4.6! • Maemo is and will be very important for Nokia – get a head start to maemo which we believe will be one of the most interesting platforms! • With Ovi store you have a ready channel to sell your application to hundreds of millions of users
  • 5. The importance of the developer to Nokia Nokia’s success with it’s devices and services strategy comes from 3rd party innovation!
  • 6. It’s will be web and Qt for Nokia
  • 7. Cross-platform evolution expands opportunities Next Desktop Series 40* Symbian Maemo Enables rich service creation on supported Web Web platforms using standard Web Runtime Web technology Flash Flash Flash Lite Flash Java Java SE Java ME Enables fast application and UI development across mobile Native Web and desktop platforms Qt Web Runtime and Qt close the gap between mobile and desktop development * selected Series 40 devices 7 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials Web Runtime and Qt have only limited use on Series 40
  • 8. Our Developer Offering: Elegantly connected services Services Level Apps Level Platform Nokia platforms Desktop OSs Level 8
  • 9. Qt Development Chain - maemo & Symbian Distribution Ovi Store Certification Symbian signed None - atleast yet… IDEs •Qt Creator •Qt Creator •Carbide Common offering •Mobility APIS •Mobility APIs SDKs Qt for Symbian Qt for maemo & platform platform Plugins Symbian SDKs Maemo SDKs Symbian Maemo
  • 10. Nokia supports the entire development ecosystem OPERATORS Nokia devices Ovi Store Sell devices to deliver essential connects consumers solutions to the developers with consumer consumers Successful Successful ecosystem ecosystem benefits all benefits all Cross-platform Ovi API adds parties parties environments people and reduce costs and places features CONSUMERS speed to your apps, innovation easily Buy devices and download or purchase applications
  • 11. Forum Nokia is the Nokia Developer Community Business Opportunities Forum Nokia accelerates the development and delivery of great 3rd Party 3rd party Software applications and Developers services on Nokia devices Technical Global Support Community
  • 12. Recognized Developer Programs http://www.youtube.com/watch?v=S4iz-qTsPz4 “Nokia is the benchmark for all developer programs in nearly every category, is unsurpassed in content and traffic, and has the strongest collection of training options, including in-person courses.” - Evans Data Corporation 2009 Q2 Nokia’s market share continued to grow from 42 to 45%! * http://www.forum.nokia.com/maemo * Source: SA, Canalys, August 2009
  • 13. maemo.org – the 21.000 registered users community for 900 hosted projects innovation on Maemo. October 2009
  • 14. Start today : you can soon get your Qt app running on more than + 130 000 000 smartphones! in addition to all major desktop OSs
  • 15. Let us sell your app through Ovi store to hundreds of millions of users!
  • 16. Nokia + Ovi Developer Story | 16 One Store | Distribute to masses Ovi Store offers unparalleled reach for distribution and sales to over 200 million Nokia device owners (end 2009) around the globe. Global distribution to S40, S60 on over 200 million Symbian, Maemo handsets 70% / 30% revenue share* Promotion of key apps in packaging, Credit card and advertising and opertator billing POS * 70% of Gross sales, net of refunds and returns, less applicable taxes and, where applicable, fixed operator billing cost
  • 18. Appetizers are over - Motivated? Time for the main course - Walking through powerpoint marshmallow!
  • 19. From geek(ish) gizmos to mainstream devices • Maemo is an open-source development platform for Internet Tablets and maemo mobile computers (f.ex N900) • 90% of source code is open-source • Maemo 5 contains GSM and 3G functionality (i.e standard smartphone) • In maemo 5 GTK is still supported as development framework – not officially supported in maemo 6 anymore • We’re bringing in Qt for maemo and encourage all developers to use Qt as the long term solution • http://qt.nokia.com/developer/qt-for-maemo-developers
  • 20. Maemo 5 • Linux based operating system for N900 • Optimized for pocket sized devices and finger use N900 • Panorama desktop • Multitasking with dashboard TI OMAP 3 processor, ARM Cortex-A8 600 MHz HSPA/3G support – online anywhere 3G connectivity • New UI style High definition camera support (integrated Image Signal • Animated UI Processor) 5 megapixel camera (2584 × 1938 pixels) • Compositing window manager HW acceleration for OpenGL ES 2.0 • Accelerated graphics with OpenGL-ES2 3.5 inch touch-screen 800 × 480 pixel resolution High-speed USB 2.0 Integrated GPS with A-GPS WLAN IEEE 802.11b/g 32 GB internal storage http://flors.wordpress.com/2009/10/06/maemo-5-final-sdk-released-go-extras/ http://www.forum.nokia.com/devices/N900
  • 21. Hildon UI – simple and customizable Status bar indicating device state Consistent controls across applications Taskbar to navigate applications Widgets and RSS feeds for up-to-date information
  • 22. Maemo software architecture today Maemo UI and applications Hildon UI Maemo Framework Qt Maemo SDK Launcher GNOME/GTK+ Application Framework gStreamer GNOME GNOME GNOME E-D-S Telepathy Multimedia VFS File Structured Configuration Calendar/ Communication Framework Access File Library Management Contacts Framework System services such as D-Bus, DSM, MCE, BME, and SQLite DB Debian Package Management Mostly binary code for Nokia devices System Libraries incl. GNU C, STD C++, OpenSSL, curl HTTP, etc Maemo platform: Mostly open source except connectivity, power ARM/OMAP-based Linux kernel management and licensed software Note: This is only a simplified illustration and not all components are shown. Components in the upper layers of the software stack may interface also with components in the lower stacks even if there is no direct connection visible here between those.
  • 23. Development resources for Maemo Maemo SDK: • The Maemo SDK creates a sandboxed development environment on a GNU/Linux desktop system largely built on the Scratchbox cross-compilation toolkit. • Maemo 5 final SDK announced 6th of October: http://flors.wordpress.com/2009/10/06/maemo-5-final-sdk-released-go-extras/ Qt: • The cross-platform application framework • http://qt.nokia.com • There will be official Qt support for Maemo 5 (Fremantle) Maemo.org: • Maemo.org website has a lot of different repositories that are meant to be used with standard Debian package installation tools. • Documentation include tutorials, API references, manuals and several other guides. Maemo online training: • Maemo training courses provide an efficient overview of the tools and methodologies needed when developing applications and platform services. Forum Nokia: • Consulting and technical service for application development on Maemo. • http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide
  • 24. Get the weapons ready!
  • 25. Qt for X11/Linux • Input events received from X11 Qt/X11 • Painting handled by X11 • Qt event loop on the top of GLib Application event loop Graphics Operations Qt • Events mapped to Qt events • Nothing to do with Hildon Qt/X11 Xlib In-Process Client Protected Mode Xserver Server Device Input Linux Driver Layer http://qt.nokia.com/products/platform/qt-for-linux-x11
  • 26. Qt Integration to maemo Hildon Application Framework UI FW Games Hildon App Hildon Home Hildon Input Method libraries Wrapper Mgr FW Clutter Matchbox Tracker Hildon Hildon Control Panel Desktop Multimedia subsystem Connectivity subsystem Real-time communications subsystem Glib Telepathy PulseAudio libcanberra BlueZ Connection Manager Farsight2 AddressBook API GUPnP Speex audio codec GW OBEX libnice Accounts API Mobility APIs GStreamer Bellagio OpenMAC IL WLAN Event Logger API Media App FW FM Transmitter Wireless tools System SW subsystem Battery query interface API Vibra service API API HAL Device orientation API Core subsystem X Window Linux kernel Open GL ES drivers
  • 27. Styles are more than just decorations • Improved finger usability and screen real estate usage • Lists and window panes scrollable with finger from window pane • New dialog layout, no cancel button, cancel action by clicking outside of dialog
  • 28. Hildon menus • Hildon menus are very different from the desktop menu structure • finger optimized HildonAppMenu • Menus handled different way than in desktop X11 • menu bar is a property of window manager • No API changes to achieve this – it’s just Qt
  • 29. Plus Qt Mobility APIs for Mobile Development • First release planned Q4/2009 • Supporting Symbian • Maemo support under investigation • Planned content • Service Framework • Contacts API • Location API • System Information API • Messaging API • Bearer Management • Context Framework http://labs.trolltech.com/page/Projects/QtMobility
  • 30. Peek into the torture chamber…
  • 31. The building blocks • Setup your development environment • Install Maemo SDK from maemo.org • Maemo SDK is based on scratchbox pseudo virtual environment that emulates maemo device under x86 desktop Linux • Maemo SDK can be installed as VMWare virtual machine under Macintosh OSX or Windows • Update Qt once new versions available • Stay tuned http://qt.nokia.com/developer/qt-for-maemo-developers • Set up your maemo device • Install/Update Qt libraries • Set up connection with your computer
  • 32. Development environment - the big picture Virtual machine Linux Scratchbox Maemo SDK Targets Armel Qt X86 Hildon Xephyr X Server
  • 33. Environment for Windows machine • Vmware www.vmware.com • Maemo vmware image from http://maemovmware.garage.maemo.org (readme) • Contains Fremantle and Diablo SDK environments • Qt libraries for Fremantle • Setup the repositories and use apt-get to retrieve and install (same for device) • http://qt.nokia.com/developer/qt-for-maemo-developers • Instructions also in http://wiki.maemo.org/Qt#Fremantle • Remember http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide Do not get confused: You’re running a virtualized Linux PC inside a Windows operating system and inside the virtualized Linux you’re running Scratchbox which has maemo SDK that contains Qt – Keep it simple…
  • 34. What is Scratchbox • Maemo development happens inside Scratchbox • Scratchbox provides a sandboxed cross-compilation development environment • maemo SDK is installed inside Scratchbox • Maemo SDK provides two targets for Scratchbox: • X86 used for active development • ARMEL for cross-compilation • maemo SDK also provides closed Nokia binaries separately • For SDK : contains some apps and f.ex opengl binaries • Qt development for maemo also requires scratchbox • Well you can develop the Qt app anywhere but need scratchbox to compile…
  • 35. Using Scratchbox • From the terminal : Start scratchbox by typing the command scratchbox • Configure targets sb-menu • Switch between targets sb-conf select FREMANTLE_X86 (FREMANTLE_ARMEL) • Otherwise work in a similar way like outside SB • Single source concept : Single source – multiple targets
  • 36. XServer • X server allows applications to create windows to which they can draw on the screen • Applications are X server clients • X server also provides key press and pointer events to applications • Maemo applications require a pseudo X server to be installed • Xephyr X server is typically used with Maemo SDK • Kdrive-based X server capable of emulating 16-bit color depth for clients • Start your engines : go outside Scratchbox and use the spell Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb & • In Scratchbox, direct the display to window 2 by typing export DISPLAY=:2 • In case you need to install Xephyr : apt-get install xserver-xephyr
  • 37. Hildon Application Framework Start • Launch the application framework [sbox-FREMANTLE_X86: ~/Hw]: af-sb-init.sh start • Or run standalone shell (themes, fonts will work) [sbox-FREMANTLE_X86: ~/Hw]: run-standalone.sh ./helloworld
  • 38. Enabling extras repository on development machine • To install/update libraries you need to have the correct repository enabled • Modify one text file in scratchbox called sources.list.d – add the following # Maemo extras and extras-devel deb http://repository.maemo.org/extras/ fremantle free non-free deb-src http://repository.maemo.org/extras/ fremantle free deb http://repository.maemo.org/extras-devel/ fremantle free non-free deb-src http://repository.maemo.org/extras-devel/ fremantle free • This needs to be done from terminal • Can’t use file explorer – ”virtual files” http://qt.nokia.com/developer/ qt-for-maemo-developers
  • 39. Enabling extras repository for the devices • The Qt for Maemo 5 public repository is located at http://qt.gitorious.org/qt/qt-x11-maemo • Once Qt is in extras - easiest way to enable extras and extras-devel repository is to browse to http://wiki.maemo.org/Extras and click a link • Installing Qt : apt-get update //gets new packages apt-get install libqt4-gui //installs those • In some cases you need super user rights http://wiki.maemo.org/Root_access • One way to update the device is to check updates from application manager - will update Qt libraries when Not sure of what versions new versions are available of libraries you have: • Or by installing a Qt app that declares a dependency to //terminal: the libraries – app manager fetches the needed dpkg –s [lib name]
  • 40. Go nuts and mix Qt with Maemo APIs • As Qt is not a runtime you can always use native apps to fill the gaps • Needed especially since mobility APIs are not there yet… • For guidance see the maemo for mobile document in http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide • LibLocation • LibCityinfo • MCEDev • ICD2
  • 41. Create a debian package and install it to the device It ain’t black magic after all!
  • 42. Installing the application on the device • For real world distribution debian package is needed (in real life for end users): • Debian package = application installer package like SIS files in Symbian world • Repositories – maemo.org • Ovi store • In development phase – for us geeks only • Transfer the application binaries (or even the full debian package) to a device • Ssh • USB • (or why not from some repository..)
  • 43. Packaging Qt app for maemo • Maemo uses debian packaging • http://en.wikipedia.org/wiki/Deb_(file_format) • http://en.wikipedia.org/wiki/Debian • Anatomy of a debian package : http://video.google.com/videoplay?docid=- 6726522426109060914# • To get an applications installed to a maemo device and icon visible in the desktop you need a debian package 1. Handcraft it in “5 minutes“ • http://wiki.forum.nokia.com/index.php/Creating_Debian_packages_for_Maemo_Qt_application s_and_showing_in_the_application_menu 2. Or use dh_make to make the package sceleton • http://wiki.maemo.org/Packaging_a_Qt_application 3. Or use ESBOX IDE [sorry; no time today to check that one today] • http://esbox.garage.maemo.org/index.html • Later on we will have the support in Qt Creator
  • 44. I got it done... So can you! Debian package Handcraft it in “5 minutes“ http://wiki.forum.nokia.com/index.php/Creating _Debian_packages_for_Maemo_Qt_applications_a nd_showing_in_the_application_menu Debian package DEBIAN - control file USR Bin - the app (ARMEL) LIB share applicationshildon - desktop file pixmaps - the icon dpkg-deb -b collidingMiceApplication
  • 45. Installing the package • Once the debian package is manually transfered to device you need to install it sudo gainroot dpkg -i package.deb • After this if you have the desktop file and icon functioning you will see the app in application menu (go to ’more…’, you’ll see it next to X terminal) icon Me did it!
  • 46. Making it easy for you • All you (will) need is Qt creator – no SDKs ;) • No need to even specify debian package • Once integrated with Remote Device Access you won’t even need a device! • http://www.forum.nokia.com/rda • No promises here about anything though… • Would you like us to make this tool available for you?
  • 47. Time to laugh at Nokia engineers while they embarrass themselves…
  • 48. •Big hand for Sami ”the wizard” Viitanen • the floor is yours - and soon the the roof, the roof, the roof is on fire ;)
  • 49. Did you like the meal? Let’s have something sweet to end with... Choose hybrid and get the best of both worlds
  • 50. Interact with Web Services • QtWebKit allows • Intuitive use of network resources • Exposing QWidget to HTML and QObject to JavaScript • Calling JavaScript from Qt and vice versa JS Qt OS specific APIs • Based on the Open Source WebKit engine
  • 51. Hybrid - combining the best of both worlds So you can run JS and HTML inside Qt application… WRT Widget Qt application Webkit QWebView running webkit Widgets HTML, CSS, Same HTML, CSS, JavaScript JavaScript Platform Services Native APIs Platform Services implementation Accessing Native APIs through JS
  • 52. Hybrid apps - meaning for maemo • With no WRT in maemo (yet) hybrid apps are one way for a web developer to utilize existing skills to make apps for maemo • Take existing widgets to maemo as Qt hybrid apps • Check out”Nokia, Qt and the Internet” - today 17:15 in Qt labs, Jukka Blomberg (MU), Oren Levine (SF) • Stay tuned – more news in Symbian expo (Tuesday 27th Oct) • 14:00 - 14:30 Next Generation Hybrid Applications – Utilizing your Web Development Skills with Qt based Solutions Mr Pekka Kosonen, Head of Technology Development, Forum Nokia
  • 53. i.e what the heck was the dude talking about?
  • 54. Nokia + Ovi Developer Story | 61 Nokia native dev offering, redefined 1= Nokia cross-platform SDKs that you’ll love – with a money back guarantee (as it’s free) 2= Ovi APIs. Amazing features in your apps – take the Ovi social network to be a part of your solution 3= Ovi Store. Sell your app to hundreds of millions
  • 55. Qt for maemo • Maemo is and will be very important platform for Nokia • Qt 4.6 will be officially supported on maemo 5 • Maemo 6 is built on Qt • With Qt and mobility APIs you can make true mobile applications that work accross different platforms • Develop now! • How to get information when official releases are coming • Distribute when Qt 4.6 for maemo is ready - Q1 2010! http://qt.nokia.com/maemo Slides will be available in http://www.slideshare.net/pkosonen
  • 56. Forum Nokia in Qt dev days • Tech geeks: • Pekka Kosonen • Sami Viitanen • Eero Bragge • Tapio Tolvanen (maemo) • Seppo Pakarinen • Business development and marketing • Anthony Fabbricino • Jarkko Tolvi • Janaina Pilomia • Sami Pippuri • FN hang around place is in the lobby – 2nd floor, left from the stairs – come chat with us • Stay tuned for these presentations in Qt labs: • Nokia, Qt and the Internet (Jukka Blomberg (MU), Oren Levine (SF)) – today 17:15 • The Mobility Project (Alex Luddy) - tomorrow 9:00 • Hands On with Qt for Symbian: Demo Session Tino Pyssysalo, Digia – tomorrow 10:15 Slides will be available in http://www.slideshare.net/pkosonen
  • 57. http://maemo.org/ http://qt.nokia.com/ Thank you very ma ny! Questions? pekka.kosonen@n okia.com 64 Slides will be available in http://www.slideshare.net/pkosonen