SlideShare a Scribd company logo
1 of 67
Download to read offline
Bringing your Web investment
to Nokia devices

Kenneth Rohde Christiansen
Bossa Conference, Manaus, March 2010
A LOOK AT QT’S WEB AND HYBRID OFFERINGS
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I?
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I? KENNETH R. CHRISTIANSEN
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
2+ YEAR WORKING WITH WEBKIT
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
2+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH
APP DEVELOPMENT USING DECLARATIVE LANGUAGE
A LOOK AT QT’S WEB AND HYBRID OFFERINGS

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
2+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH
APP DEVELOPMENT USING DECLARATIVE LANGUAGE NOKIA
TECHNOLOGY INSTITUTE, INdT
INTRODUCING
THE WORLD WIDE WEB
Looking back at the last 10 years
The impach of Web as a technology




  If somehing has had a huge impact on the
  last decade it has been the Web
Looking back at the last 10 years
The impach of Web as a technology




  If somehing has had a huge impact on the
  last decade it has been the Web
             It has changed out lifes, how we aquire
             information, how we interact with other
             people, how we share
Looking back at the last 10 years
The impach of Web as a technology




  If somehing has had a huge impact on the
  last decade it has been the Web
             It has changed out lifes, how we aquire
             information, how we interact with other
             people, how we share

        It is leaving the desktop machines are moving
        to all new kind of devices, such as mobile
        phones, TVs, gaming devices; everything is
        more connected
Looking back at the last 10 years
The impach of Web as a technology




     It is changing how we write applications,
     where information is stored, and how
     we share data
AJAX, the playfield changer
The impach of Web as a technology




     AJAX was the next big playfield changer
AJAX, the playfield changer
The impach of Web as a technology




     AJAX was the next big playfield changer
             It made web applications a reality, brought
             new services such as GMail, Google Maps,
             Facebook, etc
AJAX, the playfield changer
The impach of Web as a technology




     AJAX was the next big playfield changer
             It made web applications a reality, brought
             new services such as GMail, Google Maps,
             Facebook, etc



                                    ...but it also left a lot to be desired
webapps
Missing functionality, lots of
assumptions about being
online, hard to develop for
webapps
JS libraries, the new HTML5 features have made this
easier but at the same time the user requirements for
application interfaces HAVE CHANGED
webapps
The fact is that the web has not designed for apps, but
patched for it.

     That said, things are about to change...
webapps
Apps are different in contents
webapps
Apps are different in contents

  More connected
webapps
Apps are different in contents

  More connected
  Aggregating information
webapps
Apps are different in contents

  More connected
  Aggregating information
  Run unmodified almost everywhere
webapps
Apps are different in contents

  More connected
  Aggregating information
  Run unmodified almost everywhere
  Deployment and updating is costly
webapps
Apps are different in contents

  More connected
  Aggregating information
  Run unmodified almost everywhere
  Deployment and updating is costly

 Net result: everyone are doing web
CHROME
  OS                         webapps
                             NOKIA OVI
             PALM            SERVICES
             WEBOS

                                          GOOGLE MAPS,
   APPLE                                 PICASA, FLICKR,
IWORKS.COM                                GOOGLE DOCS

                MICROSOFT
               OFFICE LIVE
A phone without a great Web browser is soon to be the
past / Video Games build web services and communities
around their games / Settop boxes get movie review a.o
from the internet
A phone without a great Web browser is soon to be the
past / Video Games build web services and communities
around their games / Settop boxes get movie review a.o
from the internet




     Maybe things have already changed...
SO WHAT ARE
THE NOKIA OFFERINGS?
Today we will look at what you choices are
when targeting Nokia devices
                Right now and in the near future



         Currently, not all that great,
             but things are about to change
So you have decided to make a web app

       Some common reasons
        - Have existing web service
        - Want to share user interface code
        - Update user interface on demand
        - Target many different platforms:
          could be Android, iPhone, Nokia ...
USING THE DEFAULT BROWSER

     Symbian comes w/ limited WebKit browser
     - S60 Port, not Qt-based

     Maemo comes with MicroB browser
     - Mozilla engine, desktop like
Downsides...

      It’s a browser, there’s chrome, yack!
      Test the Ovi store on N900 for yourself

      MicroB doesn’t support any of the CSS animations,
      transformation etc.
            Scrolling lists feels like scrolling pages
What are the competitors doing?

    iPhone WebKit has extensions to hide the chrome


     Still, no fixed elements. Solution?
     Yes, we get back to that.
ROLLING YOUR OWN THING
 To make a web app, you basically need a launcher
 providing a web view + web contents

 Create a window, add a QWebView, adjust the
 settings, load the contents



                             That is it!
...but wait a sec
  Rolling your own thing involves “native code”

  Why would we ever want to go there?
  Isn’t the web all about avoid native code?


                                     Remember the
...but wait a sec
  Rolling your own thing involves “native code”

  Why would we ever want to go there?
  Isn’t the web all about avoid native code?


                                     Remember the
                           Use-Cases!
Use-Case
Imagine you are a settop box company. Your boxes
has a tv and a web interface, plus a nice web site

Sharing and reusing web code is a goal
So is, not reduced functionality

                       Keywords: HW access
                                 Nice, fast UX
Introducing the Qt bridge
With Qt WebKit you can expose QObject derived
instances to the JavaScript runtime

Enabling device access, image manipulation on the
native side



                   It’s simple, fast, works well
Want more?
We also allow you to create QGraphicsItem or
QWidget based plugins for the web view.
Want more?
We also allow you to create QGraphicsItem or
QWidget based plugins for the web view.

Together we call this wrote approach for


        THE HYBRID APPROACH
NON-NATIVE
APPROACH, DOES IT EXIST?
Out of the box Web runtime?
How to go about it




                On the Symbian platform
                WebRuntime provides exactly this

                - A runtime for running web apps
                - An implementation of a recent version
                  of the W3C Widgets 1.0 spec + extensions
Web Widgets 1.0 in a nutshell
What is it all about



               A Zip file containing resources:
                              html, js, images


        A config.xml providing metadata
                           size, title, icon etc


                Validation, security in place



     Samsung also supports the spec
So what is the point?
What is it all about




       Widgets 1.0 provides spec on it’s own for adding for
       instance an important view mode feature

       The CSS view mode media feature provides the
       ability to use custom CSS depending on the current
       mode

                   @media handheld and (view-mode: mini) {
                       body { background-color: black; }
                    }
                   @media tv and (view-mode: fullscreen) { ... }
                   @media all and (view-mode: floating) { ... }
View Mode Media Feature
Just an example




     Widgets 1.0 specifies 4 modes

     mini: a docket representation for example in a panel,
           think Windows Vista, no interactivity, etc
     floating: the widget representation, floating on the
           Desktop or phone Home Screen

     Plus 2 application modes: application and fullscreen
View Mode Media Feature
Just an example




  It will also be possible to change mode via JS (a DOM
  event) as well as receive notificatings of changes


  note: using config.xml you can define which modes you
  support
Widgets 1.0 all in all
A summary




 Provides the launcher for making installable web apps.
 + additional security / validation
 + different representation modes + switching
 + slightly more complicated than the Apple approach
   if your whole app lives online:
     You need to create a fake package and install it,
     Creating a desktop link is not enough
WEB RUNTIME
== WIDGETS 1.0 ?
Back to Web Runtime
Relation to Widgets 1.0




      Web Runtime is based on, but not limited to W 1.0

      - will provide more desktop integration (menu
      integration exists in current public API)

      - provides JavaScript API’s for accessing device
      functionality
Back to Web Runtime
Relation to Widgets 1.0




      Platform Services JavaScript API accessed through
      the nokia.device object:

                                     Contacts
      Location
                                                Messaging
                          Camera
                                       Media
                                   management



      This is where the security / trusted      Calendar
      widgets becomes important
Platform support
Can I use it?




       But this was all Symbian only?


       No... At Maemo Summit ’09 it was announced that
             Nokia is dedicated to support Web Runtime on
             the Maemo platform, and that the next release
             will be Qt WebKit based.




                                                ; -)
What does this mean?
Qt Webkit based Web Runtime




   it means WebKit!
        Just like the iPhone / Android - all apps should work
        more or less out of the box
    Issues could be due to a.o port differences, user agent


    Mobile features:
     Frame Flattening, Touch JS API, onorientationchange
     and soon Geolocation and friends.
Mobile WebKit
What to be aware of




  Due to nice working, fast scrolling, zooming etc,
  Mobile WebKit implementations:

     Do no support CSS themable scrollbars and normally
     use scroll indicators instead
     Prevent any web app from having fixed elements,
     such as fixed header, footer and scrollable central
     area

  Qt WebKit on mobile will behave similarly
WebKit feature
There are some positive point in using WebKit as wel




  WebKit provides many CSS extensions
  - most pushed to standardization (if of no use: removed)
  - most of they are currently in draft state

      It provides many new interesting features from the
      upcoming DOM, CSSOM and HTML specs
      Many, foundation for making web apps


  Unfortunately, we [Qt] do not yet support it all
WebKit feature
There are some positive point in using WebKit as wel




   Examples:


   WebDatabase, Local/Session, Web Application Cache,
   CSS Media Types and Features, (Shared) Web Workers
It is all about the UX
The user interface is also quite important today




   For making interfaces the most interesting features are:
   CSS transitions, animation and transformations

   Provides ways of transforming and animating
   elements using CSS or via JavaScript using the
   CSSOM

         Specs originate from WebKit
         Was designed considering hardware acceleration
Want real OpenGL
The user interface is also quite important today




   Qt WebKit supports WebGL, an OpenGL ES JavaScript
   API for the Web



          - Basic support is in place, done by Tieto
               - Obviously require OpenGL (ES)
Back to that UI header issue
Fixed elements, a no-go




    The CSS transformations + HW acceleration, or
    actually the fact they live outside the DOM, makes it
    possible to emulate the fixed header + provide fast
    kinetic lists implementations
Back to that UI header issue
Fixed elements, a no-go




  So far the most successful implementation of this is the
  PastryKit API from Apple


     PastryKit provides a mini web toolkit for the iPhone
     It is used by the iPhone 3.0 user guide
     Basically impossible to tell that it is not native
     List scroll like iPhone lists and not like web pages
ROUNDING UP
Rounding up
Nokia devices




  Want do do web apps targeting Nokia Devices?


     Web Runtime is the answer, but
     Symbian only for now
Rounding up
Other devices




  Want to do web apps targeting other kind of devices
  such as custom hardware, settop boxes or the desktop?


       The Hybrid Approach is a very
       powerful solution
Rounding up
Two good approaches




 Both approaches uses Qt WebKit


      reuse of application code and service is possible to a
      good extend
Qt WebKit
A good WebKit port all around




 Qt WebKit provides a similar
 experience as other desktop and
 mobile ports or WebKit
 It has a great API. We believe it is far the best native and
 most powerful WebKit API, and so does many of our
 users

 It is a bit behind Apple and Google port in terms of feature
 support and performance (crucial for mobile devices)
Qt WebKit
A good WebKit port all around




 ...but we are catching up quickly and our upcoming

        Qt WebKit 2.0 add-on for Qt 4.6
  additionally distributed with Qt 4.7 will be a game changer

      - Vastly improved performance
      - Additional feature compliance/support
      - Maemo5 support
      - Mobile experience closer to iPhone / Android
      - Base for future Web Runtime
      - Same great API as ever!
Thanks for listening
I hope the talk provided some insights into the current and
future Nokia Web offerings



KENNETH ROHDE CHRISTIANSEN
ext-kenneth.christiansen@nokia.com
kenneth.christiansen@openbossa.org

More Related Content

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
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
 
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
 
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
 
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
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
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...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
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
 
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
 
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
 
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
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Bringing your Web investment to Nokia devices

  • 1. Bringing your Web investment to Nokia devices Kenneth Rohde Christiansen Bossa Conference, Manaus, March 2010
  • 2. A LOOK AT QT’S WEB AND HYBRID OFFERINGS
  • 3. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I?
  • 4. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I? KENNETH R. CHRISTIANSEN
  • 5. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
  • 6. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 2+ YEAR WORKING WITH WEBKIT
  • 7. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 2+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH APP DEVELOPMENT USING DECLARATIVE LANGUAGE
  • 8. A LOOK AT QT’S WEB AND HYBRID OFFERINGS WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 2+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH APP DEVELOPMENT USING DECLARATIVE LANGUAGE NOKIA TECHNOLOGY INSTITUTE, INdT
  • 10. Looking back at the last 10 years The impach of Web as a technology If somehing has had a huge impact on the last decade it has been the Web
  • 11. Looking back at the last 10 years The impach of Web as a technology If somehing has had a huge impact on the last decade it has been the Web It has changed out lifes, how we aquire information, how we interact with other people, how we share
  • 12. Looking back at the last 10 years The impach of Web as a technology If somehing has had a huge impact on the last decade it has been the Web It has changed out lifes, how we aquire information, how we interact with other people, how we share It is leaving the desktop machines are moving to all new kind of devices, such as mobile phones, TVs, gaming devices; everything is more connected
  • 13. Looking back at the last 10 years The impach of Web as a technology It is changing how we write applications, where information is stored, and how we share data
  • 14. AJAX, the playfield changer The impach of Web as a technology AJAX was the next big playfield changer
  • 15. AJAX, the playfield changer The impach of Web as a technology AJAX was the next big playfield changer It made web applications a reality, brought new services such as GMail, Google Maps, Facebook, etc
  • 16. AJAX, the playfield changer The impach of Web as a technology AJAX was the next big playfield changer It made web applications a reality, brought new services such as GMail, Google Maps, Facebook, etc ...but it also left a lot to be desired
  • 17. webapps Missing functionality, lots of assumptions about being online, hard to develop for
  • 18. webapps JS libraries, the new HTML5 features have made this easier but at the same time the user requirements for application interfaces HAVE CHANGED
  • 19. webapps The fact is that the web has not designed for apps, but patched for it. That said, things are about to change...
  • 21. webapps Apps are different in contents More connected
  • 22. webapps Apps are different in contents More connected Aggregating information
  • 23. webapps Apps are different in contents More connected Aggregating information Run unmodified almost everywhere
  • 24. webapps Apps are different in contents More connected Aggregating information Run unmodified almost everywhere Deployment and updating is costly
  • 25. webapps Apps are different in contents More connected Aggregating information Run unmodified almost everywhere Deployment and updating is costly Net result: everyone are doing web
  • 26. CHROME OS webapps NOKIA OVI PALM SERVICES WEBOS GOOGLE MAPS, APPLE PICASA, FLICKR, IWORKS.COM GOOGLE DOCS MICROSOFT OFFICE LIVE
  • 27. A phone without a great Web browser is soon to be the past / Video Games build web services and communities around their games / Settop boxes get movie review a.o from the internet
  • 28. A phone without a great Web browser is soon to be the past / Video Games build web services and communities around their games / Settop boxes get movie review a.o from the internet Maybe things have already changed...
  • 29. SO WHAT ARE THE NOKIA OFFERINGS?
  • 30. Today we will look at what you choices are when targeting Nokia devices Right now and in the near future Currently, not all that great, but things are about to change
  • 31. So you have decided to make a web app Some common reasons - Have existing web service - Want to share user interface code - Update user interface on demand - Target many different platforms: could be Android, iPhone, Nokia ...
  • 32. USING THE DEFAULT BROWSER Symbian comes w/ limited WebKit browser - S60 Port, not Qt-based Maemo comes with MicroB browser - Mozilla engine, desktop like
  • 33. Downsides... It’s a browser, there’s chrome, yack! Test the Ovi store on N900 for yourself MicroB doesn’t support any of the CSS animations, transformation etc. Scrolling lists feels like scrolling pages
  • 34. What are the competitors doing? iPhone WebKit has extensions to hide the chrome Still, no fixed elements. Solution? Yes, we get back to that.
  • 35. ROLLING YOUR OWN THING To make a web app, you basically need a launcher providing a web view + web contents Create a window, add a QWebView, adjust the settings, load the contents That is it!
  • 36. ...but wait a sec Rolling your own thing involves “native code” Why would we ever want to go there? Isn’t the web all about avoid native code? Remember the
  • 37. ...but wait a sec Rolling your own thing involves “native code” Why would we ever want to go there? Isn’t the web all about avoid native code? Remember the Use-Cases!
  • 38. Use-Case Imagine you are a settop box company. Your boxes has a tv and a web interface, plus a nice web site Sharing and reusing web code is a goal So is, not reduced functionality Keywords: HW access Nice, fast UX
  • 39. Introducing the Qt bridge With Qt WebKit you can expose QObject derived instances to the JavaScript runtime Enabling device access, image manipulation on the native side It’s simple, fast, works well
  • 40. Want more? We also allow you to create QGraphicsItem or QWidget based plugins for the web view.
  • 41. Want more? We also allow you to create QGraphicsItem or QWidget based plugins for the web view. Together we call this wrote approach for THE HYBRID APPROACH
  • 43. Out of the box Web runtime? How to go about it On the Symbian platform WebRuntime provides exactly this - A runtime for running web apps - An implementation of a recent version of the W3C Widgets 1.0 spec + extensions
  • 44. Web Widgets 1.0 in a nutshell What is it all about A Zip file containing resources: html, js, images A config.xml providing metadata size, title, icon etc Validation, security in place Samsung also supports the spec
  • 45. So what is the point? What is it all about Widgets 1.0 provides spec on it’s own for adding for instance an important view mode feature The CSS view mode media feature provides the ability to use custom CSS depending on the current mode @media handheld and (view-mode: mini) { body { background-color: black; } } @media tv and (view-mode: fullscreen) { ... } @media all and (view-mode: floating) { ... }
  • 46. View Mode Media Feature Just an example Widgets 1.0 specifies 4 modes mini: a docket representation for example in a panel, think Windows Vista, no interactivity, etc floating: the widget representation, floating on the Desktop or phone Home Screen Plus 2 application modes: application and fullscreen
  • 47. View Mode Media Feature Just an example It will also be possible to change mode via JS (a DOM event) as well as receive notificatings of changes note: using config.xml you can define which modes you support
  • 48. Widgets 1.0 all in all A summary Provides the launcher for making installable web apps. + additional security / validation + different representation modes + switching + slightly more complicated than the Apple approach if your whole app lives online: You need to create a fake package and install it, Creating a desktop link is not enough
  • 50. Back to Web Runtime Relation to Widgets 1.0 Web Runtime is based on, but not limited to W 1.0 - will provide more desktop integration (menu integration exists in current public API) - provides JavaScript API’s for accessing device functionality
  • 51. Back to Web Runtime Relation to Widgets 1.0 Platform Services JavaScript API accessed through the nokia.device object: Contacts Location Messaging Camera Media management This is where the security / trusted Calendar widgets becomes important
  • 52. Platform support Can I use it? But this was all Symbian only? No... At Maemo Summit ’09 it was announced that Nokia is dedicated to support Web Runtime on the Maemo platform, and that the next release will be Qt WebKit based. ; -)
  • 53. What does this mean? Qt Webkit based Web Runtime it means WebKit! Just like the iPhone / Android - all apps should work more or less out of the box Issues could be due to a.o port differences, user agent Mobile features: Frame Flattening, Touch JS API, onorientationchange and soon Geolocation and friends.
  • 54. Mobile WebKit What to be aware of Due to nice working, fast scrolling, zooming etc, Mobile WebKit implementations: Do no support CSS themable scrollbars and normally use scroll indicators instead Prevent any web app from having fixed elements, such as fixed header, footer and scrollable central area Qt WebKit on mobile will behave similarly
  • 55. WebKit feature There are some positive point in using WebKit as wel WebKit provides many CSS extensions - most pushed to standardization (if of no use: removed) - most of they are currently in draft state It provides many new interesting features from the upcoming DOM, CSSOM and HTML specs Many, foundation for making web apps Unfortunately, we [Qt] do not yet support it all
  • 56. WebKit feature There are some positive point in using WebKit as wel Examples: WebDatabase, Local/Session, Web Application Cache, CSS Media Types and Features, (Shared) Web Workers
  • 57. It is all about the UX The user interface is also quite important today For making interfaces the most interesting features are: CSS transitions, animation and transformations Provides ways of transforming and animating elements using CSS or via JavaScript using the CSSOM Specs originate from WebKit Was designed considering hardware acceleration
  • 58. Want real OpenGL The user interface is also quite important today Qt WebKit supports WebGL, an OpenGL ES JavaScript API for the Web - Basic support is in place, done by Tieto - Obviously require OpenGL (ES)
  • 59. Back to that UI header issue Fixed elements, a no-go The CSS transformations + HW acceleration, or actually the fact they live outside the DOM, makes it possible to emulate the fixed header + provide fast kinetic lists implementations
  • 60. Back to that UI header issue Fixed elements, a no-go So far the most successful implementation of this is the PastryKit API from Apple PastryKit provides a mini web toolkit for the iPhone It is used by the iPhone 3.0 user guide Basically impossible to tell that it is not native List scroll like iPhone lists and not like web pages
  • 62. Rounding up Nokia devices Want do do web apps targeting Nokia Devices? Web Runtime is the answer, but Symbian only for now
  • 63. Rounding up Other devices Want to do web apps targeting other kind of devices such as custom hardware, settop boxes or the desktop? The Hybrid Approach is a very powerful solution
  • 64. Rounding up Two good approaches Both approaches uses Qt WebKit reuse of application code and service is possible to a good extend
  • 65. Qt WebKit A good WebKit port all around Qt WebKit provides a similar experience as other desktop and mobile ports or WebKit It has a great API. We believe it is far the best native and most powerful WebKit API, and so does many of our users It is a bit behind Apple and Google port in terms of feature support and performance (crucial for mobile devices)
  • 66. Qt WebKit A good WebKit port all around ...but we are catching up quickly and our upcoming Qt WebKit 2.0 add-on for Qt 4.6 additionally distributed with Qt 4.7 will be a game changer - Vastly improved performance - Additional feature compliance/support - Maemo5 support - Mobile experience closer to iPhone / Android - Base for future Web Runtime - Same great API as ever!
  • 67. Thanks for listening I hope the talk provided some insights into the current and future Nokia Web offerings KENNETH ROHDE CHRISTIANSEN ext-kenneth.christiansen@nokia.com kenneth.christiansen@openbossa.org