Ajax on Mobile Phones:Accelerating Key Features,Minimizing Fragmentation
Jon FerraioloIBM and OpenAjax AllianceNovember 5, 2008
Ajax on Mobile Phones: Past, Present and Future 2
Agenda
Mobile Web Runtime – The Vision
Mobile Web Runtime – Today’s Reality
Mobile Device APIs
Mobile Ajax Ready
Mobile Web Runtime – The Vision
Mobile Web Runtime – Today’s Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future 3
Mobile Web – the new frontier
Most humans will have a Web-connected phone Mobile Web will overshadow the desktop Web
Changes the game Constraints (small screen, battery, keypad,
etc.) Opportunities (GPS, voice, camera, …) Increased importance of “widgets”
Most humans will have a Web-connected phone Mobile Web will overshadow the desktop Web
Changes the game Constraints (small screen, battery, keypad,
etc.) Opportunities (GPS, voice, camera, …) Increased importance of “widgets”
Ajax on Mobile Phones: Past, Present and Future 4
Winning Technologies not yet established
Open Web has good momentum on mobile But major players are making large investments in
Flash, Silverlight, J2ME, Dalvik, Cocoa, …
Community is likely to make platform decisions in next 1-3 years Followed by inertia
Threats to Open Web on Mobile Fragmentation
• Mobile Web development and testing cost might skyrocket Slow adoption of key features
• Innovative mobile apps will require new features, such as Mobile Device APIs, video, vector graphics, and offline
Open Web has good momentum on mobile But major players are making large investments in
Flash, Silverlight, J2ME, Dalvik, Cocoa, …
Community is likely to make platform decisions in next 1-3 years Followed by inertia
Threats to Open Web on Mobile Fragmentation
• Mobile Web development and testing cost might skyrocket Slow adoption of key features
• Innovative mobile apps will require new features, such as Mobile Device APIs, video, vector graphics, and offline
Ajax on Mobile Phones: Past, Present and Future 5
BrowserJavaScript
CSSxHTML SVG
What do we mean by a Web Runtime?
Hardware
H/W abstraction layer (HAL)
Middleware
UI toolkit Application APIs
Kernele.g., Symbian
e.g., S60
Rich UI
Scripting
Web
ResponsivenessWeb Runtime
JavaScript
CSSxHTML SVG
Browser
Evolve the browser as a new Web Runtime for hosting mobile apps and services
Mobile browsers today…Web app Widget
Embracing “Ajax”: HTML, JavaScript, CSS, DOM
But evolving the Web beyond the browser:
Widgets & other device-resident applications (alternative to J2ME)
Ajax on Mobile Phones: Past, Present and Future 6
The Web Runtime
Why? Open formats (not controlled by a single
vendor) Open source options (WebKit and Mozilla) Acceptable to all vendors (Web capabilities
becoming a hygiene factor across all devices) Huge pool of developers, tools, existing sites
and low entry barriers to get started developing for mobile
Why? Open formats (not controlled by a single
vendor) Open source options (WebKit and Mozilla) Acceptable to all vendors (Web capabilities
becoming a hygiene factor across all devices) Huge pool of developers, tools, existing sites
and low entry barriers to get started developing for mobile
Ajax on Mobile Phones: Past, Present and Future 7
Enhancing the Web Runtime with device APIs
Terminal functionality &
user data
Web information
Web app
Adds context Enables mashups
Device APIs:
• File system access to pictures, music & video clips
• PIM data (contacts, calendar)
• Messaging (SMS, MMS, email)
• Call handling
• System data (battery, coverage, roaming, location)
• Camera (get new picture)
Ajax on Mobile Phones: Past, Present and Future 8
Agenda
Mobile Web Runtime – the Vision
Mobile Web Runtime – Today’s Reality
Mobile Device APIs
Mobile Ajax Ready
Mobile Web Runtime – the Vision
Mobile Web Runtime – Today’s Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future 9
Before the iPhone
Until recently, only smart phones could really browse the Web, and usually not very well: Smart phones: NETFront, OpenWave, Obigo, Opera Volume phones: WAP, cHTML, XHTML-Basic, … Result: mobile browsers didn’t get much usage
iPhone - the tipping point Able to interact with entire Web Fixed-rate data plan Acceptable performance (network & rendering) Result: lots of real usage (50x versus other phones)
Until recently, only smart phones could really browse the Web, and usually not very well: Smart phones: NETFront, OpenWave, Obigo, Opera Volume phones: WAP, cHTML, XHTML-Basic, … Result: mobile browsers didn’t get much usage
iPhone - the tipping point Able to interact with entire Web Fixed-rate data plan Acceptable performance (network & rendering) Result: lots of real usage (50x versus other phones)
Ajax on Mobile Phones: Past, Present and Future 10
iPhone Take Advantage of Inflexion Points
Moore’s Law for mobile phones Mobile CPUs are faster, memory is cheaper
Mobile networks are now fast enough 3G is rolling out, HSPA will be even faster
Touch screens Nearly all of the phone area can be used for
rendering
Also, Apple took care of key details Fixed-rate data plan, great UI, good reliability,
…
Moore’s Law for mobile phones Mobile CPUs are faster, memory is cheaper
Mobile networks are now fast enough 3G is rolling out, HSPA will be even faster
Touch screens Nearly all of the phone area can be used for
rendering
Also, Apple took care of key details Fixed-rate data plan, great UI, good reliability,
…
Ajax on Mobile Phones: Past, Present and Future 11
Other phones are catching up
WebKit open source browser Google Android (HTC Dream and many others) Nokia Series 60 (and likely Series 40 in future) WebKit announcements from Motorola and Samsung
Mozilla Fennec A second open source option
Opera The “grand old man” of bringing desktop browsing to
mobile Motorola, Nintendo, Sony/Ericsson, Samsung, …
Internet Explorer Mobile 7.0 In 2009
WebKit open source browser Google Android (HTC Dream and many others) Nokia Series 60 (and likely Series 40 in future) WebKit announcements from Motorola and Samsung
Mozilla Fennec A second open source option
Opera The “grand old man” of bringing desktop browsing to
mobile Motorola, Nintendo, Sony/Ericsson, Samsung, …
Internet Explorer Mobile 7.0 In 2009
Ajax on Mobile Phones: Past, Present and Future 12
Mobile Web Developer Issues
Mobile Ajax constraints and opportunities Constraints: screen size, keypad, CPU,
memory, bandwidth, etc. Opportunities: Portability, GPS, camera,
messaging, voice, etc.
Browser fragmentation (see next slides)
Mobile Ajax constraints and opportunities Constraints: screen size, keypad, CPU,
memory, bandwidth, etc. Opportunities: Portability, GPS, camera,
messaging, voice, etc.
Browser fragmentation (see next slides)
Ajax on Mobile Phones: Past, Present and Future 13
Desktop Web vs Mobile Web
Desktop Web – minor fragmentation 4 primary browsers: IE, FF, Safari, Chrome Ajax developers complain about the cost and difficulty
of developing and testing against multiple browsers• IE6/7/8, FF2/3, Safari 2/3, Chrome, Opera
Ajax libraries help a lot• But browser-specific problems still crop up
Mobile Web – greater fragmentation Other browsers: Opera, IE Mobile, Netfront, RIM, … WebKit variations
• Different branches ship on different phones• Different memory and performance characteristics
Device/network differences (next slide slide)
Desktop Web – minor fragmentation 4 primary browsers: IE, FF, Safari, Chrome Ajax developers complain about the cost and difficulty
of developing and testing against multiple browsers• IE6/7/8, FF2/3, Safari 2/3, Chrome, Opera
Ajax libraries help a lot• But browser-specific problems still crop up
Mobile Web – greater fragmentation Other browsers: Opera, IE Mobile, Netfront, RIM, … WebKit variations
• Different branches ship on different phones• Different memory and performance characteristics
Device/network differences (next slide slide)
Ajax on Mobile Phones: Past, Present and Future 14
Mobile Web fragmentation Device/network divergence
Different browsers with different functionality Input devices (keypad vs touch vs jogwheel vs …) Screen sizes Memory Network speed Operator pricing schemes
At the same time as HTML5 contributors are rapidly defining and implementing their own favorite new features Mozilla, WebKit, Opera: vector graphics (SVG and Canvas) Google Gears (offline, worker threads, geolocation) Apple (CSS animation, HTML video)
Mobile represents major technology opportunities Which means more vendor-specific innovation going
forward
Device/network divergence Different browsers with different functionality Input devices (keypad vs touch vs jogwheel vs …) Screen sizes Memory Network speed Operator pricing schemes
At the same time as HTML5 contributors are rapidly defining and implementing their own favorite new features Mozilla, WebKit, Opera: vector graphics (SVG and Canvas) Google Gears (offline, worker threads, geolocation) Apple (CSS animation, HTML video)
Mobile represents major technology opportunities Which means more vendor-specific innovation going
forward
Ajax on Mobile Phones: Past, Present and Future 15
Fragmentation inhibits mobile development
Developers have to choose between rich and reach Rich => take advantage of features found on only a subset of
devices (e.g., only support the iPhone) Reach => simplify the application to LCD
A small number of major developers have sufficiently deep pockets for both rich and reach But even the big guys incur major opportunity costs
The vast majority of developers will choose to wait before mobilizing their applications Or use proprietary technologies
As a result, Mobile Web 2.0 potential is not realized: Consumers don’t get innovative new products and services Businesses don’t gain productivity benefits
Developers have to choose between rich and reach Rich => take advantage of features found on only a subset of
devices (e.g., only support the iPhone) Reach => simplify the application to LCD
A small number of major developers have sufficiently deep pockets for both rich and reach But even the big guys incur major opportunity costs
The vast majority of developers will choose to wait before mobilizing their applications Or use proprietary technologies
As a result, Mobile Web 2.0 potential is not realized: Consumers don’t get innovative new products and services Businesses don’t gain productivity benefits
Ajax on Mobile Phones: Past, Present and Future 16
Mobile widgets
Write-once, run-anywhere? Not yet Each vendor’s widget format is different Web Runtime differences As a result, only a fraction of content providers
can support only a fraction of phones
Standardization efforts under way W3C Widgets See subsequent slides about OMTP BONDI
Ajax-based mobile widgets will roll out in a big way in the next couple of years
Write-once, run-anywhere? Not yet Each vendor’s widget format is different Web Runtime differences As a result, only a fraction of content providers
can support only a fraction of phones
Standardization efforts under way W3C Widgets See subsequent slides about OMTP BONDI
Ajax-based mobile widgets will roll out in a big way in the next couple of years
Ajax on Mobile Phones: Past, Present and Future 17
Agenda
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future 18
Three Standards Organizations
Working together, along with key companies (e.g., Vodafone) to advance the Open Web on mobile devices
Working together, along with key companies (e.g., Vodafone) to advance the Open Web on mobile devices
Open Web for rich applications
Lightweight
Open Web for mobile applications
Mediumweight
Open Web in general
Heavyweight
Ajax on Mobile Phones: Past, Present and Future 19
Mobile Ajax Summit: Feb. 2007
Vodafone hosts Mobile Ajax summit at 3GSM 2007
~20 companies
Consensus: organize a Workshop on Mobile Ajax
Vodafone hosts Mobile Ajax summit at 3GSM 2007
~20 companies
Consensus: organize a Workshop on Mobile Ajax
Ajax on Mobile Phones: Past, Present and Future 20
Workshop on Mobile Ajax
Took place Sept. 28, 2007 in Mountain View, CA
Preceded by call-for-participation, sent out by W3C and OpenAjax Alliance
37 position papers, 45 attendees ACCESS, AOL, Aplix, Coactus, Dojo, ETRI, Gemalto,
Gemino Mobile, Google, Harvard Medical School, IBM, ICEsoft, Ikivo, Microsoft, Mobile Aware, Mobile Complete, Mobix, Motorola, NEC, Nexaweb, NHN, Nokia, Novarra, NTT Docomo, OpenAjax Alliance, Paving Ways, RIM, SAP, SK Telecom, Sprint, Sun, University of Helsinki, Volantis, W3C WAF WG, Wake3, Yahoo!
Took place Sept. 28, 2007 in Mountain View, CA
Preceded by call-for-participation, sent out by W3C and OpenAjax Alliance
37 position papers, 45 attendees ACCESS, AOL, Aplix, Coactus, Dojo, ETRI, Gemalto,
Gemino Mobile, Google, Harvard Medical School, IBM, ICEsoft, Ikivo, Microsoft, Mobile Aware, Mobile Complete, Mobix, Motorola, NEC, Nexaweb, NHN, Nokia, Novarra, NTT Docomo, OpenAjax Alliance, Paving Ways, RIM, SAP, SK Telecom, Sprint, Sun, University of Helsinki, Volantis, W3C WAF WG, Wake3, Yahoo!
Ajax on Mobile Phones: Past, Present and Future 21
2007 Conclusions
Ultimately, a common Ajax platform will become available across desktop and mobile devices Thereby providing the industry with a universal content and
application platform
It will be the Web on mobile… not a separate mobile Web
Ajax running on mobile devices has its own set of special requirements and opportunities Constraints: screen size, keypad, CPU, memory, bandwidth, etc. Opportunities: Portability, GPS, camera, messaging, voice, etc.
Mobile Ajax (the “Web Runtime”) is not just for browsing Mobile “widgets” for installed applications Often need access to device APIs
Ultimately, a common Ajax platform will become available across desktop and mobile devices Thereby providing the industry with a universal content and
application platform
It will be the Web on mobile… not a separate mobile Web
Ajax running on mobile devices has its own set of special requirements and opportunities Constraints: screen size, keypad, CPU, memory, bandwidth, etc. Opportunities: Portability, GPS, camera, messaging, voice, etc.
Mobile Ajax (the “Web Runtime”) is not just for browsing Mobile “widgets” for installed applications Often need access to device APIs
Ajax on Mobile Phones: Past, Present and Future 22
Mobile Device APIs Early Work
Vodafone MobileScript open source from Vodafone R&D 2nd Mobile Ajax Summit (MWC, Feb 2008)
• OpenAjax Alliance should launch fast-track efforts around Mobile Device APIs
OpenAjax Alliance: March to May 2008 Industry due diligence Use case definition Requirements gathering Security (requirements and high-level approach)
In parallel, W3C launches geolocation API activity initial proposal from Google Gears team
In parallel, OMTP BONDI ramps up
Vodafone MobileScript open source from Vodafone R&D 2nd Mobile Ajax Summit (MWC, Feb 2008)
• OpenAjax Alliance should launch fast-track efforts around Mobile Device APIs
OpenAjax Alliance: March to May 2008 Industry due diligence Use case definition Requirements gathering Security (requirements and high-level approach)
In parallel, W3C launches geolocation API activity initial proposal from Google Gears team
In parallel, OMTP BONDI ramps up
Ajax on Mobile Phones: Past, Present and Future 23
OMTP BONDI
(switch to BONDI slide deck) (switch to BONDI slide deck)
Ajax on Mobile Phones: Past, Present and Future 24
Agenda
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future 25
Mobile Ajax Ready Strawman
Industry comes together to define “Mobile Ajax Ready” List of feature and performance requirements Acid tests to verify conformance
Key leadership comes from the user and developer communities Enterprise suppliers: IBM, Oracle, Salesforce, TIBCO, … Consumer sites: Google, Yahoo, Facebook, MySpace, … Ajax toolkits: Dojo, Prototype, jQuery, GWT, Ext JS, …
In partnership with mobile infrastructure companies Operators Device manufacturers Browser developers
Industry comes together to define “Mobile Ajax Ready” List of feature and performance requirements Acid tests to verify conformance
Key leadership comes from the user and developer communities Enterprise suppliers: IBM, Oracle, Salesforce, TIBCO, … Consumer sites: Google, Yahoo, Facebook, MySpace, … Ajax toolkits: Dojo, Prototype, jQuery, GWT, Ext JS, …
In partnership with mobile infrastructure companies Operators Device manufacturers Browser developers
Ajax on Mobile Phones: Past, Present and Future 26
Objective: Growth of innovative mobile applications Interoperability across a range of mobile
platforms Ideal: write once, run anywhere More realistic: minimize development/testing costs
Accelerate availability of key features HTML5: video, local/session storage, server push,
postMessage(), … Graphics: SVG and Canvas Device APIs: telephony, address book, mail, messaging,
camera, connectivity status, …
Mobile innovation Vendors focus on innovation instead of porting
Entire technology stack uses open technologies Open source options for most features No one taking tolls
Interoperability across a range of mobile platforms Ideal: write once, run anywhere More realistic: minimize development/testing costs
Accelerate availability of key features HTML5: video, local/session storage, server push,
postMessage(), … Graphics: SVG and Canvas Device APIs: telephony, address book, mail, messaging,
camera, connectivity status, …
Mobile innovation Vendors focus on innovation instead of porting
Entire technology stack uses open technologies Open source options for most features No one taking tolls
Ajax on Mobile Phones: Past, Present and Future 27
Mobile Ajax Ready
100% Open Web Starts with today’s desktop Ajax as the starting
point De facto standard platform supported by today’s Ajax toolkits Includes various (non-W3C) quirks modes and extensions
Then adds selectively: Critical features from HTML5 (e.g., offline) Critical features from OMTP, particularly BONDI On an exceptional basis, other open technologies defined
outside of HTML5
OK for mobile devices to include open plugins to achieve conformance In case browser code bases aren’t keeping up E.g., Google Gears or Yahoo! Browser Plus
100% Open Web Starts with today’s desktop Ajax as the starting
point De facto standard platform supported by today’s Ajax toolkits Includes various (non-W3C) quirks modes and extensions
Then adds selectively: Critical features from HTML5 (e.g., offline) Critical features from OMTP, particularly BONDI On an exceptional basis, other open technologies defined
outside of HTML5
OK for mobile devices to include open plugins to achieve conformance In case browser code bases aren’t keeping up E.g., Google Gears or Yahoo! Browser Plus
Ajax on Mobile Phones: Past, Present and Future 28
Acid tests
Modeled after tests from Web Standards Project (WSP) Not attempting to be comprehensive
• Basic checks on features• Relies on other organizations to produce detailed tests
Highly visual results (e.g., “Passes 70/100 tests”)
Supplements the WSP’s Acids tests Devices need to pass both the WSP Acid tests and the Mobile
Ajax Ready acid tests
Get test cases from leading Ajax libraries Ajax libraries push browsers to the limit (e.g., Dojo offline
storage) Several leading Ajax libraries already share their test suites
with browser teams Most mobile Ajax applications will use an Ajax library (just as
on the desktop), so this is a natural part of being “Ajax Ready”
Modeled after tests from Web Standards Project (WSP) Not attempting to be comprehensive
• Basic checks on features• Relies on other organizations to produce detailed tests
Highly visual results (e.g., “Passes 70/100 tests”)
Supplements the WSP’s Acids tests Devices need to pass both the WSP Acid tests and the Mobile
Ajax Ready acid tests
Get test cases from leading Ajax libraries Ajax libraries push browsers to the limit (e.g., Dojo offline
storage) Several leading Ajax libraries already share their test suites
with browser teams Most mobile Ajax applications will use an Ajax library (just as
on the desktop), so this is a natural part of being “Ajax Ready”
Ajax on Mobile Phones: Past, Present and Future 29
Driven by content developers
Enterprise suppliers IBM, Oracle, Salesforce, TIBCO, …
Consumer sites Google, Yahoo, Facebook, MySpace, …
Ajax toolkits Dojo, Prototype, jQuery, GWT, Ext JS, …
Enterprise suppliers IBM, Oracle, Salesforce, TIBCO, …
Consumer sites Google, Yahoo, Facebook, MySpace, …
Ajax toolkits Dojo, Prototype, jQuery, GWT, Ext JS, …
Ajax on Mobile Phones: Past, Present and Future 30
Lightweight, dynamic, fast-moving process
“Mobile Ajax Ready” will need regular updates
Updated definition every 6 months? 9? 12?
Good to give advanced warning about likely features in future versions Allows platforms to see what is coming and
start implementing before final approval
“Mobile Ajax Ready” will need regular updates
Updated definition every 6 months? 9? 12?
Good to give advanced warning about likely features in future versions Allows platforms to see what is coming and
start implementing before final approval
Ajax on Mobile Phones: Past, Present and Future 31
Recruitment
Key mobile companies: Vodafone, Nokia, …
Key consumer companies: Google, Facebook, MySpace, …
Key Enterprise companies: IBM, …
Key Ajax toolkits: Dojo, …
Key browser companies: Mozilla? Opera?
Web Standards Project
Key mobile companies: Vodafone, Nokia, …
Key consumer companies: Google, Facebook, MySpace, …
Key Enterprise companies: IBM, …
Key Ajax toolkits: Dojo, …
Key browser companies: Mozilla? Opera?
Web Standards Project
Ajax on Mobile Phones: Past, Present and Future 32
Leadership
? ?
Ajax on Mobile Phones: Past, Present and Future 33
Thanks!