FIREFOX OS
Bringing the Open Web to Mobile Devices




               Fabien Cazenave
                        mobile hacker
                      kaze@mozilla.com
TODAY
Mobile Industry is DOMINATED by
PROPRIETARY Mobile Platforms
Mobile Industry is DOMINATED by
PROPRIETARY Mobile Platforms

• Device Specific Software
• Limited revenue choices
• Customer relationship
  = mediated by store
• Take-it-or-leave-it policies
• Users and Developers are locked-In
TOMORROW
FIREFOX OS

  Built entirely using HTML5
  & standard Web APIs
  without the need for an
  intermediate OS layer


  Complete, standalone
  operating system for the
  open Web
Create Customized & Differentiated
UX (everything is a Web app)
 Variations around the   Variations around
     Home screen             the dialer
Create amazing HTML5 experiences and apps


                                    DEVELOPERS

                     Content owners maintain direct
                     connection to their audience

                     Enhanced discoverability



                                    CARRIERS


                     Easy payment & built-in
    FIREFOX          Carrier billing

  MARKETPLACE        Revenue sharing
FOR USERS
             An affordable
             smartphone: brings
             the smartphone
             experience at a
CONNECT TO   feature phone price
             point
  THE WEB
             Tons of apps
             to choose from:
             the Web is the limit!
Firefox OS Platform
 Product Portfolio — Customer Segments

                                                                                   WAVE 2
           Brand/advance
              features
    170       Seekers

            Value for                                                 WAVE 1
                                                          NOKIA 500
          money Seekers                                     FAY


                                                     Samsung
                                                      S5360
                                           LG Optimus Galaxy




                                                                               S
                                                                            O
                                            L3 E400
           Price




                                                                             x
    100




                                                                           fo
          Seekers                                                                  v1 2013




                                                                        re
                                                                       Fi
                                    NOKIA ASHA
                                       302




                               MOTOROLA
                                SILVERQ
                      Alcatel OT (EX430)
                         900
                 ZTE E821
    65     LG C365



                            From feature phone to smartphone
ARCHITECTURE OVERVIEW
Firefox OS: How an Open Web
Phone connects HTML5 to hardware

  Existing Platforms
  (smartphones only)
                          Firefox OS
           Web
         Browser/
         Platform
                                             Significantly
       Native API-         Web-based User
                           Experience/Web
                                             smaller stack:
        based UI              Content
                                             Scales from
                             Web Engine/     high-end
       Native APIs         Standard Device
                                APIs         feature phones
          Kernel
                                             to high-end
        (e.g. Android,
       iOS, Win7, etc.)
                              Kernel         smartphones
         Device
       (phone, tablet,       Device
          desktop)
ARCHITECTURE OVERVIEW

            Gaia
          User Interface



           Gecko
          App Runtime




            Gonk
            Kernel
Lower level operating system, consisting
   of a Linux kernel and Hardware.

       Abstraction Layer (HAL).
    Exposes hardware API to Gecko.




         GONK
The application runtime.

The rendering engine in Firefox
 for HTML5, CSS & JavaScript.

Implements a number of APIs.




GECKO
The user interface,
built entirely by HTML5 & Open Web APIs.




               GAIA
Web API Support v1


  WebTelephony                   TCP Socket                         Alarm
     Vibration                   Geolocation                     Browser APIs
     WebSMS                       WiFi Info                       Time/Clock
      Idle API                  Device Storage                  Web Activities
Screen Orientation                Contacts                       Keyboard/IME
      Settings                  Open WebApps                   Push Notifications
Power Management                WebBluetooth                       FM Radio
 Mobile Connection              Battery Status                    Camera API




    * APIs are in addition to the existing HTML5/W3C compliant APIs available today
Firefox OS Core Feature Roadmap
                   ••   Telephony
                         Telephony      ••   Sensor API
                                              Sensor API
                   ••   SMS
                         SMS            ••   MozApp support
                                              MozApp support
                   ••                   ••
Platform / Gecko




                        3G
                         3G                  Persona Impl
                                              Persona Impl
                   ••   WiFi
                         WiFi           ••   Carrier billing
                                              Carrier billing
                   ••   Contacts API
                         Contacts API   ••   Bluetooth
                                              Bluetooth
                   ••   Settings API
                         Settings API   ••   Network Mgr
                                              Network Mgr
                   ••   Geolocation
                         Geolocation    ••   USB device
                                              USB device                    Gecko Platform API
                                                                            Gecko Platform API
                        API
                         API                 storage
                                              storage
                   ••   Web Intents
                         Web Intents    ••   Multi-process
                                              Multi-process
                                                                       productization and refinement
                                                                       productization and refinement
                   ••   Open Web
                         Open Web            support
                                              support
                        Apps
                         Apps           ••   Asynch pan/zoom
                                              Asynch pan/zoom
                   ••   Security
                         Security       ••   SIM Toolkit
                                              SIM Toolkit
                        Model
                         Model          ••   Multi-APN
                                              Multi-APN
                   ••   HW
                         HW                  support
                                              support
                        Acceleration
                         Acceleration   ••   Full Screen
                                              Full Screen
                   ••   AppCache
                         AppCache       ••   WiFi Hotspot
                                              WiFi Hotspot
                   ••   Voicemail
                         Voicemail      ••   Software Updates
                                              Software Updates
                   ••   TCP Socket
                         TCP Socket     ••   Cell Broadcast
                                              Cell Broadcast




                   ••   Dialer
                         Dialer
                   ••   SMS
                         SMS
                   ••   Contacts
                         Contacts                                                      Gaia v1 Core App
                                                                                       Gaia v1 Core App
Apps / Gaia




                   ••   Gallery
                         Gallery                                                       Refinement and
                                                                                        Refinement and
                   ••   Video Player
                         Video Player                                                        Polish
                                                                                             Polish
                   ••   Music Player
                         Music Player
                   ••   Home Screen
                         Home Screen




                        Gaia v1: UX Specs
                        Gaia v1: UX Specs                         Gaia v1: UX VisDe refinement
                                                                  Gaia v1: UX VisDe refinement                 Gaia v2: UX App Specs
                                                                                                               Gaia v2: UX App Specs

                                                                                                                              M6 ––
                                                                                                                              M6
                   M3 ––
                   M3                                  M4 ––
                                                       M4                                   M5 ––
                                                                                            M5
                                                                 QA
                                                                 QA                                       Stabilization & QA Lab
                                                                                                           Stabilization & QA Lab
                   ES1
                    ES1                                ES2
                                                        ES2                                  CS
                                                                                             CS                              Entry
                                                                                                                              Entry

                        Jun                   July               Aug            Sept                Oct        Nov               Dec
The “Web Platform” Benefits
• Easy to get started
• Existing development tools
• Good approach for addressing very
  different devices


• Cross-platform & Cross-browser
• Apps can be deployed freely
• Works fine offline, too :-)
The “Web-Only” Challenge
• Optimize apps (and web rendering!)
 for low-end devices
• Make web developer tools work on
 remote devices
• Define, use and improve Web APIs
• Web Components?


⇒ “the Web is the [mobile] platform”
Developers can write Apps & Services
for ONE Platform – the Web


                         8 Million   • Web Apps based on
                                       HTML5

 More developers                     • Developers will no longer
     than any                          need to learn and
  other platform
                                       develop against
                                       platform-specific native
               450,000                 APIs
                  +
    100,000+
                                     • Write Apps & Services for
                                       one platform – the Web
Firefox OS demo
Welcome to a new,
  open and powerful
    mobile world!

More info:

• marketplace.mozilla.org
• www.mozilla.org/firefoxos
• wiki.mozilla.org/Gaia/Hacking
                              Fabien Cazenave
                             kaze@mozilla.com

Firefox OS

  • 1.
    FIREFOX OS Bringing theOpen Web to Mobile Devices Fabien Cazenave mobile hacker kaze@mozilla.com
  • 2.
  • 3.
    Mobile Industry isDOMINATED by PROPRIETARY Mobile Platforms
  • 4.
    Mobile Industry isDOMINATED by PROPRIETARY Mobile Platforms • Device Specific Software • Limited revenue choices • Customer relationship = mediated by store • Take-it-or-leave-it policies • Users and Developers are locked-In
  • 5.
  • 6.
    FIREFOX OS Built entirely using HTML5 & standard Web APIs without the need for an intermediate OS layer Complete, standalone operating system for the open Web
  • 7.
    Create Customized &Differentiated UX (everything is a Web app) Variations around the Variations around Home screen the dialer
  • 8.
    Create amazing HTML5experiences and apps DEVELOPERS Content owners maintain direct connection to their audience Enhanced discoverability CARRIERS Easy payment & built-in FIREFOX Carrier billing MARKETPLACE Revenue sharing
  • 9.
    FOR USERS An affordable smartphone: brings the smartphone experience at a CONNECT TO feature phone price point THE WEB Tons of apps to choose from: the Web is the limit!
  • 10.
    Firefox OS Platform Product Portfolio — Customer Segments WAVE 2 Brand/advance features 170 Seekers Value for WAVE 1 NOKIA 500 money Seekers FAY Samsung S5360 LG Optimus Galaxy S O L3 E400 Price x 100 fo Seekers v1 2013 re Fi NOKIA ASHA 302 MOTOROLA SILVERQ Alcatel OT (EX430) 900 ZTE E821 65 LG C365 From feature phone to smartphone
  • 11.
  • 12.
    Firefox OS: Howan Open Web Phone connects HTML5 to hardware Existing Platforms (smartphones only) Firefox OS Web Browser/ Platform Significantly Native API- Web-based User Experience/Web smaller stack: based UI Content Scales from Web Engine/ high-end Native APIs Standard Device APIs feature phones Kernel to high-end (e.g. Android, iOS, Win7, etc.) Kernel smartphones Device (phone, tablet, Device desktop)
  • 13.
    ARCHITECTURE OVERVIEW Gaia User Interface Gecko App Runtime Gonk Kernel
  • 14.
    Lower level operatingsystem, consisting of a Linux kernel and Hardware. Abstraction Layer (HAL). Exposes hardware API to Gecko. GONK
  • 15.
    The application runtime. Therendering engine in Firefox for HTML5, CSS & JavaScript. Implements a number of APIs. GECKO
  • 16.
    The user interface, builtentirely by HTML5 & Open Web APIs. GAIA
  • 17.
    Web API Supportv1 WebTelephony TCP Socket Alarm Vibration Geolocation Browser APIs WebSMS WiFi Info Time/Clock Idle API Device Storage Web Activities Screen Orientation Contacts Keyboard/IME Settings Open WebApps Push Notifications Power Management WebBluetooth FM Radio Mobile Connection Battery Status Camera API * APIs are in addition to the existing HTML5/W3C compliant APIs available today
  • 18.
    Firefox OS CoreFeature Roadmap •• Telephony Telephony •• Sensor API Sensor API •• SMS SMS •• MozApp support MozApp support •• •• Platform / Gecko 3G 3G Persona Impl Persona Impl •• WiFi WiFi •• Carrier billing Carrier billing •• Contacts API Contacts API •• Bluetooth Bluetooth •• Settings API Settings API •• Network Mgr Network Mgr •• Geolocation Geolocation •• USB device USB device Gecko Platform API Gecko Platform API API API storage storage •• Web Intents Web Intents •• Multi-process Multi-process productization and refinement productization and refinement •• Open Web Open Web support support Apps Apps •• Asynch pan/zoom Asynch pan/zoom •• Security Security •• SIM Toolkit SIM Toolkit Model Model •• Multi-APN Multi-APN •• HW HW support support Acceleration Acceleration •• Full Screen Full Screen •• AppCache AppCache •• WiFi Hotspot WiFi Hotspot •• Voicemail Voicemail •• Software Updates Software Updates •• TCP Socket TCP Socket •• Cell Broadcast Cell Broadcast •• Dialer Dialer •• SMS SMS •• Contacts Contacts Gaia v1 Core App Gaia v1 Core App Apps / Gaia •• Gallery Gallery Refinement and Refinement and •• Video Player Video Player Polish Polish •• Music Player Music Player •• Home Screen Home Screen Gaia v1: UX Specs Gaia v1: UX Specs Gaia v1: UX VisDe refinement Gaia v1: UX VisDe refinement Gaia v2: UX App Specs Gaia v2: UX App Specs M6 –– M6 M3 –– M3 M4 –– M4 M5 –– M5 QA QA Stabilization & QA Lab Stabilization & QA Lab ES1 ES1 ES2 ES2 CS CS Entry Entry Jun July Aug Sept Oct Nov Dec
  • 19.
    The “Web Platform”Benefits • Easy to get started • Existing development tools • Good approach for addressing very different devices • Cross-platform & Cross-browser • Apps can be deployed freely • Works fine offline, too :-)
  • 20.
    The “Web-Only” Challenge •Optimize apps (and web rendering!) for low-end devices • Make web developer tools work on remote devices • Define, use and improve Web APIs • Web Components? ⇒ “the Web is the [mobile] platform”
  • 21.
    Developers can writeApps & Services for ONE Platform – the Web 8 Million • Web Apps based on HTML5 More developers • Developers will no longer than any need to learn and other platform develop against platform-specific native 450,000 APIs + 100,000+ • Write Apps & Services for one platform – the Web
  • 22.
  • 23.
    Welcome to anew, open and powerful mobile world! More info: • marketplace.mozilla.org • www.mozilla.org/firefoxos • wiki.mozilla.org/Gaia/Hacking Fabien Cazenave kaze@mozilla.com