SlideShare a Scribd company logo
1 of 24
Mobilizing the Web
M bili i th W b
 How to reuse what you already know 
   to create mobile applications?
   t      t    bil     li ti ?


                          miha.lesjak@inova.si
About


Inova IT is a professional services and software company based in 
              p f                         f         p y
   Maribor, Slovenia.  We specialize in custom application development, 
   systems integration, and the commercialization of next generation mobile 
   and communication solutions.  Our cutting‐edge tools and applications 
   and communication solutions Our cutting‐edge tools and applications
   bridge the mobile, telecom and internet domains, which we believe is the 
   next generation in mobile and fixed line communications.
Agenda

How          started with mobile apps development
H             t t d ith     bil       d l       t


Web Runtime (WRT) Widgets in a Nutshell
Web Runtime (WRT) Widgets in a Nutshell

Digging Deeper
   – Utilizing Platform Services
     Utilizing Platform Services
   – Adding value with Home Screen
How we got hooked 
on Nokia Web Runtime
Expertise
 We wanted to add 
 We wanted to add                                          mobile to the mix
                                                                  to the mix




                                                         +

The Future is Mobile
We are all keen believers that the next wave in the IT revolution will be driven by mobile services.  These services will reshape the society in the same way 
the Internet has utterly transformed it over the last decade.  We believe the mobile world influences nearly every aspect of our lives.  We simply must be 
at the forefront of developing new mobile services.
Expertise
We have expertise in the following development and communication 
  technologies:
•   Java, including Java Micro Edition, Java SE, Java EE, Spring and Hibernate
    Java, including Java Micro Edition, Java SE, Java EE, Spring and Hibernate
•   .NET, including Microsoft ASP.NET, ADO.NET, WCF, WWF, WPF, Office Integration

• Rich Internet Applications (RIAs)
   – JavaScript / Ajax
             i / j
       • JavaScript libraries: prototype, script.aculo.us, and JQuery
       • JavaScript widget libraries Ext JS Ext GWT Dojo Toolkit
         JavaScript widget libraries: Ext JS, Ext GWT, Dojo Toolkit
   – HTML, DHTML, CSS, XML
   – Adobe Flash Flex
     Adobe Flash, Flex
   – Google’s GWT Framework
•   C/C++, including BOOST
•   Qt, Trolltech’s cross‐platform framework
•   SIP, including SIP application server development for next gen communications (e.g., Voice over IP)
•   SOA either through Web Services or REST, including mashup applications with internet‐based services 
    (e.g., Google) and enterprise products (e.g., MS Exchange, OCS, Avaya IP PBX)
    (e g Google) and enterprise products (e g MS Exchange OCS Avaya IP PBX)
•   ...
Mobile Development

How would weby lowlevel t l guys get 
H      ld b             telco
there easiest!?!?!?!




       +         +     +       =
Mobile Expertise


              =               WRT
                      (Web Runtime)




Why?
Wh ? Because it’s easy to develop in, 
    reuse existing knowledge and
    reuse existing knowledge
    it fitted well into our existing 
                                   g
          development process
Developing a Product

With WRT we could reuse
  • Development Process
    Development Process
  • Know How
  • Tool Chain


         A learning curve that I finally like!
Web Runtime Widgets
    in a nutshell
Internet Evolution




Full HTML browser lets 
  mobile consumers 
     experience the
     experience the 
     complete Web          Mobile‐optimized sites 
                                                                                     Widgets + Platform 
                          serve specific needs and 
                                                                                   Services offer seamless 
                                   tasks
                                                       Widgets offer focused,      integration of the Web 
                                                       optimized front‐ends to      with personal context
                                                      Web‐based information and 
                                                              services
Widget?
Lightweight mobile applications that give users 
 customized access to Web based and other resources
 customized access to Web based and other resources


The easiest way to bring web‐based business to millions of Nokia mobile devices
    Develop using standards‐based web technologies (e.g. HTML, CSS, Javascript, AJAX)
    Install and run on Nokia devices like any native application
                                            y         pp
    Provide an optimized web experience accessible with a single click




                Application like delivery
                         Visible in the UI
     Familiar HTML, Javascript, and CSS
     Familiar HTML Javascript and CSS
For Who?
Web app runtimes on mobiles?
            a viable runtime for serious app development?

   performance?
             super deep drilling? 
                 ok, it s not for everything
                 ok it’s not for everything ‐ yet

But...                Resource pool
                      Resource pool
  Learning curve
                  Community activity
                  Community activity
      UI richness
And with some tweaks  you can do about 
And with some tweaks you can do about
anything!
What and Where?
S60 3rd FP2
         menus
  (un)installation
                    icons
                  localization
      system interaction



                       S60 5th
                       S60 5th
                         Platform Services
                          l f
                       Home Screen
How?
It’s HTML / CSS / JS…           :)




     but help is always good
WRT plug in for Aptana
WRT plug‐in for Aptana Studio


 Code completion
                      Preview
        Debugging
 Packaging         Deployment
Tell me more!
Tell me more!
Widget “ingredients”


                                     Widget
                                    properties
info.plist (mandatory)                  + 
[name].html
[name] html (mandatory)               HTML
                                    backbone
icon.png
[name].css
[      ]
[name].js              PNG icon
                           + 
                       CSS layout        Root 
                            +           folder!
                        js logic
info.plist

Information about the widget
Information about the widget
             ...
             <plist version="1.0">
               <dict>
                   <key>DisplayName</key>
                   <string>AccuWidget</string>
                   <key>Identifier</key>
                   <string>com.nokia.forum.accuwidget</string>
                   <key>MainHTML</key>
                   <string>accuwidget.html</string>
                   <key>AllowNetworkAccess</key>
                   <true />
             ...



info.plist file defines the widget. It is a XML text file providing 
information about the components and features of this specific 
information about the components and features of this specific
widget.
HTML
                                  <html>
                                   <head>
                                    ..
                                   </head>
  Defines the structure
                                   <body id body >
                                         id="body">
  D fi     h                        <div id=‘mainView’>
                                                <span class=‘title’>Front view</span>
    of the widget.                        </div>
                                          <div id=‘subView1’ class=‘subView’>
                                                <p class=‘title’>Back view</p>
                                                                           /
  Views can be constructed with static    </div>
  HTML elements or can be dynamically     <div id=‘subView2’ class=‘subView’>
  created by JavaScript at runtime.             <p class=‘title’>Config view</p>
                                          </div>
                                           /
                                         </body>
                                        </html>
                                              // Class selector to define common
CSS                                            style for similar components
                                                 y
                                              .title {
                                                font-size: 26px;
                                                color: blue;
                                                                    p


Style and layout information
  y         y                                 }
                                              // Id selector to define a unique
    – Defines how to display HTML              style for a unique component
      element: position, color, background  #mainView {
      color etc.
      color etc                               font size:
                                              font-size: 16px;
                                              color: red;
                                              text-align: center;
CSS information can be embedded in the HTML }
   file or imported from an external styleheet // Pseudo-class selector to design
                                                pattern style
                                                  tt     t l
                                              div.subview div {
                                                margin: 10px 0 0 0;
                                                padding: 20px 20px 20px 20px;
                                              }
JavaScript


Event handling
             g
             XMLHttpRequest
                   p q
DOM manipulation
        p
                       UI effects
        UI tweaking
        UI tweaking
Platform Services
Framework for abstracting access to a set of services
Runtime specific bindings and security management
Runtime specific bindings and security management
Access Platform Services through JavaScript
Example use cases:
   Combine Web‐based data with local context to deliver 
     personalized, relevant services
   Save critical Web‐based contacts and events locally to create 
     reliable, dependable reminders

    Camera                                    Messaging
                      Media Management
    Calendar                                  Sensor
                      Communication Logs
    Contacts                                  System information
                      Location
    Landmarks
Home Screen
What it is for the end‐user?                       Home Screen view
   – Add /
     Add / remove home screen content
                   h                t t
   – Tap content to open widget full screen view


Home Screen Widget has 2 views
   – Home Screen view
   – Fullscreen view                                          Fullscreen view


Interaction while in Home Screen
   – onload() and onresize() as widget 
     side interface functions
     side interface functions
   – JavaScript code to determine current view 
     size – correct view rendered
It’s all JavaScript but...
               bare in mind that

              Intel® Core™ i7 2 66GHz
                              2.66GHz   (8MB Cache)
              3GB Triple Channel 1067Mhz DDR3
              500GB - SATA-II, 3Gb/s, 7,200RPM




              ARM 11 
              ARM 11    434 MHz
                        434 MHz processor 
              128 MB RAM
              32 GB storage
Thanks!   miha.lesjak@inova.si

More Related Content

What's hot

HTML5 소개 및 배우기- HTML5 Open Conference
HTML5 소개 및 배우기- HTML5 Open ConferenceHTML5 소개 및 배우기- HTML5 Open Conference
HTML5 소개 및 배우기- HTML5 Open ConferenceChanny Yun
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web appsyoavrubin
 
Exposing Business Value
Exposing Business ValueExposing Business Value
Exposing Business ValueESUG
 
Keynote Rockford Lhotka on the Microsoft Development Platftorm
Keynote   Rockford Lhotka on the Microsoft Development PlatftormKeynote   Rockford Lhotka on the Microsoft Development Platftorm
Keynote Rockford Lhotka on the Microsoft Development PlatftormCode Mastery
 
The View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS StudioThe View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS StudioBill Buchan
 
Find me if you can – smart fuzzing and discovery! shreeraj shah
Find me if you can – smart fuzzing and discovery!   shreeraj shahFind me if you can – smart fuzzing and discovery!   shreeraj shah
Find me if you can – smart fuzzing and discovery! shreeraj shahowaspindia
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first previewJesse Wang
 
Creating dynamic and accessible content in Drupal 7 using WAI-ARIA
Creating dynamic and accessible content in Drupal 7 using WAI-ARIACreating dynamic and accessible content in Drupal 7 using WAI-ARIA
Creating dynamic and accessible content in Drupal 7 using WAI-ARIAAccess iQ
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalandrewmriley
 
Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)XPERT INFOTECH
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-finalRohit Kelapure
 
Google Analytics Video Event Tracking
Google Analytics Video Event TrackingGoogle Analytics Video Event Tracking
Google Analytics Video Event TrackingViddler Inc.
 
md UI spec demo
md UI spec demomd UI spec demo
md UI spec demoyiwensyao
 

What's hot (20)

Cloud Computing2
Cloud Computing2Cloud Computing2
Cloud Computing2
 
CV
CVCV
CV
 
HTML5 소개 및 배우기- HTML5 Open Conference
HTML5 소개 및 배우기- HTML5 Open ConferenceHTML5 소개 및 배우기- HTML5 Open Conference
HTML5 소개 및 배우기- HTML5 Open Conference
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 
Exposing Business Value
Exposing Business ValueExposing Business Value
Exposing Business Value
 
Keynote Rockford Lhotka on the Microsoft Development Platftorm
Keynote   Rockford Lhotka on the Microsoft Development PlatftormKeynote   Rockford Lhotka on the Microsoft Development Platftorm
Keynote Rockford Lhotka on the Microsoft Development Platftorm
 
The View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS StudioThe View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS Studio
 
Find me if you can – smart fuzzing and discovery! shreeraj shah
Find me if you can – smart fuzzing and discovery!   shreeraj shahFind me if you can – smart fuzzing and discovery!   shreeraj shah
Find me if you can – smart fuzzing and discovery! shreeraj shah
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first preview
 
Creating dynamic and accessible content in Drupal 7 using WAI-ARIA
Creating dynamic and accessible content in Drupal 7 using WAI-ARIACreating dynamic and accessible content in Drupal 7 using WAI-ARIA
Creating dynamic and accessible content in Drupal 7 using WAI-ARIA
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equal
 
Javascript handbook
Javascript handbook Javascript handbook
Javascript handbook
 
Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
Dot net training bangalore
Dot net training bangaloreDot net training bangalore
Dot net training bangalore
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
 
Google Analytics Video Event Tracking
Google Analytics Video Event TrackingGoogle Analytics Video Event Tracking
Google Analytics Video Event Tracking
 
Spring
SpringSpring
Spring
 
md UI spec demo
md UI spec demomd UI spec demo
md UI spec demo
 

Similar to Miha Lesjak Mobilizing The Web with Web Runtime

WRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirWRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirpetrosoininen
 
Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Andreas Jakl
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginnersVineeth N Krishnan
 
WRT Introduction P11 2009
WRT Introduction P11 2009WRT Introduction P11 2009
WRT Introduction P11 2009allanbezerra
 
Developing Applications with Nokia WRT
Developing Applications with Nokia WRTDeveloping Applications with Nokia WRT
Developing Applications with Nokia WRTPrashanth GN
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgetsromek
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Developing apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web RuntimeDeveloping apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web Runtimesanttuahonen
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
HTML5 and CSS3 refresher
HTML5 and CSS3 refresherHTML5 and CSS3 refresher
HTML5 and CSS3 refresherIvano Malavolta
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Daniel Appelquist
 

Similar to Miha Lesjak Mobilizing The Web with Web Runtime (20)

WRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAirWRT Widgets Masterclass - OverTheAir
WRT Widgets Masterclass - OverTheAir
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of web runtime
Basics of web runtimeBasics of web runtime
Basics of web runtime
 
Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)Basics of WRT (Web Runtime)
Basics of WRT (Web Runtime)
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginners
 
WRT Introduction P11 2009
WRT Introduction P11 2009WRT Introduction P11 2009
WRT Introduction P11 2009
 
Html5
Html5Html5
Html5
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Developing Applications with Nokia WRT
Developing Applications with Nokia WRTDeveloping Applications with Nokia WRT
Developing Applications with Nokia WRT
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgets
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Developing apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web RuntimeDeveloping apps on Maemo with Nokia Web Runtime
Developing apps on Maemo with Nokia Web Runtime
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
HTML5 and CSS3 refresher
HTML5 and CSS3 refresherHTML5 and CSS3 refresher
HTML5 and CSS3 refresher
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
 
HTML5 Refresher
HTML5 RefresherHTML5 Refresher
HTML5 Refresher
 

More from NokiaAppForum

Toshl.com - Od ideje do končnega izdelka
Toshl.com - Od ideje do končnega izdelka Toshl.com - Od ideje do končnega izdelka
Toshl.com - Od ideje do končnega izdelka NokiaAppForum
 
Alexander Oswald The Future of Maemo and Symbian
Alexander Oswald The Future of Maemo and SymbianAlexander Oswald The Future of Maemo and Symbian
Alexander Oswald The Future of Maemo and SymbianNokiaAppForum
 
Dominik Gusenbauer Qt Mobility
Dominik Gusenbauer  Qt MobilityDominik Gusenbauer  Qt Mobility
Dominik Gusenbauer Qt MobilityNokiaAppForum
 
Petri Niemi Qt Web Kit
Petri Niemi Qt Web KitPetri Niemi Qt Web Kit
Petri Niemi Qt Web KitNokiaAppForum
 
Petri Niemi Qt Advanced Part 2
Petri Niemi Qt Advanced Part 2Petri Niemi Qt Advanced Part 2
Petri Niemi Qt Advanced Part 2NokiaAppForum
 
Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1NokiaAppForum
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartNokiaAppForum
 
Mobile Web Development from Scratch
Mobile Web Development from ScratchMobile Web Development from Scratch
Mobile Web Development from ScratchNokiaAppForum
 
Wolfgang Damm Wikitude
Wolfgang Damm WikitudeWolfgang Damm Wikitude
Wolfgang Damm WikitudeNokiaAppForum
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesNokiaAppForum
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtNokiaAppForum
 

More from NokiaAppForum (13)

Toshl.com - Od ideje do končnega izdelka
Toshl.com - Od ideje do končnega izdelka Toshl.com - Od ideje do končnega izdelka
Toshl.com - Od ideje do končnega izdelka
 
Razum
RazumRazum
Razum
 
Hello Mobile
Hello MobileHello Mobile
Hello Mobile
 
Alexander Oswald The Future of Maemo and Symbian
Alexander Oswald The Future of Maemo and SymbianAlexander Oswald The Future of Maemo and Symbian
Alexander Oswald The Future of Maemo and Symbian
 
Dominik Gusenbauer Qt Mobility
Dominik Gusenbauer  Qt MobilityDominik Gusenbauer  Qt Mobility
Dominik Gusenbauer Qt Mobility
 
Petri Niemi Qt Web Kit
Petri Niemi Qt Web KitPetri Niemi Qt Web Kit
Petri Niemi Qt Web Kit
 
Petri Niemi Qt Advanced Part 2
Petri Niemi Qt Advanced Part 2Petri Niemi Qt Advanced Part 2
Petri Niemi Qt Advanced Part 2
 
Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
Mobile Web Development from Scratch
Mobile Web Development from ScratchMobile Web Development from Scratch
Mobile Web Development from Scratch
 
Wolfgang Damm Wikitude
Wolfgang Damm WikitudeWolfgang Damm Wikitude
Wolfgang Damm Wikitude
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi Services
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith Qt
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Miha Lesjak Mobilizing The Web with Web Runtime

  • 1. Mobilizing the Web M bili i th W b How to reuse what you already know  to create mobile applications? t t bil li ti ? miha.lesjak@inova.si
  • 2. About Inova IT is a professional services and software company based in  p f f p y Maribor, Slovenia.  We specialize in custom application development,  systems integration, and the commercialization of next generation mobile  and communication solutions.  Our cutting‐edge tools and applications  and communication solutions Our cutting‐edge tools and applications bridge the mobile, telecom and internet domains, which we believe is the  next generation in mobile and fixed line communications.
  • 3. Agenda How          started with mobile apps development H t t d ith bil d l t Web Runtime (WRT) Widgets in a Nutshell Web Runtime (WRT) Widgets in a Nutshell Digging Deeper – Utilizing Platform Services Utilizing Platform Services – Adding value with Home Screen
  • 5. Expertise We wanted to add  We wanted to add mobile to the mix to the mix + The Future is Mobile We are all keen believers that the next wave in the IT revolution will be driven by mobile services.  These services will reshape the society in the same way  the Internet has utterly transformed it over the last decade.  We believe the mobile world influences nearly every aspect of our lives.  We simply must be  at the forefront of developing new mobile services.
  • 6. Expertise We have expertise in the following development and communication  technologies: • Java, including Java Micro Edition, Java SE, Java EE, Spring and Hibernate Java, including Java Micro Edition, Java SE, Java EE, Spring and Hibernate • .NET, including Microsoft ASP.NET, ADO.NET, WCF, WWF, WPF, Office Integration • Rich Internet Applications (RIAs) – JavaScript / Ajax i / j • JavaScript libraries: prototype, script.aculo.us, and JQuery • JavaScript widget libraries Ext JS Ext GWT Dojo Toolkit JavaScript widget libraries: Ext JS, Ext GWT, Dojo Toolkit – HTML, DHTML, CSS, XML – Adobe Flash Flex Adobe Flash, Flex – Google’s GWT Framework • C/C++, including BOOST • Qt, Trolltech’s cross‐platform framework • SIP, including SIP application server development for next gen communications (e.g., Voice over IP) • SOA either through Web Services or REST, including mashup applications with internet‐based services  (e.g., Google) and enterprise products (e.g., MS Exchange, OCS, Avaya IP PBX) (e g Google) and enterprise products (e g MS Exchange OCS Avaya IP PBX) • ...
  • 7. Mobile Development How would weby lowlevel t l guys get  H ld b telco there easiest!?!?!?! + + + =
  • 8. Mobile Expertise = WRT (Web Runtime) Why? Wh ? Because it’s easy to develop in,  reuse existing knowledge and reuse existing knowledge it fitted well into our existing  g development process
  • 9. Developing a Product With WRT we could reuse • Development Process Development Process • Know How • Tool Chain A learning curve that I finally like!
  • 10. Web Runtime Widgets in a nutshell
  • 11. Internet Evolution Full HTML browser lets  mobile consumers  experience the experience the  complete Web Mobile‐optimized sites  Widgets + Platform  serve specific needs and  Services offer seamless  tasks Widgets offer focused,  integration of the Web  optimized front‐ends to  with personal context Web‐based information and  services
  • 12. Widget? Lightweight mobile applications that give users  customized access to Web based and other resources customized access to Web based and other resources The easiest way to bring web‐based business to millions of Nokia mobile devices Develop using standards‐based web technologies (e.g. HTML, CSS, Javascript, AJAX) Install and run on Nokia devices like any native application y pp Provide an optimized web experience accessible with a single click Application like delivery Visible in the UI Familiar HTML, Javascript, and CSS Familiar HTML Javascript and CSS
  • 13. For Who? Web app runtimes on mobiles? a viable runtime for serious app development? performance? super deep drilling?  ok, it s not for everything ok it’s not for everything ‐ yet But...  Resource pool Resource pool Learning curve Community activity Community activity UI richness And with some tweaks  you can do about  And with some tweaks you can do about anything!
  • 14. What and Where? S60 3rd FP2 menus (un)installation icons localization system interaction S60 5th S60 5th Platform Services l f Home Screen
  • 15. How? It’s HTML / CSS / JS… :) but help is always good WRT plug in for Aptana WRT plug‐in for Aptana Studio Code completion Preview Debugging Packaging Deployment
  • 17. Widget “ingredients” Widget properties info.plist (mandatory) +  [name].html [name] html (mandatory) HTML backbone icon.png [name].css [ ] [name].js PNG icon +  CSS layout Root  + folder! js logic
  • 18. info.plist Information about the widget Information about the widget ... <plist version="1.0"> <dict> <key>DisplayName</key> <string>AccuWidget</string> <key>Identifier</key> <string>com.nokia.forum.accuwidget</string> <key>MainHTML</key> <string>accuwidget.html</string> <key>AllowNetworkAccess</key> <true /> ... info.plist file defines the widget. It is a XML text file providing  information about the components and features of this specific  information about the components and features of this specific widget.
  • 19. HTML <html> <head> .. </head> Defines the structure <body id body > id="body"> D fi h <div id=‘mainView’> <span class=‘title’>Front view</span> of the widget. </div> <div id=‘subView1’ class=‘subView’> <p class=‘title’>Back view</p> / Views can be constructed with static  </div> HTML elements or can be dynamically  <div id=‘subView2’ class=‘subView’> created by JavaScript at runtime. <p class=‘title’>Config view</p> </div> / </body> </html> // Class selector to define common CSS style for similar components y .title { font-size: 26px; color: blue; p Style and layout information y y } // Id selector to define a unique – Defines how to display HTML  style for a unique component element: position, color, background  #mainView { color etc. color etc font size: font-size: 16px; color: red; text-align: center; CSS information can be embedded in the HTML } file or imported from an external styleheet // Pseudo-class selector to design pattern style tt t l div.subview div { margin: 10px 0 0 0; padding: 20px 20px 20px 20px; }
  • 20. JavaScript Event handling g XMLHttpRequest p q DOM manipulation p UI effects UI tweaking UI tweaking
  • 21. Platform Services Framework for abstracting access to a set of services Runtime specific bindings and security management Runtime specific bindings and security management Access Platform Services through JavaScript Example use cases: Combine Web‐based data with local context to deliver  personalized, relevant services Save critical Web‐based contacts and events locally to create  reliable, dependable reminders Camera Messaging Media Management Calendar  Sensor Communication Logs Contacts System information Location Landmarks
  • 22. Home Screen What it is for the end‐user? Home Screen view – Add / Add / remove home screen content h t t – Tap content to open widget full screen view Home Screen Widget has 2 views – Home Screen view – Fullscreen view Fullscreen view Interaction while in Home Screen – onload() and onresize() as widget  side interface functions side interface functions – JavaScript code to determine current view  size – correct view rendered
  • 23. It’s all JavaScript but... bare in mind that Intel® Core™ i7 2 66GHz 2.66GHz (8MB Cache) 3GB Triple Channel 1067Mhz DDR3 500GB - SATA-II, 3Gb/s, 7,200RPM ARM 11  ARM 11 434 MHz 434 MHz processor  128 MB RAM 32 GB storage
  • 24. Thanks! miha.lesjak@inova.si

Editor's Notes

  1. …no clear cut standard as of nowOur interest is to maximize innovation and reduce fragmentationDevice APIsPackagingSigningInteroperability…we will see a lot of progress in the coming months and yearsThe important thing to understand is that we have already deployed WRT to millions of devices.It’s out there; go and execute
  2. What we started with3.2 + 3.1 backportsNecessities for app developmentProviding you the ’good sides’ of S60 LAF for your appThe sandbox was quite tightStarting from the high selling N5800Platform ServicesJavaScript and ActionScript access to core APIsPowerful mashupsThe next evolution will provide a much cleaner JavaScript style interfaceExtendable service frameworkPossibility to create your own servicesN97 brings another fantastic iterationVery easy to provide a MiniView to your widget’s live dataPrime locationData from platform servicesCheck out the Accuweather on the video later onThis is a key difference makerWhile the sandbox is tight…Hack-it-babyThe platform is open, go and createHTTP server, Scriptaböe pluginsMiha will share something from his bag of tricks
  3. So you understand the boundaries or the lack there-of…How?Well, how do you develop for the web?- Notepad, dreamweaver, custom toolchain (Miha)?What our toolbox currently providesDevicesEmulatorScript debuggingAptana pluginPreviewPackagingDeploymentDebuggingCode completionV2Plat ServMiniViewWe have a nice roadmap for the tool support