SlideShare a Scribd company logo
Fun with QML and JavaScript
         Mobile Apps for MeeGo




                                    Rajesh Lal
                 MeeGo Team, Nokia Silicon Valley
Fast Development on



         +                =
QML          JavaScript       Mobile Apps
Mobile Apps Download

          Paid
                 http://distimo.com
                 Free                 By 2013

                                      Total
                                      Revenue

                                      $29 billion+


                                         Source: Gartner
What is MeeGo


                   is a Linux-based open source
                          mobile operating system

 Targeted to mobile devices & consumer electronics
What makes                 Exciting ?


    Fully Open Source

     Linux Foundation
                                  Available Today
Target Multiple devices        MeeGo V1.1 - Handsets
                              MeeGo V1.1 - Net books
                          MeeGo V1.1 - In-Vehicle Infotainment

                          … and SmartTV, IPTV-boxes, Tablets
MeeGo Development Environment

                   • Qt Application Framework
                   • IDE – Qt Creator
                   • Qt Quick & QML
                   • Qt UI Designer
                   • Qemu Emulator
                   • Smartphone Simulator

 Available Today   … and we have a device to test
3 Steps to Develop FAST on MeeGo



                   +                   =
 Cutting-edge UI       Rich Features       Mobile Apps

Qt Quick & QML         JavaScript           Fast
4 Mobile Apps for MeeGo


       Popularity




                    Effort on MeeGo
1/4 News Apps on MeeGo

            CNN News
1/4 News Apps on MeeGo




         XML      Display UI   List/Grid
        Reader    (Delegate)     View
1/4 News Apps on MeeGo
 XML Reader




  http://rss.cnn.com/rss/magazines_fortune.rss
1/4 News Apps on MeeGo
 XML Reader
1/4 News Apps on MeeGo
   Display UI (Delegate)




 Delegate is a component that creates an instance for each item in the model
1/4 News Apps on MeeGo
 Delegate
1/4 News Apps on MeeGo
ListView
1/4 News Apps on MeeGo
      ListView     Grid View
1/4 News Apps on MeeGo
 Demo
2/4 Social Apps on MeeGo



                               Access
           REST       Auth.
                                Edit
            API      Welcome
                                Data
2/4 Social Apps on MeeGo


              Login thread
 CallLogin
 (name,pwd)
                                                    Remote
                                             AJAX
                                Login
                JSON

 API Call                    Worker Script          Cloud
From QML
2/4 Social Apps on MeeGo


     1.   API Call
     2.   Login thread instance
     3.   Worker Script
     4.   Login.js with AJAX
2/4 Social Apps on MeeGo

  API Call
2/4 Social Apps on MeeGo

  Login Thread Instance
2/4 Social Apps on MeeGo

  ScriptLogin.QML (Actual Thread)
2/4 Social Apps on MeeGo
                           Login.js with AJAX
3/4 Tools on MeeGo




         N900        Access Device Data
3/4 Tools on MeeGo




          Device     Qt Mobility   JavaScript
           Data         API         Binding
3/4 Tools on MeeGo


                 JavaScript Expressions
                 Import JavaScript Files
                 Qt Mobility API

    JavaScript
3/4 Tools on MeeGo: Clock.js
3/4 Tools on MeeGo: QML Binding
3/4 Tools on MeeGo: Qt Mobility
  QML Plug-ins   Qt Mobility API
  Gallery        Document Gallery API
  Location       Location API
  Multimedia     API includes audio and
                 video
  Service        Discovering and
  Framework      connecting to services
  Messaging      Messaging , email ,sms etc



                                              30
3/4 Tools on MeeGo: Multimedia
         import Qt 4.7
         import QtMultimediaKit 1.1
         ...

           Audio {
             id: myMedia
             source: “beethoven.wav"
           }
           MouseArea {
             id: playArea
             anchors.fill: parent
             onPressed: { myMedia.play() }
           }




                                             31
3/4 Tools on MeeGo: Location
           import Qt 4.7
           import QtMobility.location 1.1
           Rectangle {
             width: 500
             height: 500
             Map {
               id: myMap
               size.width: parent.width
               size.height: parent.height
               zoomLevel: 5
               center: Coordinate {
                        latitude: 101
                        longitude: 202
                     }
             }
           }




                                            32
3/4 Tools on MeeGo: Location
 Demo
4/4 Fun and Games on MeeGo

            Angry Developer
4/4 Fun and Games on MeeGo




                     State     Events
        Graphics
                   Animation   Binding
4/4 Fun and Games on MeeGo


  Graphics     Animation      Binding

  Elements       State       Property
  Shapes       Transitions   JavaScript
    Text       Transform.       C++
4/4 Fun and Games on MeeGo




   Playing                   Moving
4/4 Fun and Games on MeeGo




                        Missed
   Angry
4/4 Fun and Games on MeeGo




                       Destroyed
   Happy
4/4 Fun and Games: QML Elements
4/4 Fun and Games: State Change




  Playing   Angry   Happy   Pig Moving   Pig Destroyed
4/4 Fun and Games: State Change
4/4 Fun and Games: Ball Animation




  Bouncing Ball Animation   Throw Transition
4/4 Fun and Games: Bouncing Ball
4/4 Fun and Games: Throw Transition
4/4 Fun and Games: Logic Timers


     Pig’s Random
     Movement



      Hit or Miss
4/4 Fun and Games: Pig Movement
4/4 Fun and Games: Hit or Miss
4/4 Fun and Games on MeeGo
 Demo       Angry Developer
3 Steps for FAST development on

                         Develop
 Download                 Logic
  Qt SDK                JavaScript



            Create UI
              QML
Thank You
                    Download MeeGo
                          http://meego.com/downloads


            Get Qt SDK with Qt Quick
                                    http://get.qt.nokia.com



                          Know MADDE
                         http://wiki.maemo.org/MADDE


                                    Questions
                Rajesh.Lal@nokia.com @rajeshlalnokia

More Related Content

PPSX
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
PDF
Angry Developer: Creating a Game in QML and JavaScript for MeeGo N9 @iRajLal
PDF
How we can do Multi-Tenancy on Kubernetes
PDF
I/O Extended (GDG Bogor) - Andrew Kurniadi
PDF
The journey to GitOps
PDF
Gitops Hands On
PDF
Building Translate on Glass
PDF
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
Angry Developer: Creating a Game in QML and JavaScript for MeeGo N9 @iRajLal
How we can do Multi-Tenancy on Kubernetes
I/O Extended (GDG Bogor) - Andrew Kurniadi
The journey to GitOps
Gitops Hands On
Building Translate on Glass
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人

What's hot (20)

PPTX
Gerrit Code Review: how to script a plugin with Scala and Groovy
PDF
GitOps Toolkit (Cloud Native Nordics Tech Talk)
PDF
Writing Commits for You, Your Friends, and Your Future Self
PDF
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
PDF
Introduction to Kubernetes with demo
PDF
WTF is GitOps and Why You Should Care?
PDF
ID Android TechTalk Series #6 : Google Service and Gradle - Anton Nurdin Tuha...
PPTX
Docs or it didn’t happen
ODP
Mobile Backend Development with Ktor
PPTX
Moving to microservices from idea to production - GitLabJP meetup
PDF
Building our Component Library
PPTX
Speed up Continuous Delivery with BigData Analytics
PPTX
Unify logz with fluentd
PDF
Microservices in Golang
PPTX
Gerrit jenkins-big data-continuous-delivery
PDF
Deep dive into serverless on Google Cloud
PDF
Gitops: the kubernetes way
PDF
Multiplatform Apps with Spring, Kotlin, and RSocket
PDF
GitOps with Gitkube
Gerrit Code Review: how to script a plugin with Scala and Groovy
GitOps Toolkit (Cloud Native Nordics Tech Talk)
Writing Commits for You, Your Friends, and Your Future Self
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Introduction to Kubernetes with demo
WTF is GitOps and Why You Should Care?
ID Android TechTalk Series #6 : Google Service and Gradle - Anton Nurdin Tuha...
Docs or it didn’t happen
Mobile Backend Development with Ktor
Moving to microservices from idea to production - GitLabJP meetup
Building our Component Library
Speed up Continuous Delivery with BigData Analytics
Unify logz with fluentd
Microservices in Golang
Gerrit jenkins-big data-continuous-delivery
Deep dive into serverless on Google Cloud
Gitops: the kubernetes way
Multiplatform Apps with Spring, Kotlin, and RSocket
GitOps with Gitkube
Ad

Viewers also liked (8)

ODP
Intro to QML / Declarative UI
PDF
QtQuick Day 4
PDF
QML demo for makerpro (1)
PPTX
Hello, QML
PDF
QtQuick Day 2
PDF
QtQuick Day 3
PPTX
Qt Qml
PDF
QtQuick Day 1
Intro to QML / Declarative UI
QtQuick Day 4
QML demo for makerpro (1)
Hello, QML
QtQuick Day 2
QtQuick Day 3
Qt Qml
QtQuick Day 1
Ad

Similar to Fun with QML and JavaScript: Embedded Linux Conference 11th April 2011, Hotel Kabuki, San Francisco @iRajLal (20)

PPS
QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @...
PDF
Meego의 현재와 미래(2)
PDF
Social App Development with Qt
PPT
Meego presentation
PDF
Starting Development for Nokia N9
PDF
The Mobility Project
PDF
MeeGo Architecture
PDF
Qt quick (qml)
PDF
Nokia Developer Offering Update
PPTX
Meego Mobile OS
PPTX
MeeGo presentation
PPT
A Glimpse On MeeGo
PDF
Nicholas Foo
PDF
Nicholas Foo
PDF
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
PDF
Meego Italian Day 2011 – Andrea Grandi
PPTX
Latest Development Of MeeGo
PDF
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
PDF
Hybrid Apps (Native + Web) via QtWebKit
PPT
How to Customize the MeeGo Tablet UX
QML & JavaScript on MeeGo: Flourish Conference 2nd Apr 2011, at UIC Chicago @...
Meego의 현재와 미래(2)
Social App Development with Qt
Meego presentation
Starting Development for Nokia N9
The Mobility Project
MeeGo Architecture
Qt quick (qml)
Nokia Developer Offering Update
Meego Mobile OS
MeeGo presentation
A Glimpse On MeeGo
Nicholas Foo
Nicholas Foo
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Meego Italian Day 2011 – Andrea Grandi
Latest Development Of MeeGo
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Hybrid Apps (Native + Web) via QtWebKit
How to Customize the MeeGo Tablet UX

More from Raj Lal (20)

PDF
Executive Presence Workshop - Gina Grahame
PDF
Creativity, AI, and Human-Centered Innovation
PDF
TEAMCAL AI - PITCH DECK Voice and AI.pdf
PDF
Teamcalendar.AI presskit 1.0
PPTX
UX Workshop: How to design a product with great user experience
PDF
Workshop Stanford University - 28th July 2018 on Website Optimization
PDF
The art and science of website optimization
PPTX
UX Workshop - Talent 2 Talent Conference, Ryerson University, Toronto Canada,...
PDF
Why Toastmasters - The story of a fisherman
PDF
Build Amazing Camera Apps for Superphones - Silicon Valley Code Camp, 6 Oct, ...
PDF
Evolution of User Interface - Digital Web & Design Innovation Summit SFO 20 S...
PPS
Designing Killer Apps for Mobile Devices ModevUX May 9 2013 mclean VA - @iRajLal
PPT
Html5 Whats around the bend
PPTX
Accessible design with html5 JS Everywhere 2012 Oct 26 Fairmont Hotel San Jos...
PPTX
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
PPTX
Accessible design - HOW Interactive Design Conference Washington DC SEPT 27-2...
PPSX
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
PPT
Developing Apps for Nokia Windows Phone VSLiv Conference May 15, 2012 @iRajLal
PPT
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
PDF
Fun with silverlight4 Table of Content @iRajLal
Executive Presence Workshop - Gina Grahame
Creativity, AI, and Human-Centered Innovation
TEAMCAL AI - PITCH DECK Voice and AI.pdf
Teamcalendar.AI presskit 1.0
UX Workshop: How to design a product with great user experience
Workshop Stanford University - 28th July 2018 on Website Optimization
The art and science of website optimization
UX Workshop - Talent 2 Talent Conference, Ryerson University, Toronto Canada,...
Why Toastmasters - The story of a fisherman
Build Amazing Camera Apps for Superphones - Silicon Valley Code Camp, 6 Oct, ...
Evolution of User Interface - Digital Web & Design Innovation Summit SFO 20 S...
Designing Killer Apps for Mobile Devices ModevUX May 9 2013 mclean VA - @iRajLal
Html5 Whats around the bend
Accessible design with html5 JS Everywhere 2012 Oct 26 Fairmont Hotel San Jos...
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
Accessible design - HOW Interactive Design Conference Washington DC SEPT 27-2...
Accessible Design with HTML5 - HTML5DevConf.com May 21st San Francisco, 2012 ...
Developing Apps for Nokia Windows Phone VSLiv Conference May 15, 2012 @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Fun with silverlight4 Table of Content @iRajLal

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Per capita expenditure prediction using model stacking based on satellite ima...
Machine Learning_overview_presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf

Fun with QML and JavaScript: Embedded Linux Conference 11th April 2011, Hotel Kabuki, San Francisco @iRajLal

  • 1. Fun with QML and JavaScript Mobile Apps for MeeGo Rajesh Lal MeeGo Team, Nokia Silicon Valley
  • 2. Fast Development on + = QML JavaScript Mobile Apps
  • 3. Mobile Apps Download Paid http://distimo.com Free By 2013 Total Revenue $29 billion+ Source: Gartner
  • 4. What is MeeGo is a Linux-based open source mobile operating system Targeted to mobile devices & consumer electronics
  • 5. What makes Exciting ? Fully Open Source Linux Foundation Available Today Target Multiple devices MeeGo V1.1 - Handsets MeeGo V1.1 - Net books MeeGo V1.1 - In-Vehicle Infotainment … and SmartTV, IPTV-boxes, Tablets
  • 6. MeeGo Development Environment • Qt Application Framework • IDE – Qt Creator • Qt Quick & QML • Qt UI Designer • Qemu Emulator • Smartphone Simulator Available Today … and we have a device to test
  • 7. 3 Steps to Develop FAST on MeeGo + = Cutting-edge UI Rich Features Mobile Apps Qt Quick & QML JavaScript Fast
  • 8. 4 Mobile Apps for MeeGo Popularity Effort on MeeGo
  • 9. 1/4 News Apps on MeeGo CNN News
  • 10. 1/4 News Apps on MeeGo XML Display UI List/Grid Reader (Delegate) View
  • 11. 1/4 News Apps on MeeGo XML Reader http://rss.cnn.com/rss/magazines_fortune.rss
  • 12. 1/4 News Apps on MeeGo XML Reader
  • 13. 1/4 News Apps on MeeGo Display UI (Delegate) Delegate is a component that creates an instance for each item in the model
  • 14. 1/4 News Apps on MeeGo Delegate
  • 15. 1/4 News Apps on MeeGo ListView
  • 16. 1/4 News Apps on MeeGo ListView Grid View
  • 17. 1/4 News Apps on MeeGo Demo
  • 18. 2/4 Social Apps on MeeGo Access REST Auth. Edit API Welcome Data
  • 19. 2/4 Social Apps on MeeGo Login thread CallLogin (name,pwd) Remote AJAX Login JSON API Call Worker Script Cloud From QML
  • 20. 2/4 Social Apps on MeeGo 1. API Call 2. Login thread instance 3. Worker Script 4. Login.js with AJAX
  • 21. 2/4 Social Apps on MeeGo API Call
  • 22. 2/4 Social Apps on MeeGo Login Thread Instance
  • 23. 2/4 Social Apps on MeeGo ScriptLogin.QML (Actual Thread)
  • 24. 2/4 Social Apps on MeeGo Login.js with AJAX
  • 25. 3/4 Tools on MeeGo N900 Access Device Data
  • 26. 3/4 Tools on MeeGo Device Qt Mobility JavaScript Data API Binding
  • 27. 3/4 Tools on MeeGo JavaScript Expressions Import JavaScript Files Qt Mobility API JavaScript
  • 28. 3/4 Tools on MeeGo: Clock.js
  • 29. 3/4 Tools on MeeGo: QML Binding
  • 30. 3/4 Tools on MeeGo: Qt Mobility QML Plug-ins Qt Mobility API Gallery Document Gallery API Location Location API Multimedia API includes audio and video Service Discovering and Framework connecting to services Messaging Messaging , email ,sms etc 30
  • 31. 3/4 Tools on MeeGo: Multimedia import Qt 4.7 import QtMultimediaKit 1.1 ... Audio { id: myMedia source: “beethoven.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { myMedia.play() } } 31
  • 32. 3/4 Tools on MeeGo: Location import Qt 4.7 import QtMobility.location 1.1 Rectangle { width: 500 height: 500 Map { id: myMap size.width: parent.width size.height: parent.height zoomLevel: 5 center: Coordinate { latitude: 101 longitude: 202 } } } 32
  • 33. 3/4 Tools on MeeGo: Location Demo
  • 34. 4/4 Fun and Games on MeeGo Angry Developer
  • 35. 4/4 Fun and Games on MeeGo State Events Graphics Animation Binding
  • 36. 4/4 Fun and Games on MeeGo Graphics Animation Binding Elements State Property Shapes Transitions JavaScript Text Transform. C++
  • 37. 4/4 Fun and Games on MeeGo Playing Moving
  • 38. 4/4 Fun and Games on MeeGo Missed Angry
  • 39. 4/4 Fun and Games on MeeGo Destroyed Happy
  • 40. 4/4 Fun and Games: QML Elements
  • 41. 4/4 Fun and Games: State Change Playing Angry Happy Pig Moving Pig Destroyed
  • 42. 4/4 Fun and Games: State Change
  • 43. 4/4 Fun and Games: Ball Animation Bouncing Ball Animation Throw Transition
  • 44. 4/4 Fun and Games: Bouncing Ball
  • 45. 4/4 Fun and Games: Throw Transition
  • 46. 4/4 Fun and Games: Logic Timers Pig’s Random Movement Hit or Miss
  • 47. 4/4 Fun and Games: Pig Movement
  • 48. 4/4 Fun and Games: Hit or Miss
  • 49. 4/4 Fun and Games on MeeGo Demo Angry Developer
  • 50. 3 Steps for FAST development on Develop Download Logic Qt SDK JavaScript Create UI QML
  • 51. Thank You Download MeeGo http://meego.com/downloads Get Qt SDK with Qt Quick http://get.qt.nokia.com Know MADDE http://wiki.maemo.org/MADDE Questions Rajesh.Lal@nokia.com @rajeshlalnokia