45
Standards for Web Applications on Mobile: current state and roadmap January 2014 Latest version http://www.w3.org/Mobile/mobile-web-app-state/ This version http://www.w3.org/2014/01/mobile-web-app-state/ (PDF version ) Previous version http://www.w3.org/2013/09/mobile-web-app-state/ Web technologies have become powerful enough that they are used to build full-featured applications; this has been true for many years in the desktop and laptop computer realm, but is increasingly so on mobile devices as well. This document summarizes the various technologies developed in W3C that increase the capabilities of Web applications, and how they apply more specifically to the mobile context. A good subset of these technologies are described and explained in the W3C on-line training on programming Web applications . 1. Graphics ...................................................................................................................................................................................3 2. Multimedia .............................................................................................................................................................................10 3. Device Adaptation .................................................................................................................................................................14 4. Forms .....................................................................................................................................................................................17 5. User interactions ....................................................................................................................................................................22 6. Data storage ...........................................................................................................................................................................25 7. Personal Information Management ........................................................................................................................................29 8. Sensors and hardware integration ..........................................................................................................................................31 9. Network..................................................................................................................................................................................34 10. Communication_and_Discovery............................................................................................................................................37 11. Packaging ...............................................................................................................................................................................39 12. Performance & Optimization .................................................................................................................................................42 Status and changes This document is the twelfth edition of this overview of mobile Web applications technologies. The previous edition was released in September 2013 . A live version of this document accepts contributions on the W3C Web and Mobile Interest Group Github repository . This document is published by the Web and Mobile Interest Group ; feedback on every aspect of this document should be sent to [email protected] , the publicly archived mailing list of the interest group, or raised as issues on the Github repository , or alternatively to the author ([email protected] ). It will serve as input for the next iteration of the document. It documents the following changes in the Web platform since September 2013: CORS , the mechanism that facilitates the creation of mashups by enabling cross-origin requests, has been published as a W3C Recommendation; Performance Timeline and User Timing , both APIs that enable developers to track and improve the performance of their apps, have been published as W3C Recommendations; Touch Events , the API that let Web applications react to touch input, has been published as a W3C Recommendation; work on the more comprehensive Pointer Events specification is continuing; Web Storage , a simple data storage mechanism for Web applications, has been published as a W3C Recommendation; The Geolocation API , enabling location-aware Web applications, has been published as a W3C Recommendation; Timing control for script-based animations , which enables to develop smoother Javascript-based animations, reached Candidate Recommendation status; 1/45

Standards for Web Applications on Mobile: current state

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Standards for Web Applications on Mobile: current state

Standards for Web Applications on Mobile:current state and roadmap

January 2014

Latest versionhttp://www.w3.org/Mobile/mobile-web-app-state/

This versionhttp://www.w3.org/2014/01/mobile-web-app-state/ (PDF version)

Previous versionhttp://www.w3.org/2013/09/mobile-web-app-state/

Web technologies have become powerful enough that they are used to build full-featured applications; this has been true formany years in the desktop and laptop computer realm, but is increasingly so on mobile devices as well.

This document summarizes the various technologies developed in W3C that increase the capabilities of Web applications, andhow they apply more specifically to the mobile context. A good subset of these technologies are described and explained in theW3C on-line training on programming Web applications.

1. Graphics ...................................................................................................................................................................................32. Multimedia.............................................................................................................................................................................103. Device Adaptation .................................................................................................................................................................144. Forms .....................................................................................................................................................................................175. User interactions ....................................................................................................................................................................226. Data storage ...........................................................................................................................................................................257. Personal Information Management........................................................................................................................................298. Sensors and hardware integration ..........................................................................................................................................319. Network..................................................................................................................................................................................34

10. Communication_and_Discovery............................................................................................................................................3711. Packaging...............................................................................................................................................................................3912. Performance & Optimization.................................................................................................................................................42

Status and changes

This document is the twelfth edition of this overview of mobile Web applications technologies. The previous edition wasreleased in September 2013. A live version of this document accepts contributions on the W3C Web and Mobile Interest GroupGithub repository.

This document is published by the Web and Mobile Interest Group; feedback on every aspect of this document should be sent [email protected], the publicly archived mailing list of the interest group, or raised as issues on the Github repository,or alternatively to the author ([email protected]). It will serve as input for the next iteration of the document.

It documents the following changes in the Web platform since September 2013:

• CORS, the mechanism that facilitates the creation of mashups by enabling cross-origin requests, has been published as aW3C Recommendation;

• Performance Timeline and User Timing, both APIs that enable developers to track and improve the performance of theirapps, have been published as W3C Recommendations;

• Touch Events, the API that let Web applications react to touch input, has been published as a W3C Recommendation; workon the more comprehensive Pointer Events specification is continuing;

• Web Storage, a simple data storage mechanism for Web applications, has been published as a W3C Recommendation;• The Geolocation API, enabling location-aware Web applications, has been published as a W3C Recommendation;• Timing control for script-based animations, which enables to develop smoother Javascript-based animations, reached

Candidate Recommendation status;

1/45

Page 2: Standards for Web Applications on Mobile: current state

• Media Source Extensions, the key to the Javascript-based generation of video content, reached Candidate Recommendationstatus;

• Proximity Events and Ambient Light Events, enabling access respectively to proximity sensors and ambient light sensors,have reached Candidate Recommendation status;

• The first public Working Draft of the Web NFC API has been published, paving the way to integrate Near-FieldCommunications in the Web platform;

• The first public Working Draft of Beacon was published; that API offers to queue HTTP requests that are guaranteed to betriggered, even after the page has unloaded;

• Manifest for web apps and bookmarks was released as a first public Working Draft; the document specifies how to describethe properties (e.g. icon and name) of a Web application;

• Resource Priorities, a mechanism to indicate which network requests have high priority, was released as a first publicWorking Draft;

• The Patent Advisory Group formed to assess the Push API situation with regard to patent exclusions it had receivedconcluded that the disclosed patents did not read on the specification, opening the way to its further progress;

• Convergence on responsive images (i.e. images that adapt to the resolution of the screen on which they are displayed) isprogressing, with both <picture> and srcset gaining momentum as complementary approaches;

• An editors draft of the proposed new FileSystem API, an alternative to the Directories and System File API, has been madeavailable;

• An editors draft for Service Workers is emerging; Service Workers enables off-line or low-network connectivityoperations, and creates a framework for background operations for Web apps;

• Built on top of Service Workers, an editors draft of the System Applications Working Group’s Application Lifecycle andEvents specification was made available;

• Work on WOFF 2 (downloadable fonts), promising smaller downloads, has started with an evaluation of possibleimprovements

• The Device APIs Working Group formalized the abandon of a number of its APIs due to the lack of reasonable browser-based security models: Pick Media Intent, Pick Contacts Intent, Calendar API, Web Intents Addendum - Local Services

Document structure

The features that these technologies add to the Web platform are organized under the following categories: graphics (page3), multimedia (page 10), device adaptation (page 14), forms (page 17), user interactions (page 22), data storage (page 25),personal information management (page 29), sensors and hardware integration (page 31), network (page 34), communicationand discovery (page 37), packaging (page 39), performance & optimization (page 42).

Web

User

Storage

Web ApplicationPackaging

ContentText

Graphics

Multimedia

User Input

User Interactions

FormsHardware &Sensors

Network

Comm.

Other users

Other devices

Web Application Web Application Web Application

Other apps

PIM

The Web as an application development platform

In each category, a table summarizes for each feature:

• which W3C specification defines the feature; specifications that have been identified as of particular importance in theCore Mobile Web Platform 2012 report are marked with a medal,

STANDARDS FOR WEB APPLICATIONS ON MOBILE DOCUMENT STRUCTURE

2/45

Page 3: Standards for Web Applications on Mobile: current state

Editors

WD

LCWD

CR

PR

Rec

• which W3C group is responsible of the said specification,• the stage of the specification in the W3C Recommendation track (see below),• the estimated stability of the feature, i.e. how little the author expects it to change, from an early draft that can still evolve

a lot, to a finished document with only minor expected changes,• a link to the latest editors draft of the document, and a representation of the recent editing activity;• some qualitative indication on availability of implementations on mobile devices, based on data collected primarily from

Can I Use… and mobile HTML5, completed with data from Mozilla developer network, QuirksMode, as well as theauthor’s understanding of the mobile devices market (see also the code used to generate the support icons)

• When available, a link to a relevant tutorial on WebPlatform Docs, and to relevant on-line training courses onW3DevCampus

• a link to the test suite for the said feature, and when relevant, a github ribbon to access the underlying git repository.

As a reminder, W3C creates Web standards by progressing documents through its Recommendation track, with the followingstages:

“Editors drafts” represent the current view of the editors of the specification but have no standing in terms ofstandardization.

“Working Drafts” (WD) are early milestones of the Working Group progress.

“Last Call Working Drafts” signal that the Working Group has determined that the specification fulfills itsrequirements and all the known issues have been resolved, and thus requests feedback from the larger community.

“Candidate Recommendations” (CR) trigger a call for implementations where implementers are invited toimplement the specification and send feedback; Working Groups are expected to show the specification getsimplemented by running test suites they have developed.

“Proposed Recommendations” (PR) manifests that the group has gathered sufficient implementation experience,and triggers the final review by W3C Members

“W3C Recommendations” (Rec) are stable and completed Web standards; these documents only get updated rarely,through the “Edited Recommendation” process, as a results from errata collected by Working Groups.

Prior to starting standardization, a Working Group needs to be chartered, based on input from W3C Members, often through theorganization of a workshop, or after the reception of a W3C Member Submission.

W3C has set up Community Groups, a mechanism that allows anyone to do experimental work within the W3C infrastructure,under IPR rules that are compatible to transition the work to the W3C standardization process.

1. Graphics

SVG, Scalable Vector Graphics, provides an XML-based markup language to describe two-dimensions vector graphics. Sincethese graphics are described as a set of geometric shapes, they can be zoomed at the user request, which makes them well-suitedto create graphics on mobile devices where screen space is limited. They can also be easily animated, enabling the creation ofvery advanced and slick user interfaces.

The integration of SVG in HTML5 opens up new possibilities, for instance applying advanced graphic filters (through SVGfilters) to multimedia content, including videos. SVG 2.0 is set to facilitate that integration and complete the set of features inSVG.

In complement to the declarative approach provided by SVG, the <canvas> element added in HTML5 enables a 2Dprogrammatic API that is well-suited for processing graphics in a less memory intensive way. That API not only allows

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

3/45

Page 4: Standards for Web Applications on Mobile: current state

rendering graphics, but can also be used to do image processing and analysis — HTML 5.1 adds the ability to do that processingin a separate Web Worker.

Both SVG and HTML can be styled using CSS (Cascading Style Sheets); in particular, CSS3 (the third level of the specification)is built as a collection of specifications set to offer a large number of new features that make it simple to create graphical effects,such as rounded corners, complex background images, shadow effects (CSS Backgrounds and Borders), rotated content (CSSTransforms, including with 3D effects).

Animations can be described declaratively vi(CSS Animations, and CSS Transitions).

Animations can also be managed via scripting through the API exposed in Web Animations; as they can be resource intensive,the possibility offered by the Timing control for script-based animations API to manage the rate of updates to animations canhelp keep them under control.

CSS Flexbox allows to build complex layouts as required for interactive applications on small screens.

Fonts play also an important role in building appealing graphical interfaces, but mobile devices are in general distributed withonly a limited set of fonts. WOFF 1.0 (Web Open Font Format) addresses that limitation by making it easy to use fonts thatare automatically downloaded through style sheets, while keeping the size of the downloaded fonts limited to what is actuallyneeded to render the interface. The upcoming WOFF 2.0 update to that format promises 25%-smaller download sizes, reducingthe time needed to download and display these fonts.

Another important aspect in graphics-intensive applications (e.g. games) is the possibility to use the entire screen to display thesaid graphics; the Fullscreen API lets a Web application requests and detects full screen display.

Likewise, in these scenarios, it is often useful to be able to lock the orientation of the screen; the Screen Orientation APIallows not only to detect orientation change, but also to lock the orientation in a specific state.

NB: a 3D graphic API for HTML5 canvas, called WebGL, has been developed outside of W3C, as part of the Khronos Group;this API has been built to be compatible with OpenGL ES, i.e. for embedded systems, and is intended to work on mobile devices.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

4/45

Page 5: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Scalable VectorGraphics (SVG) 1.1Specification

SVG Rec FinishedNew version ofSVG (SVG 2.0) inpreparation

Widely deployed

3.2+

7.0+ 9.0+ 24.0+

3.0+ 12.1+ 29.0+

High coverage

2D VectorGraphics

Scalable VectorGraphics (SVG) 2

SVG WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

N/A

X

X X X

X X X

N/A

2D ProgrammaticAPI

HTML Canvas 2DContext

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Widely deployed

3.2+

7.0+ 9.0+ 24.0+

3.0+ 12.1+ 29.0+

Good coverage

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

5/45

Page 6: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

HTML 5.1 HTML WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

Rounded Corners

CSS Backgroundsand BordersModule Level 3

CSS CR Mostly finished

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

6.0+

10.0+ 11.0+ 24.0+

4.4+ 11.0+ 29.0+

Good coverage

Complexbackgroundimages

CSS Backgroundsand BordersModule Level 3

CSS CR Mostly finished

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

6.0+

10.0+ 11.0+ 24.0+

4.4+ 11.0+ 29.0+

Good coverage

Box shadow effects

CSS Backgroundsand BordersModule Level 3

CSS CR Mostly finished

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

6.0+

10.0+ 11.0+ 24.0+

4.4+ 11.0+ 29.0+

Good coverage

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

6/45

Page 7: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

2D Effects

CSS TransformsModule Level 1

SVG andCSS

WD Mostly stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 9.0+ 24.0+

2.1+ 12.1+ 29.0+

Good coverage

3D Effects

CSS TransformsModule Level 1

SVG andCSS

WD Stabilizing

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 10.0+ 24.0+

3.0+ X 29.0+

Good coverage

CSS Animations

CSS WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 10.0+ 24.0+

4.0+ 12.1+ 29.0+

CSS Transitions

CSS WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 10.0+ 24.0+

2.1+ 12.1+ 29.0+Animations

Web Animations1.0

SVG andCSS

WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

None

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

7/45

Page 8: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Timing control forscript-basedanimations

Web Performance CR Stable

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

6.0+

10.0+ 10.0+ 24.0+

4.4+ X 29.0+

Well started

Complex layouts

CSS Flexible BoxLayout Module

CSS CR Mostly finished

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

7.0+

10.0+ 11.0+ 24.0+

4.4+ 12.1+ 29.0+

Well started

WOFF File Format1.0

WebFonts Rec Finished Finished

Good deployment

5.0+

7.0+ 9.0+ 24.0+

4.4+ 12.1+ 29.0+

Good coverage

Downloadablefonts

WOFF 2 WebFonts N/A Not startedWOFF2Requirements

None

X

X X X

X X X

N/A

Fullscreen display

Fullscreen

CSS andWeb Applications

WD Early draft

Last updatedOctober 2012

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited

X

10.0+ 11.0+ 24.0+

X X 29.0+

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

8/45

Page 9: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Orientation Lock

The ScreenOrientation API

Web Applications WD Early draft

Last updatedNovember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

?

? ? 14+

? ? ?

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 1. GRAPHICS

9/45

Page 10: Standards for Web Applications on Mobile: current state

2. Multimedia

HTML5 adds two tags that dramatically improve the integration of multimedia content on the Web: the <video> and<audio> tags. Respectively, these tags allow embedding video and audio content, and make it possible for Web developers tointeract much more freely with that content than they would through plug-ins. They make multimedia content first-class citizensof the Web, the same way images have been for the past 20 years.

The playback content can be augmented and completed via Media Source Extensions that lets developers generate media contentin JavaScript.

To cater for the needs of some content providers, a proposal to enable playback of protected content, Encrypted MediaExtensions is an API that is under consideration in the HTML Working Group.

The Pick Media Intent offers a Web-intent based approach to search and retrieve locally or remotely stored media content,while the Network Service Discovery API opens the door for integrating DLNA-hosted content into Web applications.

While the new HTML5 tags allow to play multimedia content, the HTML Media Capture defines a markup-based mechanismto access captured multimedia content using attached camera and microphones, a very common feature on mobile devices.The Web Real-Time Communications Working Group and the Device APIs Working Group are building together an API(getUserMedia) to directly manipulate streams from camera and microphones, as well as an API to record these streamsinto files, and another API to use access to cameras to take photos programatically.

Beyond capturing and recording, two additional APIs add multimedia manipulation capabilities to the Web platform. We havealready mentioned the Canvas 2D Context API: it enables modifying images, which in turn opens up the possibility of videoediting.

In a similar vein, the Audio Working Group is working on an API that that makes it possible to modify audio content, as well asanalyze, modify and synthesize sounds, the Web Audio API.

The combination of all these features marks the starting point of the Web as a comprehensive platform for multimedia, both forconsuming and producing. The rising interest around bridging the Web and TV worlds (manifested through the W3C Web andTV Interest Group) should strengthen that trend in the coming months. Mobile devices are expected to take a growing role inmany users TV experience, providing a “second screen” experience, where users can find more information on or interact witha TV program they're watching via their mobile devices.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 2. MULTIMEDIA

10/45

Page 11: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Video playback

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Good deployment

3.2+

7.0+ 9.0+ 24.0+

2.3+ 12.1+ 29.0+

Audio playback

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Good deployment

3.2+

7.0+ 9.0+ 24.0+

2.3+ 12.1+ 29.0+

Generation ofmedia content

Media SourceExtensions

HTML CR Stable

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited

?

? 11+ 25+

? ? 23+

None

Well started

Started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 2. MULTIMEDIA

11/45

Page 12: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Protected contentplayback

Encrypted MediaExtensions

HTML WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X 11+ X

X X X

None

Pick Media Intent Device APIs Retired

Early Web-intentsbased approach;stalled due to lackof progress on WebIntents

Last updated May2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

MultimediaGallery access

Network ServiceDiscovery

Device APIs WD Early draft

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

HTML MediaCapture

Device APIs CR Stable

Last updated May2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Growingdeployment

6.0+

10+ X 9+

3.0+ X 18+

Media Capture andStreams

Device APIs andWeb Real-TimeCommunications

WD Stabilizing

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

10.0+ X 24.0+

X 12.1+ 29.0+

Capturing audio/video

MediaStreamRecording

Device APIs andWeb Real-TimeCommunications

WD Early draft

Last updatedNovember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

started

well started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 2. MULTIMEDIA

12/45

Page 13: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Mediastream ImageCapture

Device APIs andWeb Real-TimeCommunications

WD Early draft

Last updated July2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

Image & Videoanalysis,modification

HTML Canvas 2DContext

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Widely deployed

3.2+

7.0+ 9.0+ 24.0+

3.0+ 12.1+ 29.0+

Audio analysis,modification

Web Audio API Audio WD Starting to stabilize

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Growing

6.0+

X X 24.0+

X X 29.0+

Good coverage

Started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 2. MULTIMEDIA

13/45

Page 14: Standards for Web Applications on Mobile: current state

3. Device Adaptation

Mobile devices not only differ widely from traditional computers, but they also have a lot of variations among themselves, interm of screen size, resolution, type of keyboard, media recording capabilities, etc.

The Device Description Repository API is a unified server-side API that allows Web developers to retrieve data on the devicesthat are accessing their pages on a variety of device information database.

The Media Capture Streams API exposes some specific information on capabilities of camera and microphones to make itpossible to take advantage of the large variety of media capturing devices provided on mobile phones.

CSS Media Queries offer a mechanism that allows adapting the layout and behavior of a Web page based on some of thecharacteristics of the device, including the screen resolution — to which Media Queries Level 4 proposes to add the availabilityand type of a pointing device, the ability to hover over elements, and the ambient luminosity. CSS Device Adaptation defines aset of CSS directives to define the size on which this layout should be based, relatively to the size of the underlying device —specifying what has been implemented using the <meta name="viewport"> element so far.

The Responsive Images Community Group (RICG) is currently working on an extension to HTML, known as the pictureelement, that allows authors define what image to load depending on device capabilities and/or other media features. The RICGpublishes a use cases and requirements document that fully describes the problem.

As a complementary approach, the srcset attribute, specified by the WHATWG and also published as an extension to HTML,let Web developers define the various device pixel ratios of an image, letting the browser pick the best choice for the pixeldensity of the screen. As of January 2014, there is general agreement amongst browser vendors to implement both pictureand srcset.

Some work was also undertaken into a new responsive images proposal called "srcN". However, that approach was rejected bythe community and by browser vendors. It did, however, serve as a catalyst for unifying picture and srcset.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 3. DEVICE ADAPTATION

14/45

Page 15: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Device informationDevice DescriptionRepository SimpleAPI

Device Description Rec finished N/A Limited

Good Coverage

Media CaptureCapabilities

Media Capture andStreams

Device APIs andWeb Real-TimeCommunications

WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

Media Queries

CSS Rec Finished Finished

Widely deployed

3.2+

7.0+ 9.0+ 24.0+

2.1+ 12.1+ 29.0+

Good coverage

Media QueriesLevel 4

CSS Editors Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

CSS-basedadaptation

CSS DeviceAdaptation

CSS WD Early draft

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X 10+ X

X 11.1+ X

N/A

STANDARDS FOR WEB APPLICATIONS ON MOBILE 3. DEVICE ADAPTATION

15/45

Page 17: Standards for Web Applications on Mobile: current state

4. Forms

The ability to build rich forms with HTML is the basis for user input in most Web-based applications. Due to their limitedkeyboards, text input on mobile devices remains a difficult task for most users; HTML5 address parts of this problem by offeringnew type of form controls that optimize the way users will enter data:

• date and time entries can take advantage of a number of dedicated form controls (e.g. <input type="date">) wherethe user can use a native calendar control;

• the <input type="email">, <input type="tel"> and <input type="url"> can be used to optimizethe ways user enter these often-difficult to type data, e.g. through dedicated virtual keyboards, or by accessing on-devicerecords for these data (from the address book, bookmarks, etc.);

• the inputmode attribute (proposed in HTML 5.1) defines the type of textual input expected in a text entry;• the pattern attribute allows both to guide user input as well as to avoid server-side validation (which requires a network

round-trip) or JavaScript-based validation (which takes up more resources);• the placeholder attribute allows to guide user input by inserting hints as to what type of content is expected in a text-

entry control;• the <datalist> element allows creating free-text input controls coming with pre-defined values the user can select

from; HTML 5.1 defines a mechanism for the autocomplete attribute to automatically fill input fields based on well-known data for the user.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 4. FORMS

17/45

Page 18: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Date and timeentries

HTML5

HTML CR

Mostly stable, butfeature marked atrisk

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Growing

5.0+

10.0+ X X

4.4+ 10.0+ 29.0+

Customized textentries (tel, email,url)

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

5+

4.7.1+ 10+ 4+

3+ 11+ 18+

Just started

Just started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 4. FORMS

18/45

Page 19: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Input modality HTML 5.1 HTML WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

Input pattern

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

4.7.1+ X 4+

X 11+ 18+

None

Just started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 4. FORMS

19/45

Page 20: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Input hint

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 10.0+ 24.0+

2.1+ 12.1+ 29.0+

Autocomplete fortext entries

HTML5

HTML CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited

X

10.0+ 10.0+ 24.0+

X 10.0+ ?

Started

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 4. FORMS

20/45

Page 21: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

HTML 5.1 HTML WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 4. FORMS

21/45

Page 22: Standards for Web Applications on Mobile: current state

5. User interactions

An increasing share of mobile devices relies on touch-based interactions. While the traditional interactions recognized in theWeb platform (keyboard, mouse input) can still be applied in this context, a more specific handling of touch-based input is acritical aspect of creating well-adapted user experiences, which Touch Events in the DOM (Document Object Model) enable.The work on that specification is now nearly finished.

Meanwhile, the Pointer Events Working Group has made good progress on an alternative approach to handle user input, PointerEvents, that allows to handle mouse, touch and pen events under a single model. This new approach is expected to replace thecurrently more widely deployed Touch Events.

As more and more content gets rendered as long scrollable lists, more and more logic is attached to scrolling events, and thequality of the user experience of these actions is highly dependent on their performances. The CSSOM View Module determineswhen scrolling events get fired, and let developers specify the type of scrolling behavior they want.

Many mobile devices use on-screen keyboards to let users type; the Input Method Editor (IME) API makes it possible tocoordinate the interactions between that on-screen keyboard and Web applications.

Conversely, many mobile devices use haptic feedback (such as vibration) to create new form of interactions (e.g. in games);work on a vibration API in the Device APIs Working Group is making good progress.

But as the Web reaches new devices, and as devices gain new user interactions mechanisms, it also becomes important toallow Web developers to react to a more abstract set of user interactions: instead of having to work in terms of “click”, “keypress”, or “touch event”, being able to react to an “undo” command, or a “next page” command independently of how the userinstructed it to the device will prove beneficial to the development of device-independent Web applications. The IndieUI Eventsspecification, developed by the Indie UI Working Group, aims at addressing this need.

Mobile devices follow their users everywhere, and many mobile users rely on them to remind them or notify them of events,such as messages: the Web Notifications specification proposes to add that feature to the Web environment.

Mobile devices, and mobile phones in particular, are also in many cases well-suited to be used through voice-interactions; theSpeech API Community Group is exploring the opportunity of starting standardization work around a JavaScript API thatwould make it possible for users to interact with a Web page through spoken commands.

The hardware constraints of mobile devices, and their different usage context can make mobile users experience similar barriersto people with disabilities. These similarities in barriers mean that similar solutions can be used to cater for them, making a Website accessible both for people with disabilities and mobile devices a natural goal (as detailed in Relationship between MobileWeb Best Practices and WCAG).

How Web Content Accessibility Guidelines (WCAG) and User Agent Accessibility Guidelines (UAAG) provide guidance onmobile accessibility — that is, making websites and applications more accessible to people with disabilities when they are usingmobile phones and a broad range of other devices — is discussed in Mobile Accessibility.

WAI-ARIA provides semantic information on widgets, structures and behaviors hooks to make Web applications moreaccessible, including on mobile devices.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 5. USER INTERACTIONS

22/45

Page 23: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Touch Events

Web Events Rec Finished

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Largely deployed

3.2+

7.0+ X 24.0+

2.1+ 12.1+ 29.0+

Complete

Touch-basedinteractions

Pointer Events

Pointer Events CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited deployment

X

X 11.0+ X

X X X

Smooth scrolling

CSSOM ViewModule

CSS WD Still changing

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

On-screenkeyboardinteractions

Input MethodEditor API

Web Applications WD Still changing

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

Vibration Vibration API Device APIs CR Mostly stable

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

10+ X 11+

X X 32+

Just started

Started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 5. USER INTERACTIONS

23/45

Page 24: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Intent-basedevents

IndieUI: Events 1.0Independent UserInterface (Indie UI)

WD Early draft

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

None

Notification Web Notifications Web Notification LCWD Stabilizing

Last updatedAugust 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Growingdeployment

X

10.0+ X 24.0+

4.4+ X X

Speech-basedinteractions

Web Speech APISpeech APICommunity Group

N/A N/A

Last updatedJanuary 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

7.0+

X X X

X ? 32+

N/A

Relationshipbetween MobileWeb Best Practices(MWBP) and WebContentAccessibilityGuidelines(WCAG)

Education andOutreach andMobile Web BestPractices

NOTE Finished N/A N/A

N/A

Accessibility

Accessible RichInternetApplications (WAI-ARIA) 1.0

Protocols andFormats

CR StableLast updatedJanuary 2014

Well deployed

3.2+

X 8.0+ 24.0+

4.4+ 12.1+ 29.0+

Well started

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 5. USER INTERACTIONS

24/45

Page 25: Standards for Web Applications on Mobile: current state

6. Data storage

A critical component of many applications is the ability to save state, export content, as well as integrate data from other filesand services on the system.

For simple data storage, the Web Storage specification offers two basic mechanisms, localStorage andsessionStorage, that can preserve data respectively indefinitely, or on a browser-session basis.

For richer interactions, the Web platform has a growing number of APIs to interact with a device filesystem: the File ReaderAPI makes it possible to load the content of a file, the File Writer API allows saving or modifying a file, while the nascentFileSystems API give access to more general file operations, including directory management. Discussions have started onwhether these two latter APIs would better be implemented on top of IndexedDB, and a proposal for a new sandboxed filesystemAPI has been brought forward.

On top of this file-based access, the Indexed Database API (IndexedDB) defines a database of values and hierarchical objectsthat integrates naturally with JavaScript, and can be queried and updated very efficiently. Note that the work around a client-sideSQL-based database, which had been started in 2009, has been abandoned in favor of this new system.

As more and more data need to be stored by the browser (e.g. for offline usage), it becomes critical for developers to get reliablestorage space, which the proposed Quota Management API will offer to Web applications.

Likewise, as some of this data need to be encrypted, the emerging Web Cryptography API from the Web CryptographyWorking Group exposes strong cryptography primitives to Web applications, and can be bound to pre-provisioned keys via theWebCrypto Key Discovery API.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 6. DATA STORAGE

25/45

Page 26: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Simple datastorage

Web Storage

Web Applications Rec Finished

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 8.0+ 24.0+

2.1+ 12.1+ 29.0+

File API

Web Applications LCWD Stabilizing

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Getting welldeployed

6.0+

10.0+ 10.0+ 24.0+

3.0+ 12.1+ 29.0+

File API: Writer Web Applications WD Early draft, unsurefuture

Last updatedJanuary 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

10.0+ X X

X X 29.0+

None

File API:Directories andSystem

Web Applications WD Early draft, unsurefuture

Last updatedJanuary 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

10.0+ X X

X X 29.0+

NoneFile operations

FileSystem API Web Applications N/A Early proposal

Last updatedSeptember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

N/A

None

Complete

Started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 6. DATA STORAGE

26/45

Page 27: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Indexed DatabaseAPI

Web Applications CR Stable

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Growing

X

10.0+ 10.0+ 24.0+

4.4+ X 29.0+

Database query/update

Web SQL Database Web Applications Retired Abandoned N/A

Somewhatdeployed, but won’tbe further deployed

3.2+

7.0+ X X

2.1+ 12.1+ 29.0+

N/A

Quota for storage

Quota ManagementAPI

Web Applications WD Early work

Last updatedNovember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X X X

X X 18+

None

Encrypted storageWeb CryptographyAPI

Web Cryptography WD Early work

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited

X

X X 19+

X X 25+

Good coverage

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 6. DATA STORAGE

27/45

Page 28: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

WebCrypto KeyDiscovery

Web Cryptography WD Early work

Last updatedAugust 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 6. DATA STORAGE

28/45

Page 29: Standards for Web Applications on Mobile: current state

7. Personal Information Management

Applications can benefit from integrating with their users’ existing data records; on mobile devices, the address book andcalendar are particularly useful source of information.

The Contacts API was developed on top of a Web-intents approach for accessing the addressbook from within the Web browser,but given the lack of progress behind Web Intents, has now been abandoned.

For Web apps outside of the browser, a purely programmatic approach is part of the System Applications Working Group, withwork on a Contacts Manager API in progress.

A Web-Intent based Calendar API for in-browser apps was also under development, but has now been abandoned as well.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 7. PERSONAL INFORMATION MANAGEMENT

29/45

Page 30: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Pick Contacts Intent Device APIs Retired

Early Web-intentsbased approach;stalled due to lackof progress on WebIntents

Last updatedAugust 2011

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

Early draft based onprevious API

Addressbook data

Contacts ManagerAPI

SystemApplications

WD Early draft

Last updatedAugust 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

Calendar data Calendar API Device APIs Retired Abandonned

Last updatedOctober 2012

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 7. PERSONAL INFORMATION MANAGEMENT

30/45

Page 31: Standards for Web Applications on Mobile: current state

8. Sensors and hardware integration

Mobile devices are packed with sensors, making them a great bridge between the real and virtual worlds: GPS, accelerometer,ambient light detector, microphone, camera, thermometer, etc.

To take full advantage of these sensors in mobile Web applications, Web developers need to be provided with hooks to interactwith them.

The Geolocation API provides a common interface for locating the device, independently of the underlying technology (GPS,WIFI networks identification, triangulation in cellular networks, etc.). Work towards a new version of the API that wouldinclude geofencing is under consideration.

Web applications can also now access orientation and acceleration data via the DeviceOrientation Event Specification.

A number of APIs for other sensors are under development: the Battery Status API, the Proximity Events API, the Ambient LightEvents API or the proposed Ambient Humidity Events API.

As already mentioned in the section on multimedia (page 10), there is ongoing work on APIs to open up access to camera andmicrophone streams.

The opportunity for Web applications to use Near-Field Communications (NFC) mechanisms have led to the chartering of theNFC Working Group to develop a Web NFC API.

A more global access to sensors and hardware (including USB and bluetooth) is in scope for the System Applications WorkingGroup.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 8. SENSORS AND HARDWARE INTEGRATION

31/45

Page 32: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Geolocation

Geolocation APISpecification

Geolocation Rec Mostly finished

Last updatedSeptember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Widely deployed

3.2+

7.0+ 9.0+ 24.0+

2.1+ 12.1+ 29.0+

Good coverage

Motion sensors

DeviceOrientationEvent Specification

Geolocation LCWD Stabilizing, but withplanned updates

Last updated June2012

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

4.2+

10.0+ 11.0+ 24.0+

3.0+ 12.0+ 29.0+

Started

Battery Status Battery Status API Device APIs CR Stable

Last updated April2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X X 10+

X X X

Proximity sensors Proximity Events Device APIs CR Stable

Last updatedSeptember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X X 15+

X X X

Good coverage

Started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 8. SENSORS AND HARDWARE INTEGRATION

32/45

Page 33: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Ambient Lightsensor

Ambient LightEvents

Device APIs CR Stable

Last updatedSeptember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X X 22+

X X X

Humidity sensorAmbient HumidityEvents

Device APIs N/A Unofficial draft

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

Camera &Microphonestreams

Media Capture andStreams

Device APIs andWeb Real-TimeCommunications

WD Stabilizing

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

10.0+ X 24.0+

X 12.1+ 29.0+

NFC Web NFC APINear FieldCommunications

WD Very early draft

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

Started

well started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 8. SENSORS AND HARDWARE INTEGRATION

33/45

Page 34: Standards for Web Applications on Mobile: current state

9. Network

Network connectivity represents a major asset for mobile devices: the Web is an immense store of content, as well as an almostendless source of processing power, overcoming two of the limitations of mobile devices.

The Web platform is growing a number of APIs that facilitate establishing network connectivity in different contexts.

XMLHttpRequest (the basis for Ajax development) is a widely deployed API to load content from Web servers using the HTTPand HTTPs protocol: the W3C specification (formerly known as XMLHttpRequest Level 2) completes the existing deployedAPI with the ability to make requests on servers in a different domain, programmatic feedback on the progress of the networkoperations, and more efficient handling of binary content.

The recently started Beacon API would let developers queue unsupervised HTTP requests, leaving it to the browser to executethem when appropriate, opening the door for better network optimizations.

By default, browsers do not allow to make request across different domains (or more specifically, across different origins, acombination of the protocol, domain and port) from a single Web page; this rule protects the user from having a Web site abusingtheir credentials and stealing their data on another Web site. Sites can opt-out of that rule by making use of the Cross-OriginResource Sharing mechanism, opening up much wider cooperation across Web applications and services.

XMLHttpRequest is useful for client-initiated network requests, but mobile devices with their limited network capabilities andthe cost that network requests induce on their battery (and sometimes on their users bill) can often make better use of server-initiated requests. The Server-Sent Events API allows triggering DOM events based on push notifications (via HTTP and otherprotocols.)

Early work on a Push API would allow Web applications to receive server-sent messages whether or not the said Web appis active in a browser window. As patents had been disclosed on that API, a Patent Advisory Group was formed to assess thesituation and concluded that the disclosed patents did not read on the specification.

The WebSocket API, built on top of the IETF WebSocket protocol, offers a bidirectional, more flexible, and less resourceintensive network connectivity than XMLHttpRequest.

The work on Web Real-Time Communications will also provide direct peer-to-peer data connections between browsers withreal-time characteristics, opening the way to collaborative multi-devices Web applications.

Of course, an important part of using network connectivity relies on being able to determine if such connectivity exists, and thetype of network available. The HTML5 onLine DOM flag (and its associated change event, ononline) signals when networkconnectivity is available to the Web environment.

The network-information API addresses discovery of the network characteristics — the granularity of these characteristics(type of connectivity, or estimated bandwidth, or …) is under intense discussion. The Resource Timing API offers to measureprecisely the impact of the network on the time needed to load various resources, offering another approach to adapt a Web appto its network environment.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 9. NETWORK

34/45

Page 35: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

XMLHttpRequestLevel 1

Web Applications WD stabilizing

Last updatedNovember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very broad forbasic features,growing for mostrecent ones

5.0+

7.0+ 10.0+ 24.0+

3.0+ 12.1+ 29.0+

HTTP(s) networkAPI

Beacon Web Performance WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

Cross-domainrequests

Cross-OriginResource Sharing

Web ApplicationsandWeb ApplicationSecurity

Rec Stable

Last updated June2012

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Getting well-deployed

3.2+

7.0+ 10.0+ 24.0+

2.1+ 12.1+ 29.0+

Server-Sent Events Web Applications CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Getting well-deployed

4.0+

7.0+ X 24.0+

4.4+ 12.1+ 29.0+

Server-pushedrequests

Push API Web Applications WD

Early draft; willlikely evolve tointegrate withService Workers

Last updated July2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

N/A

Well started

Well started

Good coverage

STANDARDS FOR WEB APPLICATIONS ON MOBILE 9. NETWORK

35/45

Page 36: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Bidirectionalconnections

The WebSocketAPI

Web Applications CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Good deployment

6.0+

7.0+ 10.0+ 24.0+

4.4+ 12.1+ 29.0+

P2P dataconnections

WebRTC 1.0: Real-timeCommunicationBetween Browsers

Web Real-TimeCommunications

WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

X X 24.0+

X X 29.0+

None

The NetworkInformation API

Device APIs WD Early draft, underactive revision

Last updatedNovember 2012

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

10+ X 10+

2.2+ X X

None

Networkcharacteristics

Resource Timing Web Performance CR Stable

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X 10+ X

X X 26+

Early start

Well started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 9. NETWORK

36/45

Page 37: Standards for Web Applications on Mobile: current state

10. Communication and Discovery

Beyond connection to on-line services, allowing communications between users, but also between devices and betweenapplications is an important aspect of a good mobile development platform. To communicate with unknown devices or pre-existing services, a discovery component is critical.

For Web apps not in a browser, the System Applications Working Group is working on a complete Messaging API.

The postMessage API of HTML5 Web Messaging allows for Web Applications to communicate between each other.

A joint task force of the Device APIs and Web Apps Working Groups had been looking at a mechanism called Web Intents:it aimed at closer integration of Web applications, as well as of Web applications with native applications. Some of the initialuse cases for Web Intents have proved hard to expose through the regular Web browser UI, and thus the work has now beenabandoned.

The Network Service Discovery API offers to discover services on the local network (such as the ones offered via DLNA),enabling mobile Web applications to integrate seamlessly with these services.

The Web Real-Time Communications Working Group is the host of specifications for a wider set of communicationopportunities:

• Peer-to-peer connection across devices,• P2P Audio and video streams allowing for real-time communications between users.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 10. COMMUNICATION AND DISCOVERY

37/45

Page 38: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Emails, SMS andMMS

Messaging APISystemApplications

WD First draft

Last updatedNovember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

?

? ? ?

? ? ?

None

HTML5 WebMessaging

Web Applications CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 11.0+ 24.0+

2.1+ 12.1+ 29.0+

Inter-appcommunications

Web IntentsWeb ApplicationsandDevice APIs

RetiredEarly draft;abandoned

Last updated May2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Experimental

X

X X X

X X X

None

Network servicesdiscovery

Network ServiceDiscovery

Device APIs WD Early draft

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

P2P connectionsand audio/videostreams

WebRTC 1.0: Real-timeCommunicationBetween Browsers

Web Real-TimeCommunications

WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Limited butgrowing

X

X X 24.0+

X X 29.0+

None

Good coverage

STANDARDS FOR WEB APPLICATIONS ON MOBILE 10. COMMUNICATION AND DISCOVERY

38/45

Page 39: Standards for Web Applications on Mobile: current state

11. Packaging

An important aspect of the user experience of applications is linked to how the user perceives the said application is availablepermanently (even when off-line, which is particularly important on mobile devices), as well as how it can be shared anddistributed, typically through purchases via applications stores — this is adequately addressed by packaging the application.

The Web platform offers two complementary approaches to packaging Web applications:

• HTML5’s ApplicationCache enables access to Web applications off-line through the definition of a manifest of filesthat the browser is expected to keep in its cache; while relatively well deployed, the current approach has shown somestrong limitations and the HTML and Web Applications Working Groups are considering a potentially major overhaul ofthe technology, likely based on ServiceWorker

• a JSON-based manifest format in development by the the Web Apps Working Group. The System Applications WorkingGroup was building a runtime and security model on top of that packaging, but is now instead defining an applicationlifecycle specification based on top of Service Workers.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 11. PACKAGING

39/45

Page 40: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

HTML5

HTML CR

Feature at risk(Possibly majoroverhaul underconsideration)

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

3.2+

7.0+ 10.0+ 24.0+

2.1+ 12.1+ 29.0+

Offline Web apps

Service Workers

Web Applications N/A Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

None

X

X X X

X X X

None

Packaged WebApp

Manifest for webapps andbookmarks

Web Applications WD Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

N/A

X

X X X

X X X

N/A

None

STANDARDS FOR WEB APPLICATIONS ON MOBILE 11. PACKAGING

40/45

Page 41: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Runtime andSecurity Model forWeb Applications

SystemApplications

WD

Early draft, willlikely be replacedby a differentapproach

Last updatedSeptember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

N/A

?

? ? ?

? ? ?

N/A

ApplicationLifecycle andEvents

SystemApplications

N/A Early draft

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

N/A

N/A

STANDARDS FOR WEB APPLICATIONS ON MOBILE 11. PACKAGING

41/45

Page 42: Standards for Web Applications on Mobile: current state

12. Performance & Optimization

Due to their limited CPU, and more importantly to their limited battery, mobile devices require a lot of attention in terms ofperformance.

The work started by the Web Performance Working Group on Navigation Timing, Resource Timing, Performance Timelineand User Timing, gives tools to Web developers for optimizing their Web applications.

Early work on a Resource Priorities specification, part of the Web Performance Working Group new charter, would letdevelopers indicate which network requests should be prioritized.

The proposed work on Efficient Script Yielding offers the opportunity to Web developers to use more efficiently asynchronousprogramming, but has so far gained very limited traction.

The API to determine whether a Web page is being displayed (Page Visibility API) can also be used to adapt the usage ofresources to the need of the Web application, for instance by reducing network activity when the page is minimized. Likewise,the Timing control for script-based animations API can help reduce the usage of resources needed for playing animations.

Beyond optimization of resources, the perceived reactivity of an application is also a critical aspect of the mobile userexperience. The thread-like mechanism made possible via Web Workers allows keeping the user interface responsive byoffloading the most resource-intensive operations into a background process.

The battery API allows adjusting the use of resources to the current level of power available in the battery of a mobile device.

The Mobile Web Application Best Practices provide general advice on how to build Web applications that work well on mobiledevices, taking into account in particular the needs for optimization. The opportunity to update these best practices is underdiscussion in the Web and Mobile Interest Group.

STANDARDS FOR WEB APPLICATIONS ON MOBILE 12. PERFORMANCE & OPTIMIZATION

42/45

Page 43: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Navigation Timing Web Performance Rec Finished Finished

Growingdeployment

X

10.0+ 9.0+ 24.0+

4.0+ X 29.0+

Resource Timing Web Performance CR Stable

Last updatedDecember 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X 10+ X

X X 26+

Early start

PerformanceTimeline

Web Performance Rec Finished Finished

Limited

?

? 11+ ?

? ? 30+

Timing hooks

User Timing Web Performance Rec Finished Finished

Limited

?

? 11+ ?

? ? 30+

Networkprioritization

Resource Priorities Web Performance WD Early draft

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Experimental

X

X 11+ X

X X X

None

Priority handlingEfficient ScriptYielding

Web Performance Editors Early draft

Last updated April2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X 10+ X

X X X

None

Good coverage

Started

Well started

STANDARDS FOR WEB APPLICATIONS ON MOBILE 12. PERFORMANCE & OPTIMIZATION

43/45

Page 44: Standards for Web Applications on Mobile: current state

Feature Specification Working Group Maturity StabilityLatest editorsdraft

Currentimplementations

Developers doc Test suite

Page Visibilitydetection

Page Visibility Web Performance Rec Finished Finished

Well deployed

7.0+

10.0+ 10.0+ 24.0+

4.4+ 12.1+ 29.0+

Animationoptimization

Timing control forscript-basedanimations

Web Performance CR Stable

Last updatedOctober 2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

6.0+

10.0+ 10.0+ 24.0+

4.4+ X 29.0+

Well started

Threading

Web Workers

Web Applications CR Stable

Last updatedJanuary 2014

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Well deployed

5.0+

7.0+ 10.0+ 24.0+

2.1+ 12.1+ 29.0+

Battery Status Battery Status API Device APIs CR Stable

Last updated April2013

F M A M J J A S O N D J2013 2014

Commits on ed. draft

Very limited

X

X X 10+

X X X

Optimization BestPractices

Mobile WebApplication BestPractices

Mobile Web BestPractices

Rec Finished N/A N/A

N/A

Good coverage

Well started

Good coverage

STANDARDS FOR WEB APPLICATIONS ON MOBILE 12. PERFORMANCE & OPTIMIZATION

44/45

Page 45: Standards for Web Applications on Mobile: current state

Acknowledgments

Thanks to Art Barstow, Anssi Kostiainen, Jo Rabin, Mounir Lamouri and Marcos Caceres for their contributions to thisdocument.

This document is produced through the HTML5Apps project, funded by the European Union through the Seventh FrameworkProgramme (FP7/2013-2015) under grant agreement n°611327 - HTML5 Apps.

STANDARDS FOR WEB APPLICATIONS ON MOBILE ACKNOWLEDGMENTS

45/45