Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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