Download - Michael Schneider Telefónica I+D
TELEFÓNICA AND
FIREFOXOS“A LOVE STORY”
DANIEL COLOMA - @danielcolomaTELEFÓNICA, FIREFOX OS HEAD OF ENGINEERING
MIGUEL SCHNEIDER - @miguelschneiderTELEFÓNICA, FIREFOX OS DIRECTOR OF PRODUCT & ENGINEERING
Hardware
Software
Services
THE WORLD IN 2010
PROLIFERATION OF
VERTICAL SOLUTIONSPROLIFERATION OF
VERTICAL SOLUTIONS
CONTRASTING WITH THE
WEB OPENNESSCONTRASTING WITH THE
WEB OPENNESS
TWO STRONG AND CLOSED ECOSYSTEMS
PROMOTING ACCESS THROUGH THE APPS
WHICH ARE CONTROLLED BY
THEIR STORESWHICH ARE CONTROLLED BY
THEIR STORES
NO FLASH, NO OTHER BROWSERS, NO EBOOK STORES,
etc.
NO FLASH, NO OTHER BROWSERS, NO EBOOK STORES,
etc.
… WHILE PREVENTING OTHERS COMPETING …
… AND BANNING CONTENT
AROUND 25 OTHER ATTEMPTS HAVE FAILED BEFORE
WHY?COMMITEES, CLOSENESS, COST, CONTENT
WHY?COMMITEES, CLOSENESS, COST, CONTENT
A COUPLE OF CRAZY GUYS COME UP WITH AN IDEA
A COUPLE OF CRAZY GUYS COME UP WITH AN IDEA
END OF 2010
AT THE END OF THE DAY MOST OF THE APPS ARE JUST ACCESSING THE WEBAT THE END OF THE DAY MOST OF THE APPS ARE JUST ACCESSING THE WEB
WHAT IF THE ALTERNATIVE IS JUST THE MOBILE WEB?
HTML5 IS BASED ON OPEN STANDARDS
NOT CONTROLLED BY
ANYONENOT CONTROLLED BY
ANYONE
AVAILABLE AND PORTABLE
DEVELOP JUST FOR THE WEB
DEVELOP JUST FOR THE WEB
NOT STARTING FROM THE SCRATCH
THE CATALYST: A 100% HTML5 OS
THE OPEN WEB DEVICETHE OPEN WEB DEVICE
DeviceDevice
KernelKernel
APIsAPIs
Native APIs-based UXNative APIs-based UX
Web Browser / PlatformWeb Browser / Platform
DeviceDevice
KernelKernel
Web Engine / APIsWeb Engine / APIs
Web-Based UX /
Web Content
Web-Based UX /
Web Content
“TYPICAL “ SMARTPHONE
ARCHITECTURE
NEW HTML5-PHONE
ARCHITECTURE
Zero single-vendor APIs: Fully
Open Standard Based
Based in already existing
drivers (e.g. Android drivers):
Low portability effort
Fully Web-based Experience:
Simple UX creation process
BRINGING FULL BROWSING
EXPERIENCE TO CHEAP DEVICES
BASED ON THIS ARCHITECTURE IS
DIFFICULT
LESS IS MORE: REMOVING A
LAYER AND HENCE IMPROVING
SCALABILITY ACROSS DIFFERENT
DEVICE TIERS
Working with multiple chipset
vendors and OEMs
KEY IDEA: THE THINNER, THE BETTER
BEGINNING OF 2011
FIRST PROTOTYPE (BASED ON WEBKIT)
FIRST PROTOTYPE (BASED ON WEBKIT)
Presentation
Web APIs
Core
Capabilities
CSS3
JavaScript
DOM Core
DOM Events
XMLHTML
Web Workers WebStorage
WebSockets
Video
SVG
XHR
Geolocation
Orientation
IndexedDB
Audio
What the formal
HTML5 spec includes
is only this subset.
The rest is part of
other specifications
NEEDED TO EXPAND HTML5
LOTS OF MISSING APISLOTS OF MISSING APIS
LET’S TRY TO DO IT IN WEBKIT?
My sense is that WebKit should not implement
calendar or the other related device APIs at this
time. Instead, we should address these use cases
using the more extensible, web-friendly URL-
based approach. (1)
GOOGLE REPLY TO SAMSUNG SUGGESTION TO ADD A CALENDAR API FOR WEBKIT
GOOGLE REPLY TO SAMSUNG SUGGESTION TO ADD A CALENDAR API FOR WEBKIT
(1) http://www.mail-archive.com/[email protected]/msg16064.html
0
5000
10000
15000 11940
6821
2372486 1738
Apple
42
31
Nokia
9
RIM
7
Others
14
Contributions to WebKit (Nov’10-Nov’11) Number of WebKit Reviewers (Nov’11)
WEBKIT INCLUDES ALL THE COMPONENTS REQUIRED TO BUILD A BROWSER
...powered by WebKit
ALTHOUGH OPEN SOURCE, IT IS DE-FACTO “GOVERNED” BY TWO COMPANIES
IS WEBKIT REALLY OPEN?
NEEDED AN ALTERNATIVENEEDED AN
ALTERNATIVE
25TH JULY 2011ANDREAS GAL FIRST
POST ABOUT B2GANDREAS GAL FIRST
POST ABOUT B2G
2ND AUGUST 2011
TURNING POINTTURNING POINT
Then… why HTML5 has not happened?
• Poor performance of mobile browsers (WebKit) compared to native apps in iOS or Android (Apple and Google are main contributors to WebKit and are not incentivize to improve it)
• Lack of offline capabilities for Web apps (we cannot assume always on connectivity on mobile)
• Lack of APIs to access device resources (GPS, Camera, commsstack, device sensors, etc)
• Lack of powerful authoring and development tools
• Lack of discoverability tools for users and monetization model for developers (i.e. AppStores) compared to native platforms
THE BEST POSSIBLE PARTNER…
TO ACHIEVE OUR TARGETSTO ACHIEVE OUR TARGETS
WE FELL IN LOVE!WE FELL IN LOVE!
PARIS… AND WENT TO PARIS
END OF 2011
FIRST PROTOTYPE BASED ON B2G
FIRST PROTOTYPE BASED ON B2G
MOBILE WORLD CONGRESS 2012
PUBLIC ANNOUNCEMENTPUBLIC ANNOUNCEMENT
MWC
Boot2Gecko is
announced
Mozilla & Telefónicaagree on working in
only OS Version
ZTE Open is released by TEF Spain
TEF Digital Investors Day
1st Public Demo B2G becomes
Firefox OS
MWC
OEMs and Carriers
commitment
ONE YEAR TO DELIVER A NEW MOBILE OS
FEB
2012
MAY
2012
JULY
2012FEB
2013
JULY
2013
SEPT
2013
Mozilla dogfooding
program starts
APRIL
2013
GeeksphoneLaunch
DONE BY A GREAT TEAM
WORKING REALLY HARD
WHY DO WE LOVE FIREFOX OS?
OPENNESSOPENNESS
TELEFÓNICA DIGITAL REAL
INVOLVEMENT IN THE ACTUAL
DEVELOPMENT OF FIREFOX OS
TELEFÓNICA DIGITAL REAL
INVOLVEMENT IN THE ACTUAL
DEVELOPMENT OF FIREFOX OS
BEST KEPT SECRET
I MEAN REALLY OPEN
(1) https://github.com/mozilla-b2g/gaia/graphs/contributors
8 OF 20 TOP CONTRIBUTORS WORK FOR TELEFÓNICA (1)
8 OF 20 TOP CONTRIBUTORS WORK FOR TELEFÓNICA (1)
I MEAN REALLY, REALLY OPEN
5 MODULE OWNERS AND 10 PEERS (1)
5 MODULE OWNERS AND 10 PEERS (1)
(1) https://wiki.mozilla.org/Modules/FirefoxOS
LET ME SHOW YOU SOME FACES AND NAMES
LET ME SHOW YOU SOME FACES AND NAMES
DON’T BELIEVE ME YET?
LEAD DEVELOPERRESPONSIBLE FOR SECURITY
LEAD DEVELOPERRESPONSIBLE FOR SECURITY
ANTONIO AMAYA
PEER OF FIRST TIME EXPERIENCE
PEER OF FIRST TIME EXPERIENCE
FERNANDO CAMPO
PEER OF CONTACTSAUTHOR OF FACEBOOK SYNC
PEER OF CONTACTSAUTHOR OF FACEBOOK SYNC
JOSE MANUEL CANTERA
AUTHOR OF APIS TO CONTROL DATA CONSUMPTION, OPERATOR
VARIANT DEVELOPER
AUTHOR OF APIS TO CONTROL DATA CONSUMPTION, OPERATOR
VARIANT DEVELOPER
ALBERT CRESPELL
PEER OF DIALER, RADIO INTERFACE LAYER AND SYSTEM
PEER OF DIALER, RADIO INTERFACE LAYER AND SYSTEM
FERNANDO JIMÉNEZ
DEVELOPER OF OPERATOR VARIANT
DEVELOPER OF OPERATOR VARIANT
CARMEN JIMÉNEZ
OWNER OF CONTACTS, MESSAGING AND FIRST TIME
EXPERIENCE APPS
OWNER OF CONTACTS, MESSAGING AND FIRST TIME
EXPERIENCE APPS
FRANCISCO JORDANO
MAIN DEVELOPER OF PUSH NOTIFICATION SERVER
L14N EXPERT
MAIN DEVELOPER OF PUSH NOTIFICATION SERVER
L14N EXPERT
GUILLERMO LÓPEZ
MAIN DEVELOPER OF NETWORK SETTINGS,
CLIENT PROVISIONING, OPERATOR VARIANT….
MAIN DEVELOPER OF NETWORK SETTINGS,
CLIENT PROVISIONING, OPERATOR VARIANT….
JOSE ANTONIO OLIVERA
DEVELOPMENT FOR PUSH SERVER AND CLIENT
DEVELOPMENT FOR PUSH SERVER AND CLIENT
MARIO PIERRE LOUIS
SALVADOR DE LA PUENTE
USAGE/COST CONTROL OWNERUSAGE/COST CONTROL OWNER
HOMESCREEN MAIN DEVELOPER AND OWNER
HOMESCREEN MAIN DEVELOPER AND OWNER
CRISTIAN RODRÍGUEZ
AUTHOR OF STK IMPLEMENTATION AND SETTINGS PEER
AUTHOR OF STK IMPLEMENTATION AND SETTINGS PEER
FERNANDO RODRÍGUEZ
COST CONTROL DEVELOPERCOST CONTROL DEVELOPER
MARINA RODRÍGUEZ
PEER OF MESSAGING & FIRST TIME EXPERIENCEPEER OF MESSAGING &
FIRST TIME EXPERIENCE
BORJA SALGUERO
MAIN DEVELOPER OF DIALERMAIN DEVELOPER OF DIALER
GERMÁN TORO
BEYOND DEVELOPMENT…
UX, QA, PM…UX, QA, PM…
TELEPHONY, SMS, VIBRATION,
NOTIFICATION, PUSH, SETTINGS,
CONNECTION, GEOLOCATION,
DEVICE STORAGE, BATTERY,
ALARM, FM RADIO, CALENDAR,
USB, CAMERA, WEB ACTIVITIES…
WE ENABLED WHAT OTHERS PUSHED BACK
EXAMPLES OF ADDED APIS
EXAMPLES OF ADDED APIS
IN ORDER TO MAKE OUR DREAM A REALITY…
… FINALLY THE BABY WAS BORN
… OK, MAYBE SOME MORE
AND YET MORE TO COME…
AND YET MORE TO COME…
12.9.2013 3.3.2014 5.26.20149.16.2013
Start
Development
Feature
Complete
V1.3.0
Stabilized
V1.3.1
6 weeksmaintenance
Security
Update
V1.3.2
Security
Update
V1.3.3
Security
Update
V1.3.4
1.3
4.14.2014 7.7.2014
12 weeksStabilization + Convergence
12 weeksDevelopment Time
12 weeksIOT + Production
Start
Development
Feature
Complete
V1.4.0
Stabilized
V1.4.1
6 weeksmaintenance
Security
Update
V1.4.2
Security
Update
V1.4.3
Security
Update
V1.4.4
12 weeksStabilization + Convergence
12 weeksDevelopment Time
12 weeksIOT + Production
1.4
Feature
Complete
V1.3.0
Stabilized
V1.3.1
6 weeksmaintenance
Security
Update
V1.3.2
Security
Update
V1.3.3
Security
Update
V1.3.4
12 weeksStabilization + Convergence
12 weeksIOT + Production
1.2
CS
BECAUSE FIREFOX OS IS CONTINUOUSLY EVOLVING
AND FULLY ALIGNED WITH FIREFOX FOR DESKTOP
BASED ON https://wiki.mozilla.org/B2G/Roadmap
V1.1 MAIN NEW FEATURES
FEATURES NOT INCLUDED IN PREVIOUS VERSION
Direct access from the landing page
Homescreen: New landing page including the smart search bar
� Search allows users to input a
search term ("query") and fill
the screen with related apps
� These results include installed
apps, web apps, and
download suggestions from
Firefox' Marketplace.
V1.1
Push : New Operator friendly Push technology
FirefoxOS is improving the state of the art of PUSH technologies
� Efficient: Mobile network friendly by avoiding Keep-Alive and open
connections improving the performance
� Cost efficient to deploy notification server:
Easy to use
� Open and standard solution (W3C, OMA) based on
web technologies
� No developer registration: reduces developer
deployment costs
� User is notified in the homescreen
� The notifications are shown in the notification
center
V1.1
Communications: Messaging
UI Refresh and new features
� Direct access to the
Dialer/Email/Browser from a message
� Multi-recipient support
Multimedia Messaging
� Image, audio, video files support
� Media files attached from: video,
music, camera, gallery and wallpaper
� Media files preview/ deletion
� Auto retrieve (download) option
V1.1
Communications: Enriched contacts
Import contacts from
SD card, Gmail &
Outlook
Import contacts from
SD card, Gmail &
Outlook
Contact suggestions in
the dialer
Contact suggestions in
the dialer
Add contacts details (phone number, email…) from
a message, the call log or an email
Add contacts details (phone number, email…) from
a message, the call log or an email
V1.1
Productivity: Browser & E-mail
� Attachments support
� Send images from the gallery,
wallpaper and camera
� New media supported for received
attachments: videos and music
� Draft support
Browser
� HTTP download support
� Download content by tap & hold: images,
video & music
V1.1
Other improvements
Improved file system support
� Enable users to store files in the internal memory
(for devices with large internal memory)
Music
� Searching songs, players, albums…
Task Manager
� UI Refresh
Keyboard: Improved performance
� New algorithm for text prediction and correction
V1.1
V1.2 MAIN NEW FEATURES
FEATURES NOT INCLUDED IN PREVIOUS VERSION*
Major changes in the core of the platform
New platform (Gecko) version
� Gecko 26 instead of Gecko 18
� Almost a year of development (changes from Firefox 18 to
Firefox 26)
� Several improvements in performance and stability
and new features
Gaia
UI (WebApps)
Gecko
Application (Web)Runtime
Gonk
Linux Kernel
We can see 1.2 as FFOS v2.0 release!!!
V1.2
Communications: Dialer and call new features
Improved dialer design
� Incoming call design: removing bouncing effect
� Redial last number from dialer or BT headset
New supplementary services
� Fixed dialing number (FDN) support
� Conference calling support
� More supplementary services support:
� Calling Line Identification Restriction (CLIR)
� Call Barring support
� Call Hold and Call Waiting improvements
V1.2
Communications: Contacts and messaging
Messaging
� Silent SMS for Carrier Billing authentication
� Landscape mode support for messaging application (*)
Contacts: Enhanced contacts management
� Bluetooth contacts sharing based in VCARD
� Export contacts to the USIM and media card
� Better support for importing contacts (cancel importing,
performance improvements…)
� Duplicate contacts management
� Passive mode: Search for duplicate contacts automatically
while importing from any source and merge
� Active mode (User interaction required): Search for
duplicate contacts from contact details and
adding/modifying contact windows and merge if users
agree)
V1.2
(*) GREY Still pending based on robustness criteria
System:
Customization management: Single variant
� Runtime Customization by SIM of App Preloads
� Runtime Customization by SIM of Bookmark, Preloaded
Contacts, Support Contacts, Data Settings, Messaging
Settings, Cell Broadcast Settings, Default Language and
Voicemail
Platform enhancement
� Graphics: Multi-resolution support (WVGA, qHD)
� Audio: CE Audio volume warning
� IME framework for enabling 3rd party keyboards installation
and management
� Notifications: Enable developers for closing/replacing
notifications
� Do not track 3 state setting to either “Do not track my
actions”, “I allow tracking”, or “I don’t have a preference”
� Persona on first run
V1.2
(*) GREY: Still pending based on robustness criteria
Productivity:
� Email notifications support
� Direct access to the email from the notification
� Notifications grouping
� Email sync internal settings
� Enhanced attachment management
� Email improvements: Message body format
V1.2
(*) GREY: Still pending based on robustness criteria
Other features
Media
� Music player status on the status bar
� Microphone API to enable voice recording, talking,
dictation.. Applications
� Speakerout on FM Radio
Browser
� Enhanced responsiveness/rendering
Telephony and connectivity
� Wi-Fi/hybrid aGPS positioning
� CDMA support
� OMA CP
� WAP Push
� SIMTK improvements
� Bluetooth A2DP and AVRCP support
V1.2
(*) GREY: Still pending based on robustness criteria
V1.3 MAIN NEW FEATURES
FEATURES NOT INCLUDED IN PREVIOUS VERSION
Main change: Starting Haida
November
2013
December
2013
January
2014
February
2014
October
2013
September
2013
1.3 � Edge gestures (Apps into sheets)
� Browser Integration into System
� E.me homescreen integration
� MWC demo
March 2014 April 2014 May 2014
1.4 � Rocketbar (phase 1)
� New Homescreen
1.5 � Boosted Rocketbar
� Search into e.me and
Marketplace
� Search among exposed
Datastores
� Opensearch
� In-apps navigation with sheets
� Replaceable Homescreen
� Customizable Lockscreen
� New UI
This version will activate the full
Haida concept.
Radically different user experience
V1.3
But also some others big changes in the platform
CDMA
� Enabling FxFOS for CDMA devices
Datastores API
� Allow an application to create data that can be shared with multiple other applications
� Allow multiple applications supply data to the same data store
� Support read-only stores like facebook contacts.
� Support read/write stores like built-in contacts.
� Support keeping an application-local cache of a data store. I.e. enable getting notified about
changes to a data store so that the local cache can be kept up-to-date.
V1.3
Communications
SIM
� Dual SIM Dual Standby (DSDS) basic support
SMS/MMS work completion
� MMS Subject support
� Draft mode support for SMS/MMS
� MMS/SMS delivery reports
� MMS/SMS forwarding
� Send MMS to email
Messaging
� Share web activity support in SMS/MMS: Share content with SMS/MMS
� Landscape mode support
� Display the received and sent time inside the SMS/MMS box
� MMS support for VCard + VCal
V1.3
(*) GREY: Still pending based on robustness criteria
Communications
Dialer
� Dialing directly from the call log
� Information screen when a call is finished
� Silence an incoming call with power button press
� Call length on call log
� Change call log length (based in number of days)
� Call Barring notification
Notification handling
� Dialer, SMS and MMS using the notification framework
Contacts
� Delete multiple contacts
� Datastore API integration
� Support sharing of contacts via NFC
� Undo contacts merge
V1.3
(*) GREY: Still pending based on robustness criteria
System
Customization management: Single variant
� More customizable settings (Wi-Fi profile, ringtones, start up animation…)
Download Manager
� Manage downloaded files: Open, delete…
� Manage file download process (view progress, cancel…)
Identity
� Integration with Firefox Account
� First Time Usage login
� Firefox Account in settings
Storage
� SD card formatting
� Media Transfer Protocol (MTP) support
� Easy access to available options when connected to USB
Others
� Notification progress indicator: Enable developers to display a progress indicator
� Improved offline support
V1.3
(*) GREY: Still pending based on robustness criteria
SystemKeyboard
� Dynamic hit states
� Improved input cursor movement
� Text selection
� Copy & Paste (text)
Bluetooth
� Improved Bluetooth support (BlueDroid porting)
� Inline pairing supported
� Framework for 3rd parties to add new profiles
� Human Interface Device Profile (HID) support
� Multiple file transfer support
� Easy to use Bluetooth settings
Others
� Gaia improvements: New Windows Manager, app modularization…
� FOTA improvements
� IMEI control, Update message, error handling,
V1.3
(*) GREY: Still pending based on robustness criteria
Multimedia
Camera
� Autofocus
� Zoom in/out
� Flash
� Multi-resolution support: Camera capture size settings
� Camera viewfinder cropping
� Image size in camera viewfinder
� Front/rear swap camera support
� Self timer
Gallery
� Rename/view file info
� Folders support: Automatically sort content into folders giving options such
as month, place, file size or file type
� Image rotation support
� Slideshow mode support
� Edit images directly from the Gallery
� Automatic Image Enhancement
V1.3
Multimedia:
Video
� Folders support
� Visual warning when recording with low battery
Music
� Access to music controls in notifications tray and lock screen
� External Album art support
Platform enhancement
� Video recording
� System wide volume control
� RTSP
� Opus support
WebRTC
� WebRTC-Audio support
� WebRTC-p2p support
� WebRTC-streaming support
� Video PeerConnection calls
� WebRTC + AudioRecording/VideoRecording
V1.3
Productivity:
� POP3 support
� Asynchronous Email Send
� Advance to next/previous message from within
message
V1.3
Other features
Telephony and connectivity
� EAP-SIM
� WPA-EAP support
� Seamless streaming network handoff
� NFC platform support
Graphics
� Azure/Moz2D
Browser
� Performance enhancements
� Specifying order of default bookmarks
� Update URL bar and navigation chrome UX
� Add view menu to toolbar
� Download improvements
� Integration into System
� Removal of About page in Browser
� Reader Mode
V1.3
(*) GREY: Still pending based on robustness criteria
… BUT WE NEED MORE
WE NEED YOU!WE NEED YOU!
FIREFOX OS ROADMAP RELIES ON COMMUNITY CONTRIBUTION
FIREFOX OS RELIES ON COMMUNITY CONTRIBUTIONS
FIREFOX OS RELIES ON COMMUNITY CONTRIBUTIONS
YOU CAN CONTRIBUTE TO THE OS
… OR CREATE APPS
… YOU CAN DISTRIBUTE THEM IN THE MARKET
https://marketplace.mozilla.org
… OR ON YOUR OWN
https://developer.mozilla.org/en-US/docs/DOM/Apps.install
... ONE MORE THING…
WE LOVE THE WEB TOO
IT IS NOT ONLY ABOUT FIREFOX OS
IT IS NOT ONLY ABOUT FIREFOX OS
MacOS
REMEMBER
THE WEB IS THE PLATFORM!