Ajax on Mobile Phones: Past, Present and Future
Download
Report
Transcript Ajax on Mobile Phones: Past, Present and Future
Ajax on Mobile Phones:
Accelerating Key Features,
Minimizing Fragmentation
Jon Ferraiolo
IBM and OpenAjax Alliance
November 5, 2008
Agenda
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
2
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”
Ajax on Mobile Phones: Past, Present and Future
3
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
Ajax on Mobile Phones: Past, Present and Future
4
What do we mean by a Web Runtime?
Mobile browsers today…
Web app
Widget
Browser
Rich UI
Scripting
xHTML
CSS
SVG
JavaScript
Browser
Web
Runtime
Responsiveness
Web
e.g., S60
UI toolkit
Application APIs
Middleware
e.g., Symbian
Kernel
H/W abstraction layer (HAL)
Hardware
Embracing “Ajax”:
HTML, JavaScript, CSS, DOM
Evolve the browser as a new
Web Runtime for hosting
Butmobile
evolving
theand
Web
beyond
apps
services
the browser:
Widgets & other deviceresident applications
(alternative to J2ME)
Ajax on Mobile Phones: Past, Present and Future
5
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
Ajax on Mobile Phones: Past, Present and Future
6
Enhancing the Web Runtime with device APIs
Device APIs:
Terminal
functionality &
user data
Web
information
Web app
Adds context
Ajax on Mobile Phones: Past, Present and Future
•
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)
Enables mashups
7
Agenda
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
8
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)
Ajax on Mobile Phones: Past, Present and Future
9
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, …
Ajax on Mobile Phones: Past, Present and Future
10
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
Ajax on Mobile Phones: Past, Present and Future
11
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)
Ajax on Mobile Phones: Past, Present and Future
12
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)
Ajax on Mobile Phones: Past, Present and Future
13
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
Ajax on Mobile Phones: Past, Present and Future
14
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
Ajax on Mobile Phones: Past, Present and Future
15
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
Ajax on Mobile Phones: Past, Present and Future
16
Agenda
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future
17
Three Standards Organizations
Working together, along with key companies
(e.g., Vodafone) to advance the Open Web on
mobile devices
Ajax on Mobile Phones: Past, Present and Future
Open Web for
rich applications
Lightweight
Open Web for
mobile
applications
Mediumweight
Open Web
in general
Heavyweight
18
Mobile Ajax Summit: Feb. 2007
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
19
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,
Ajax on Mobile Phones: Past,
Present and Future of Helsinki, Volantis, W3C WAF WG,
University
20
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
Ajax on Mobile Phones: Past, Present and Future
21
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
Ajax on Mobile Phones: Past, Present and Future
22
OMTP BONDI
(switch to BONDI slide deck)
Ajax on Mobile Phones: Past, Present and Future
23
Agenda
Mobile Web Runtime – the Vision
Mobile Web Runtime – the Reality
Mobile Device APIs
Mobile Ajax Ready
Ajax on Mobile Phones: Past, Present and Future
24
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
Ajax on Mobile Phones: Past, Present and Future
25
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
Ajax on Mobile Phones: Past, Present and Future
26
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
Ajax on Mobile Phones: Past, Present and Future
27
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
Ajax on Mobile Phones: Past,
and Future so this is a natural part of being “Ajax Ready”
thePresent
desktop),
28
Driven by content developers
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
29
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
Ajax on Mobile Phones: Past, Present and Future
30
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
Ajax on Mobile Phones: Past, Present and Future
31
Leadership
?
Ajax on Mobile Phones: Past, Present and Future
32
Thanks!
Ajax on Mobile Phones: Past, Present and Future
33