SlideShare una empresa de Scribd logo
1 de 35
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
Thank you


Adam Stanley @n_adam_stanley

October 19, 2012

Más contenido relacionado

La actualidad más candente

JavaScript on HP webOS: Enyo and Node.js
JavaScript on HP webOS: Enyo and Node.jsJavaScript on HP webOS: Enyo and Node.js
JavaScript on HP webOS: Enyo and Node.jsBen Combee
 
BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"Dr. Ranbijay Kumar
 
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMIBACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMI
BACnet HMI5 - BACnet Touch Panel - BACnet Touch Screen - HMIbacmove
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOSfpatton
 
Korea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklimKorea linuxforum2014 html5game-sangseoklim
Korea linuxforum2014 html5game-sangseoklimSang Seok Lim
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016Chris Love
 
Wordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebWordcamp Thessaloniki 2011 The Nextweb
Wordcamp Thessaloniki 2011 The NextwebGeorge Kanellopoulos
 
The Status Of Web Interoperability And Activities In China, Japan And Korea
The Status Of Web Interoperability And Activities In China, Japan And KoreaThe Status Of Web Interoperability And Activities In China, Japan And Korea
The Status Of Web Interoperability And Activities In China, Japan And KoreaChanny Yun
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoCaridy Patino
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Jonas Bandi
 
Amp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content DeliveryAmp by Google: The Present And Future Of Quick Content Delivery
Amp by Google: The Present And Future Of Quick Content DeliveryRaunak Hajela
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsArtur Cistov
 
Introduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and SilverlightIntroduction to JQuery, ASP.NET MVC and Silverlight
Introduction to JQuery, ASP.NET MVC and SilverlightPeter Gfader
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web DeveloperEdureka!
 
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformWordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformGeorge Kanellopoulos
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...ddrschiw
 
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022NAVER D2
 

La actualidad más candente (19)

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

Destacado

Bab 9 : Warisan Kesultanan Melayu
Bab 9 : Warisan Kesultanan MelayuBab 9 : Warisan Kesultanan Melayu
Bab 9 : Warisan Kesultanan MelayuRedwan Haris
 
Nelson Engineering Brochure
Nelson Engineering BrochureNelson Engineering Brochure
Nelson Engineering Brochureapnelson123
 
Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...
Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...
Makovsky & SheSpeaks: 2016 What Women Want Research: Health & Strong Personal...SheSpeaks Inc.
 
The SPI Buyer Direct Roadmap
The SPI Buyer Direct RoadmapThe SPI Buyer Direct Roadmap
The SPI Buyer Direct RoadmapSPI Conference
 
Papji - Ébredj fel és ordíts
Papji - Ébredj fel és ordítsPapji - Ébredj fel és ordíts
Papji - Ébredj fel és ordítsKyara Joyce
 
Understanding DO-178: Importance and How It Affects Your Company
Understanding DO-178: Importance and How It Affects Your CompanyUnderstanding DO-178: Importance and How It Affects Your Company
Understanding DO-178: Importance and How It Affects Your CompanyAversan Inc.
 
Bhadrachala Ramadasu kirthanalu 108 by NKM
Bhadrachala Ramadasu kirthanalu 108 by NKMBhadrachala Ramadasu kirthanalu 108 by NKM
Bhadrachala Ramadasu kirthanalu 108 by NKMbhadrachalaramadasu
 
Rediscovering the 'WHY' of meetings and conferences
Rediscovering the 'WHY' of meetings and conferencesRediscovering the 'WHY' of meetings and conferences
Rediscovering the 'WHY' of meetings and conferencesGeorge P. Johnson
 
Forecasting Essentials for SPI Buyer Direct
Forecasting Essentials for SPI Buyer DirectForecasting Essentials for SPI Buyer Direct
Forecasting Essentials for SPI Buyer DirectSPI Conference
 
Why ISO-27001 is a better choice?
Why ISO-27001 is a better choice? Why ISO-27001 is a better choice?
Why ISO-27001 is a better choice? Patten John
 
Untitled Powtoon 263
Untitled Powtoon 263Untitled Powtoon 263
Untitled Powtoon 263wowa_1998
 
Scholenaanbod bib 2015 2016
Scholenaanbod bib 2015 2016Scholenaanbod bib 2015 2016
Scholenaanbod bib 2015 2016Bibwesterlo
 

Destacado (17)

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

Similar a Building a Next Generation Mobile Browser using Web technologies

BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013Larry McDonough
 
"BlackBerry Webworks : Apps for The Smartphone and Tablet"
"BlackBerry Webworks : Apps for The Smartphone and Tablet""BlackBerry Webworks : Apps for The Smartphone and Tablet"
"BlackBerry Webworks : Apps for The Smartphone and Tablet"Software Park Thailand
 
WebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and SmartphonesWebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and SmartphonesKyle McInnes
 
HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10Larry McDonough
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with JoomlaTom Deryckere
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Tom Deryckere
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu
 Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu
Developing for BlackBerry 10 – Tools and SDKs by Luca FilighedduCodemotion
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07Enough Software
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010Rex Tsai
 
Sencha Web Applications Come of Age
Sencha Web Applications Come of AgeSencha Web Applications Come of Age
Sencha Web Applications Come of Agebastila
 
Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...
 Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit... Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...
Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...FITC
 
Decoupled Architecture and WordPress
Decoupled Architecture and WordPressDecoupled Architecture and WordPress
Decoupled Architecture and WordPressPantheon
 
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 a Building a Next Generation Mobile Browser using Web technologies (20)

BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013
 
Web works presso
Web works pressoWeb works presso
Web works presso
 
"BlackBerry Webworks : Apps for The Smartphone and Tablet"
"BlackBerry Webworks : Apps for The Smartphone and Tablet""BlackBerry Webworks : Apps for The Smartphone and Tablet"
"BlackBerry Webworks : Apps for The Smartphone and Tablet"
 
WebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and SmartphonesWebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and Smartphones
 
HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with Joomla
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu
 Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu
Developing for BlackBerry 10 – Tools and SDKs by Luca Filigheddu
 
Getting Started with BB Development..
Getting Started with BB Development..Getting Started with BB Development..
Getting Started with BB Development..
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010
 
Sencha Web Applications Come of Age
Sencha Web Applications Come of AgeSencha Web Applications Come of Age
Sencha Web Applications Come of Age
 
The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612
 
Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...
 Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit... Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...
Demystifying Native, Web, and Hybrid Mobile Development on BlackBerry 10 wit...
 
Decoupled Architecture and WordPress
Decoupled Architecture and WordPressDecoupled Architecture and WordPress
Decoupled Architecture and WordPress
 
HTML5 WebWorks
HTML5 WebWorksHTML5 WebWorks
HTML5 WebWorks
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

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
  • 34.
  • 35. Thank you Adam Stanley @n_adam_stanley October 19, 2012