SlideShare a Scribd company logo
Building a Next Generation Mobile
Browser

Adam Stanley @n_adam_stanley

October 19, 2012
                                    1
Hello World

 Adam Stanley
     Team Lead, BlackBerry Developer Relations
     Likes: ninjas, bacon, JavaScript
     Dislikes: cilantro, Styrofoam, JavaScript
     127.0.0.1 is Waterloo, Ontario, Canada




                                                  2
The Cast

 The new BlackBerry 10 browser
     http://www.blackberry.com/html5




                                        3
Sneak peak



              Everything you
             see in the chrome
              is actually Web
                  content!

             “Built for the Web,
              using the Web”

                                   4
A Next Generation Browser
Setting the stage

 Building something awesome:
     The BlackBerry 10 browser
     Web platform
     Natively Web
     Inside the browser
     Optimizations
     Lessons learned
     Development tools


                                  6
How does it look at 1024 feet?


 Browser Application

   WebKit engine

     Web platform

        Multi-processing OS
Metaphor time




                8
In perfect harmony



                     Bacon          Happy




              Tomato         Mayo

                                            9
A browser, in harmony



                      Rich Content
                                             Awesome
                         Fidelity




                 High           Great User
             Performance        Experience


                                                       10
The next generation mobile browser



   “The BlackBerry 10 browser combines
  powerful web rendering engine capabilities
    with multi-threaded web view objects to
       render both chrome and content.”


                                               11
Web Platform

 Framework for Web applications
     The Browser, WebWorks SDK, and QNXCar2 UI
     BlackBerry 10 UI elements


 Multi-process launcher
     Management of concurrent WebViews
     Native API access from JavaScript
       e.g. PPS, sharing framework, invocation framework


                                                            12
Why Web for a browser?

 Why use Web instead of Native?
   Leader in HTML5 development (feature coverage)

   Leader in HTML5 implementation (performance)

   Leader in HTML5 developer experience (community, tooling)



 Push the boundaries of what can be done
   Eat our own dog food

   Stronger browser

   Stronger platform


                                                                13
Ingredient 1 : Fidelity

 Support the web really well
     Powered by WebKit
     HTML5, CSS3
     Flash
     WebGL                                http://www.html5test.com

     Driven by strong standards support




                                                               14
Ingredient 2 : Performance

 Hardware accelerated CSS3 transformations (GPU)

 Touch Input events optimized for quick response times

 Progressive page loading
     WebKit engine optimized for kinetic scrolling (iScroll not needed!)




                                                                            15
Webviews




           16
WebView

 Independent Web content containers
     Similar to a browser “tab”, but layered on top of each other




                                                                     17
Two types of WebViews

 “Chrome” WebViews are granted special privileges
     WebView API access
     Native API plugin
     Relaxed Web runtime constraints (e.g. FileSystem sandbox)


 “Content” WebViews are optimized for websites
     Large backing store
     Access to disk cache
     Can scroll the webview without repainting page content
                                                                  18
Inside the Browser Application


                                                     RPC
                                                           Navigation Bar
  Weblauncher                           Chrome              (Webview)
    (native)
    Create                             (Webview)

                                       index.html
                                                     RPC
   Native API                            qnx.*              App Menu
                JS/Native Binding                           (Webview)



                                    Chrome Process
                                                                            19
Inside the Browser Application

                                                                 Navigation Bar
  Weblauncher                        Chrome                        Webview
    Create
    (native)                         Webview

    Native API
                                                                    App Menu
                                                                    Webview

                                 Chrome Process
                                 Content Process (tabs)


   smh.com.au    starbucks.com         blackberry.com     aircanada.com     ...


                                                                                  20
Ingredient 3 : Experience

 Intuitive
     You already know how to use it


 Integrated & Contextual
     It knows what you want to do next

 Moments of charm
     It’ s more than just drawing web pages

                                               21
Intuitive “Look and Feel”

 BlackBerry 10 native UI guidelines

 UI elements:
     Action bar
     Crosscut menus
     Viewers/cards
     Form controls
     Sheets
     Dialogs

                                       22
Native UI in the browser

 Web versions of native BlackBerry 10 UI
     Each UI element defined in its own web view
     Uses HTML, CSS, JavaScript, SVG, images


 CSS transitions
     Hardware accelerated compositing
     Smooth animations
Contextual

 It knows what you want to do next
     Contextual menu
     Keyboard




                                      24
Moments of charm

 Native hardware integration
     Camera
     Disk cache
     Sensors
     Geolocation

 Native software integration:
     Invocation framework
     Instant messaging
                                 http://people.opera.com/danield/html5/explode
Developers

 Remote Web Inspector
     Debug web content running from a simulator or live device




                                                                  26
Developers

 User Agent
     Leaving the past behind
     Reducing poor user experiences targeting LCD browsers

Mozilla/5.0 (BB10; <Device Model>) AppleWebKit/<WebKit Version>
(KHTML, like Gecko) Version/<BB Version #> Mobile Safari/<WebKit Version>


 Desktop mode
     Can emulate desktop Chrome user agent on demand
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/<WebKit Version>
(KHTML, like Gecko) Chrome/21.0.1180.75 Safari/<WebKit Version>
Lessons learned

 Many interesting problems:
     Disk access
     Window animations
     Localization
     Web overlays
     Access to screen




                               28
Lessons learned

 Rules are meant to be broken …




 New CSS :
     webkit-overflow-scrolling: -blackberry-touch
     text-overflow: -blackberry-fade
     data-blackberry-end-selection-on-touch=“on”
                                                     29
Lessons learned

 Some problems remain unsolved:

     Animating block height

     Efficient large data transfer

     The web is still fundamentally single-threaded



                                                       30
Lessons learned

 Conclusion: “A browser built for the Web using the Web”
     Yes, good performance is possible
     Yes, rich and responsive UI is possible
     Yes, highly interactive web apps are possible


 Proof:
     BlackBerry 10



                                                            31
The Future

 The bar has been raised:
     We want everyone to develop Web applications as powerful as the
      new BlackBerry 10 Browser


 The evolution continues:
     The Web engine is constantly getting faster and more powerful
     This technology will be coming to WebWorks


 As the “Open Web Platform” evolves, more will be
  possible across platforms                                             32
Melbourne, Oct 19
Building a Next Generation Mobile Browser using Web technologies
Thank you


Adam Stanley @n_adam_stanley

October 19, 2012

More Related Content

PDF
Sencha touchonbb10 bootcamp
PPTX
Html5 features: location, history and offline apps
PPTX
BlackBerry WebWorks
PDF
RIM Casual Meetup - Bandung #DevIDBdg
PDF
Sg conference multiplatform_apps_adam_stanley
PDF
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
PDF
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
PPTX
Transforming the web into a real application platform
Sencha touchonbb10 bootcamp
Html5 features: location, history and offline apps
BlackBerry WebWorks
RIM Casual Meetup - Bandung #DevIDBdg
Sg conference multiplatform_apps_adam_stanley
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
Transforming the web into a real application platform

What's hot (19)

PPTX
JavaScript on HP webOS: Enyo and Node.js
PDF
BlackBerry10: "Built For BlackBerry (BFB)"
PDF
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
KEY
Intro To webOS
PDF
Korea linuxforum2014 html5game-sangseoklim
PPTX
10 things you can do to speed up your web app today 2016
PDF
Wordcamp Thessaloniki 2011 The Nextweb
PPT
The Status Of Web Interoperability And Activities In China, Japan And Korea
PDF
FEDM Meetup: Introducing Mojito
PDF
soft-shake.ch - Introduction to HTML5
PDF
Frontend Monoliths: Run if you can!
PPTX
Amp by Google: The Present And Future Of Quick Content Delivery
PDF
Front-end optimisation & jQuery Internals
PPT
Palm WebOS Overview
PPTX
Introduction to JQuery, ASP.NET MVC and Silverlight
PDF
A Work Day Of A Web Developer
PDF
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
PDF
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
PDF
Deview 2013 mobile browser internals and trends_20131022
JavaScript on HP webOS: Enyo and Node.js
BlackBerry10: "Built For BlackBerry (BFB)"
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
Intro To webOS
Korea linuxforum2014 html5game-sangseoklim
10 things you can do to speed up your web app today 2016
Wordcamp Thessaloniki 2011 The Nextweb
The Status Of Web Interoperability And Activities In China, Japan And Korea
FEDM Meetup: Introducing Mojito
soft-shake.ch - Introduction to HTML5
Frontend Monoliths: Run if you can!
Amp by Google: The Present And Future Of Quick Content Delivery
Front-end optimisation & jQuery Internals
Palm WebOS Overview
Introduction to JQuery, ASP.NET MVC and Silverlight
A Work Day Of A Web Developer
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
Deview 2013 mobile browser internals and trends_20131022
Ad

Viewers also liked (17)

PPT
Bab 9 : Warisan Kesultanan Melayu
PDF
Nelson Engineering Brochure
PPTX
Ashley young
PDF
Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...
DOCX
Bitácora #3...
PDF
The SPI Buyer Direct Roadmap
PPTX
Visual learning
PDF
Papji - Ébredj fel és ordíts
PDF
Understanding DO-178: Importance and How It Affects Your Company
PDF
Bhadrachala Ramadasu kirthanalu 108 by NKM
PPTX
Rediscovering the 'WHY' of meetings and conferences
PDF
Forecasting Essentials for SPI Buyer Direct
PPTX
Why ISO-27001 is a better choice?
PPT
Untitled Powtoon 263
PPTX
Scholenaanbod bib 2015 2016
PDF
LYRIC_Freeliner_HANDICAP_1_2012.pdf
PPT
Problemas Ambientales
Bab 9 : Warisan Kesultanan Melayu
Nelson Engineering Brochure
Ashley young
Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...
Bitácora #3...
The SPI Buyer Direct Roadmap
Visual learning
Papji - Ébredj fel és ordíts
Understanding DO-178: Importance and How It Affects Your Company
Bhadrachala Ramadasu kirthanalu 108 by NKM
Rediscovering the 'WHY' of meetings and conferences
Forecasting Essentials for SPI Buyer Direct
Why ISO-27001 is a better choice?
Untitled Powtoon 263
Scholenaanbod bib 2015 2016
LYRIC_Freeliner_HANDICAP_1_2012.pdf
Problemas Ambientales
Ad

Similar to Building a Next Generation Mobile Browser using Web technologies (20)

PPT
BB10 Leading Mobile Web Platform W3C 2013
PDF
Developing for Mobile Web
PDF
Web Browser Demystified
PDF
"BlackBerry Webworks : Apps for The Smartphone and Tablet"
PDF
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
PDF
The Enterprise Dilemma: Native vs. Web
PDF
Mobile Web & HTML5 Performance Optimization
PDF
Mobile Web Best Practices
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
PDF
Drupalcamp New York 2009
PDF
Trends in front end engineering_handouts
PPTX
HTML5 WebWorks
PDF
Cross platform mobile web apps
PDF
Best practices for delivering quality web experiences
PDF
A Snapshot of the Mobile HTML5 Revolution
PDF
Hybrid Apps / iPhoneDevCon 2010
PDF
Building Mobile Websites with Joomla
PDF
An Intro to Mobile HTML5
PDF
WebWorks Development for BlackBerry PlayBook and Smartphones
BB10 Leading Mobile Web Platform W3C 2013
Developing for Mobile Web
Web Browser Demystified
"BlackBerry Webworks : Apps for The Smartphone and Tablet"
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
The Enterprise Dilemma: Native vs. Web
Mobile Web & HTML5 Performance Optimization
Mobile Web Best Practices
HTML5 and the dawn of rich mobile web applications pt 1
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Drupalcamp New York 2009
Trends in front end engineering_handouts
HTML5 WebWorks
Cross platform mobile web apps
Best practices for delivering quality web experiences
A Snapshot of the Mobile HTML5 Revolution
Hybrid Apps / iPhoneDevCon 2010
Building Mobile Websites with Joomla
An Intro to Mobile HTML5
WebWorks Development for BlackBerry PlayBook and Smartphones

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
Teaching material agriculture food technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Building a Next Generation Mobile Browser using Web technologies

  • 1. Building a Next Generation Mobile Browser Adam Stanley @n_adam_stanley October 19, 2012 1
  • 2. Hello World  Adam Stanley  Team Lead, BlackBerry Developer Relations  Likes: ninjas, bacon, JavaScript  Dislikes: cilantro, Styrofoam, JavaScript  127.0.0.1 is Waterloo, Ontario, Canada 2
  • 3. The Cast  The new BlackBerry 10 browser  http://www.blackberry.com/html5 3
  • 4. Sneak peak Everything you see in the chrome is actually Web content! “Built for the Web, using the Web” 4
  • 6. Setting the stage  Building something awesome:  The BlackBerry 10 browser  Web platform  Natively Web  Inside the browser  Optimizations  Lessons learned  Development tools 6
  • 7. How does it look at 1024 feet? Browser Application WebKit engine Web platform Multi-processing OS
  • 9. In perfect harmony Bacon Happy Tomato Mayo 9
  • 10. A browser, in harmony Rich Content Awesome Fidelity High Great User Performance Experience 10
  • 11. The next generation mobile browser “The BlackBerry 10 browser combines powerful web rendering engine capabilities with multi-threaded web view objects to render both chrome and content.” 11
  • 12. Web Platform  Framework for Web applications  The Browser, WebWorks SDK, and QNXCar2 UI  BlackBerry 10 UI elements  Multi-process launcher  Management of concurrent WebViews  Native API access from JavaScript  e.g. PPS, sharing framework, invocation framework 12
  • 13. Why Web for a browser?  Why use Web instead of Native?  Leader in HTML5 development (feature coverage)  Leader in HTML5 implementation (performance)  Leader in HTML5 developer experience (community, tooling)  Push the boundaries of what can be done  Eat our own dog food  Stronger browser  Stronger platform 13
  • 14. Ingredient 1 : Fidelity  Support the web really well  Powered by WebKit  HTML5, CSS3  Flash  WebGL http://www.html5test.com  Driven by strong standards support 14
  • 15. Ingredient 2 : Performance  Hardware accelerated CSS3 transformations (GPU)  Touch Input events optimized for quick response times  Progressive page loading  WebKit engine optimized for kinetic scrolling (iScroll not needed!) 15
  • 16. Webviews 16
  • 17. WebView  Independent Web content containers  Similar to a browser “tab”, but layered on top of each other 17
  • 18. Two types of WebViews  “Chrome” WebViews are granted special privileges  WebView API access  Native API plugin  Relaxed Web runtime constraints (e.g. FileSystem sandbox)  “Content” WebViews are optimized for websites  Large backing store  Access to disk cache  Can scroll the webview without repainting page content 18
  • 19. Inside the Browser Application RPC Navigation Bar Weblauncher Chrome (Webview) (native) Create (Webview) index.html RPC Native API qnx.* App Menu JS/Native Binding (Webview) Chrome Process 19
  • 20. Inside the Browser Application Navigation Bar Weblauncher Chrome Webview Create (native) Webview Native API App Menu Webview Chrome Process Content Process (tabs) smh.com.au starbucks.com blackberry.com aircanada.com ... 20
  • 21. Ingredient 3 : Experience  Intuitive  You already know how to use it  Integrated & Contextual  It knows what you want to do next  Moments of charm  It’ s more than just drawing web pages 21
  • 22. Intuitive “Look and Feel”  BlackBerry 10 native UI guidelines  UI elements:  Action bar  Crosscut menus  Viewers/cards  Form controls  Sheets  Dialogs 22
  • 23. Native UI in the browser  Web versions of native BlackBerry 10 UI  Each UI element defined in its own web view  Uses HTML, CSS, JavaScript, SVG, images  CSS transitions  Hardware accelerated compositing  Smooth animations
  • 24. Contextual  It knows what you want to do next  Contextual menu  Keyboard 24
  • 25. Moments of charm  Native hardware integration  Camera  Disk cache  Sensors  Geolocation  Native software integration:  Invocation framework  Instant messaging http://people.opera.com/danield/html5/explode
  • 26. Developers  Remote Web Inspector  Debug web content running from a simulator or live device 26
  • 27. Developers  User Agent  Leaving the past behind  Reducing poor user experiences targeting LCD browsers Mozilla/5.0 (BB10; <Device Model>) AppleWebKit/<WebKit Version> (KHTML, like Gecko) Version/<BB Version #> Mobile Safari/<WebKit Version>  Desktop mode  Can emulate desktop Chrome user agent on demand Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/<WebKit Version> (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/<WebKit Version>
  • 28. Lessons learned  Many interesting problems:  Disk access  Window animations  Localization  Web overlays  Access to screen 28
  • 29. Lessons learned  Rules are meant to be broken …  New CSS :  webkit-overflow-scrolling: -blackberry-touch  text-overflow: -blackberry-fade  data-blackberry-end-selection-on-touch=“on” 29
  • 30. Lessons learned  Some problems remain unsolved:  Animating block height  Efficient large data transfer  The web is still fundamentally single-threaded 30
  • 31. Lessons learned  Conclusion: “A browser built for the Web using the Web”  Yes, good performance is possible  Yes, rich and responsive UI is possible  Yes, highly interactive web apps are possible  Proof:  BlackBerry 10 31
  • 32. The Future  The bar has been raised:  We want everyone to develop Web applications as powerful as the new BlackBerry 10 Browser  The evolution continues:  The Web engine is constantly getting faster and more powerful  This technology will be coming to WebWorks  As the “Open Web Platform” evolves, more will be possible across platforms 32
  • 35. Thank you Adam Stanley @n_adam_stanley October 19, 2012