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
  2. Multimedia
  3. Device Adaptation
  4. Forms
  5. User interactions
  6. Data storage
  7. Personal Information Management
  8. Sensors and hardware integration
  9. Network
  10. Communication_and_Discovery
  11. Packaging
  12. Performance & Optimization

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 public-web-mobile@w3.org, the publicly archived mailing list of the interest group, or raised as issues on the Github repository, or alternatively to the author (dom@w3.org). It will serve as input for the next iteration of the document.

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

Document structure

The features that these technologies add to the Web platform are organized under the following categories: graphics, multimedia, device adaptation, forms, user interactions, data storage, personal information management, sensors and hardware integration, network, communication and discovery, packaging, performance & optimization.

Diagram showing the various components of the Web platform
The Web as an application development platform

In each category, a table summarizes for each feature:

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

Prior to starting standardization, a Working Group needs to be chartered, based on input from W3C Members, often through the organization 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. Since these graphics are described as a set of geometric shapes, they can be zoomed at the user request, which makes them well-suited to create graphics on mobile devices where screen space is limited. They can also be easily animated, enabling the creation of very advanced and slick user interfaces.

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

In complement to the declarative approach provided by SVG, the <canvas> element added in HTML5 enables a 2D programmatic API that is well-suited for processing graphics in a less memory intensive way. That API not only allows rendering graphics, but can also be used to do image processing and analysis — HTML 5.1 adds the ability to do that processing in 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 (CSS Transforms, 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 can help 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 with only a limited set of fonts. WOFF 1.0 (Web Open Font Format) addresses that limitation by making it easy to use fonts that are automatically downloaded through style sheets, while keeping the size of the downloaded fonts limited to what is actually needed to render the interface. The upcoming WOFF 2.0 update to that format promises 25%-smaller download sizes, reducing the 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 the said 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 API allows 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.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
2D Vector GraphicsScalable Vector Graphics (SVG) 1.1 Specification
CoreMob 2012
SVGRECFinishedNew version of SVG (SVG 2.0) in preparationWidely deployed
Support for svg12Supported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgHigh coverage
Scalable Vector Graphics (SVG) 2SVGWDEarly draftLast updated January 2014
Editing activity for svgwgorgsvg2draft.xml Last updated January 2014 February 2013F 8 commits in February 2013 March 2013M 30 commits in March 2013 April 2013A 11 commits in April 2013 May 2013M 13 commits in May 2013 June 2013J 18 commits in June 2013 July 2013J 8 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 12 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 25 commits in November 2013 December 2013D 5 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
N/A
Support for svg2Not supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
2D Programmatic APIHTML Canvas 2D Context
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdrafts2dcontexthtml5canvas.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 8 commits in March 2013 April 2013A 4 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 5 commits in January 2014 2013 2014 Commits on ed. draft
Widely deployed
Support for canvasSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
HTML 5.1HTMLWDEarly draftLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlmasterembeddedcontent0htmlproxyingcanvasestoworkers.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 111 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for canvasproxySupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None
Rounded CornersCSS Backgrounds and Borders Module Level 3
CoreMob 2012
CSSCRMostly finishedLast updated January 2014
Editing activity for devw3orgcsswgcssbackgrounds.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 6 commits in November 2013 December 2013D 5 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-borderSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Partial support in Opera mobile from version 11.011.0+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
Complex background imagesCSS Backgrounds and Borders Module Level 3
CoreMob 2012
CSSCRMostly finishedLast updated January 2014
Editing activity for devw3orgcsswgcssbackgrounds.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 6 commits in November 2013 December 2013D 5 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-borderSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Partial support in Opera mobile from version 11.011.0+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
Box shadow effectsCSS Backgrounds and Borders Module Level 3
CoreMob 2012
CSSCRMostly finishedLast updated January 2014
Editing activity for devw3orgcsswgcssbackgrounds.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 6 commits in November 2013 December 2013D 5 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-borderSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Partial support in Opera mobile from version 11.011.0+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
2D EffectsCSS Transforms Module Level 1
CoreMob 2012
SVG and
CSS
WDMostly stableLast updated January 2014
Editing activity for devw3orgcsswgcsstransformsverviewhtml.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 3 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 10 commits in October 2013 November 2013N 2 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-2dSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
3D EffectsCSS Transforms Module Level 1
CoreMob 2012
SVG and
CSS
WDStabilizingLast updated January 2014
Editing activity for devw3orgcsswgcsstransformsverviewhtml.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 3 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 10 commits in October 2013 November 2013N 2 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-3dSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Partial support in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
AnimationsCSS Animations
CoreMob 2012
CSSWDEarly draftLast updated January 2014
Editing activity for devw3orgcsswgcssanimations.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 3 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 3 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 7 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-animationSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.04.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
CSS Transitions
CoreMob 2012
CSSWDEarly draftLast updated January 2014
Editing activity for devw3orgcsswgcsstransitions.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 3 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 11 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 10 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for css-transitionsSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
Web Animations 1.0SVG and
CSS
WDEarly draftLast updated January 2014
Editing activity for devw3orgfxtfwebanimations.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 7 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 24 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 4 commits in November 2013 December 2013D 31 commits in December 2013 January 2014J 18 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for webanimationsSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None
Timing control for script-based animations
CoreMob 2012
Web PerformanceCRStableLast updated October 2013
Editing activity for w3ctestorgwebperfspecsequestnimationrame.xml Last updated October 2013 February 2013F 4 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 6 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for animation-timingSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
Well started
Complex layoutsCSS Flexible Box Layout Module
CoreMob 2012
CSSCRMostly finishedLast updated January 2014
Editing activity for devw3orgcsswgcssflexbox.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 4 commits in July 2013 August 2013A 6 commits in August 2013 September 2013S 5 commits in September 2013 October 2013O 7 commits in October 2013 November 2013N 1 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for flexboxSupported in Safari on iOS from version 7.07.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Partial support in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
Well started
Downloadable fontsWOFF File Format 1.0
CoreMob 2012
WebFontsRECFinishedFinishedGood deployment
Support for woffSupported in Safari on iOS from version 5.05.0+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
WOFF 2WebFontsN/ANot startedWOFF2 Requirements
None
Support for woff2Not supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Fullscreen displayFullscreen
Partially addresses requirements of CoreMob 2012
CSS and
Web Applications
WDEarly draftLast updated October 2012
Editing activity for dvcsw3orghgfullscreenrawfiletipverviewhtml.xml Last updated October 2012 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited
Support for fullscreenNot supported in Safari on iOSX Partial support in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Partial support in Firefox mobile from version 24.024.0+ Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgNone
Orientation LockThe Screen Orientation API
Partially addresses requirements of CoreMob 2012
Web ApplicationsWDEarly draftLast updated November 2013
Editing activity for dvcsw3orghgscreenorientationrawfiletipverviewhtml.xml Last updated November 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 2 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 1 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for screenlockSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile from version 1414+ Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None

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 to interact much more freely with that content than they would through plug-ins. They make multimedia content first-class citizens of 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 content in JavaScript.

To cater for the needs of some content providers, a proposal to enable playback of protected content, Encrypted Media Extensions 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 mechanism to 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 streams into 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 have already mentioned the Canvas 2D Context API: it enables modifying images, which in turn opens up the possibility of video editing.

In a similar vein, the Audio Working Group is working on an API that that makes it possible to modify audio content, as well as analyze, 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 for consuming and producing. The rising interest around bridging the Web and TV worlds (manifested through the W3C Web and TV Interest Group) should strengthen that trend in the coming months. Mobile devices are expected to take a growing role in many users TV experience, providing a “second screen” experience, where users can find more information on or interact with a TV program they're watching via their mobile devices.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Video playbackHTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlembeddedcontent0htmlthevideoelement.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Good deployment
Support for videoSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.32.3+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Audio playbackHTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlembeddedcontent0htmlthevideoelement.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Good deployment
Support for audioSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.32.3+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Generation of media contentMedia Source ExtensionsHTMLCRStableLast updated December 2013
Editing activity for dvcsw3orghghtmlmediarawfiledefaultmediasourcemediasourcehtml.xml Last updated December 2013 February 2013F 2 commits in February 2013 March 2013M 3 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 3 commits in May 2013 June 2013J 3 commits in June 2013 July 2013J 7 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 1 commits in September 2013 October 2013O 5 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 6 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited
Support for mseSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone from version 1111+ Partial support in Firefox mobile from version 2525+ Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android from version 2323+
None
Protected content playbackEncrypted Media ExtensionsHTMLWDEarly draftLast updated January 2014
Editing activity for dvcsw3orghghtmlmediarawfiletipencryptedmediaencryptedmediahtml.xml Last updated January 2014 February 2013F 3 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 16 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 5 commits in August 2013 September 2013S 8 commits in September 2013 October 2013O 17 commits in October 2013 November 2013N 16 commits in November 2013 December 2013D 7 commits in December 2013 January 2014J 14 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for emeNot supported in Safari on iOSX Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 1111+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Multimedia Gallery accessPick Media IntentDevice APIsRetiredEarly Web-intents based approach; stalled due to lack of progress on Web IntentsLast updated May 2013
Editing activity for dvcsw3orghgdaprawfiletipgalleryverviewhtml.xml Last updated May 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for galleryNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Network Service DiscoveryDevice APIsWDEarly draftLast updated October 2013
Editing activity for w3ctestorgdapdiscoveryapi.xml Last updated October 2013 February 2013F 16 commits in February 2013 March 2013M 6 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 4 commits in August 2013 September 2013S 16 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for discoveryNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Capturing audio/videoHTML Media Capture
CoreMob 2012
Device APIsCRStableLast updated May 2013
Editing activity for devw3org2009dapcamera.xml Last updated May 2013 February 2013F 0 commits in February 2013 March 2013M 3 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Growing deployment
Support for inputacceptSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 1010+ Not supported in Internet Explorer on Windows PhoneX Partial support in Firefox mobile from version 99+ Partial support in Android browser from version 3.03.0+ Not supported in Opera mobileX Supported in Chrome for Android from version 1818+
Media Capture and StreamsDevice APIs and
Web Real-Time Communications
WDStabilizingLast updated January 2014
Editing activity for devw3org2011webrtceditorgetusermediahtml.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 15 commits in March 2013 April 2013A 25 commits in April 2013 May 2013M 20 commits in May 2013 June 2013J 17 commits in June 2013 July 2013J 8 commits in July 2013 August 2013A 6 commits in August 2013 September 2013S 14 commits in September 2013 October 2013O 19 commits in October 2013 November 2013N 4 commits in November 2013 December 2013D 9 commits in December 2013 January 2014J 11 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for getusermediaNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
MediaStream RecordingDevice APIs and
Web Real-Time Communications
WDEarly draftLast updated November 2013
Editing activity for dvcsw3orghgdaprawfiledefaultmediastreamcaptureediaecorderhtml.xml Last updated November 2013 February 2013F 1 commits in February 2013 March 2013M 1 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 1 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for recordingNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Mediastream Image CaptureDevice APIs and
Web Real-Time Communications
WDEarly draftLast updated July 2013
Editing activity for dvcsw3orghgdaprawfiledefaultmediastreamcapturemageapturehtml.xml Last updated July 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 4 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for imagecaptureNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Image & Video analysis, modificationHTML Canvas 2D Context
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdrafts2dcontexthtml5canvas.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 8 commits in March 2013 April 2013A 4 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 5 commits in January 2014 2013 2014 Commits on ed. draft
Widely deployed
Support for canvasSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Audio analysis, modificationWeb Audio APIAudioWDStarting to stabilizeLast updated October 2013
Editing activity for webaudiogithubiowebaudioapi.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 7 commits in September 2013 October 2013O 30 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Growing
Support for webaudioSupported in Safari on iOS from version 6.06.0+ Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.org

3. Device Adaptation

Mobile devices not only differ widely from traditional computers, but they also have a lot of variations among themselves, in term 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 devices that 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 it possible 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 the characteristics of the device, including the screen resolution — to which Media Queries Level 4 proposes to add the availability and type of a pointing device, the ability to hover over elements, and the ambient luminosity. CSS Device Adaptation defines a set 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 picture element, that allows authors define what image to load depending on device capabilities and/or other media features. The RICG publishes 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 pixel density of the screen. As of January 2014, there is general agreement amongst browser vendors to implement both picture and srcset.

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

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Device informationDevice Description Repository Simple APIDevice DescriptionRECfinishedN/ALimited
Good Coverage
Media Capture CapabilitiesMedia Capture and StreamsDevice APIs and
Web Real-Time Communications
WDEarly draftLast updated January 2014
Editing activity for devw3org2011webrtceditorgetusermediahtml.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 15 commits in March 2013 April 2013A 25 commits in April 2013 May 2013M 20 commits in May 2013 June 2013J 17 commits in June 2013 July 2013J 8 commits in July 2013 August 2013A 6 commits in August 2013 September 2013S 14 commits in September 2013 October 2013O 19 commits in October 2013 November 2013N 4 commits in November 2013 December 2013D 9 commits in December 2013 January 2014J 11 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for getusermedia-capNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
CSS-based adaptationMedia Queries
CoreMob 2012
CSSRECFinishedFinishedWidely deployed
Support for mediaqueriesSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgGood coverage
Media Queries Level 4CSSedEarly draftLast updated January 2014
Editing activity for devw3orgcsswgmediaqueries4.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 35 commits in November 2013 December 2013D 12 commits in December 2013 January 2014J 17 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for mediaqueries4Supported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None
CSS Device Adaptation
CoreMob 2012
CSSWDEarly draftLast updated October 2013
Editing activity for devw3orgcsswgcssdeviceadapt.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 5 commits in March 2013 April 2013A 2 commits in April 2013 May 2013M 5 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 5 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for css-device-adaptNot supported in Safari on iOSX Not supported in Blackberry browserX Partial support in Internet Explorer on Windows Phone from version 1010+ Not supported in Firefox mobileX Not supported in Android browserX Supported in Opera mobile from version 11.111.1+ Not supported in Chrome for AndroidX
WebPlatform.orgN/A
Responsive imagesThe picture element
Partially addresses requirements of CoreMob 2012
HTMLWDFirst draftLast updated January 2014
Editing activity for pictureresponsiveimagesorg.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 2 commits in April 2013 May 2013M 4 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 3 commits in August 2013 September 2013S 20 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 2 commits in November 2013 December 2013D 15 commits in December 2013 January 2014J 15 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for pictureNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
The srcset attribute
Partially addresses requirements of CoreMob 2012
HTMLWDFirst draftLast updated May 2013
Editing activity for wwww3orghtmlwgdraftssrcsetw3csrcset.xml Last updated May 2013 February 2013F 105 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 19 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for srcsetNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None

4. Forms

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

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Date and time entriesHTML5
CoreMob 2012
HTMLCRMostly stable, but feature marked at riskLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlformshtmldateandtimestatetypedatetime.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Growing
Support for inputdateSupported in Safari on iOS from version 5.05.0+ Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 10.010.0+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Customized text entries (tel, email, url)HTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlformshtmltelephonestatetypetel.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for inputtextPartial support in Safari on iOS from version 55+ Partial support in Blackberry browser from version 4.7.14.7.1+ Supported in Internet Explorer on Windows Phone from version 1010+ Partial support in Firefox mobile from version 44+ Partial support in Android browser from version 33+ Supported in Opera mobile from version 1111+ Supported in Chrome for Android from version 1818+
WebPlatform.org
W3DevCampus
Input modalityHTML 5.1HTMLWDEarly draftLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlmasterformshtmlinputmodalitiestheinputmodeattribute.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 111 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for inputmodeSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
WebPlatform.org
W3DevCampus
Input patternHTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlformshtmlthepatternattribute.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for inputpatternNot supported in Safari on iOSX Supported in Blackberry browser from version 4.7.14.7.1+ Not supported in Internet Explorer on Windows PhoneX Partial support in Firefox mobile from version 44+ Not supported in Android browserX Supported in Opera mobile from version 1111+ Supported in Chrome for Android from version 1818+
WebPlatform.org
W3DevCampus
Input hintHTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlformshtmltheplaceholderattribute.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for inputhintSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Autocomplete for text entriesHTML5
CoreMob 2012
HTMLCRStableLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlformshtmlthedatalistelement.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Limited
Support for datalistNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Partial support in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Supported in Opera mobile from version 10.010.0+ Supported in Chrome for Android unknown?
HTML 5.1HTMLWDEarly draftLast updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlmasterformshtmlautofillingformcontrolstheautocompleteattribute.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 111 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for autocompleteSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None

5. User interactions

An increasing share of mobile devices relies on touch-based interactions. While the traditional interactions recognized in the Web platform (keyboard, mouse input) can still be applied in this context, a more specific handling of touch-based input is a critical 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, Pointer Events, that allows to handle mouse, touch and pen events under a single model. This new approach is expected to replace the currently 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 the quality of the user experience of these actions is highly dependent on their performances. The CSSOM View Module determines when 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 to coordinate 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 to allow Web developers to react to a more abstract set of user interactions: instead of having to work in terms of “click”, “key press”, or “touch event”, being able to react to an “undo” command, or a “next page” command independently of how the user instructed it to the device will prove beneficial to the development of device-independent Web applications. The IndieUI Events specification, 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; the Speech API Community Group is exploring the opportunity of starting standardization work around a JavaScript API that would 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 barriers to people with disabilities. These similarities in barriers mean that similar solutions can be used to cater for them, making a Web site accessible both for people with disabilities and mobile devices a natural goal (as detailed in Relationship between Mobile Web Best Practices and WCAG).

How Web Content Accessibility Guidelines (WCAG) and User Agent Accessibility Guidelines (UAAG) provide guidance on mobile accessibility — that is, making websites and applications more accessible to people with disabilities when they are using mobile 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 more accessible, including on mobile devices.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Touch-based interactionsTouch Events
CoreMob 2012
Web EventsRECFinishedLast updated October 2013
Editing activity for dvcsw3orghgwebeventsrawfiletiptoucheventshtml.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 8 commits in March 2013 April 2013A 9 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 3 commits in September 2013 October 2013O 7 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Largely deployed
Support for toucheventSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Complete
Pointer Events
Partially addresses requirements of CoreMob 2012
Pointer EventsCRStableLast updated January 2014
Editing activity for dvcsw3orghgpointereventsrawfiletippointerventshtml.xml Last updated January 2014 February 2013F 15 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 14 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
Limited deployment
Support for pointer-eventsNot supported in Safari on iOSX Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 11.011.0+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
WebPlatform.org
Smooth scrollingCSSOM View Module
Partially addresses requirements of CoreMob 2012
CSSWDStill changingLast updated January 2014
Editing activity for devw3orgcsswgcssomviewscrolling.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 19 commits in May 2013 June 2013J 40 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 6 commits in August 2013 September 2013S 25 commits in September 2013 October 2013O 17 commits in October 2013 November 2013N 1 commits in November 2013 December 2013D 2 commits in December 2013 January 2014J 2 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for smooth-scrollNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
On-screen keyboard interactionsInput Method Editor APIWeb ApplicationsWDStill changingLast updated December 2013
Editing activity for dvcsw3orghgimeapirawfiledefaultverviewhtml.xml Last updated December 2013 February 2013F 11 commits in February 2013 March 2013M 23 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 7 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 2 commits in November 2013 December 2013D 4 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for imeNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
VibrationVibration APIDevice APIsCRMostly stableLast updated October 2013
Editing activity for devw3org2009dapvibration.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 4 commits in April 2013 May 2013M 6 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for vibrationNot supported in Safari on iOSX Supported in Blackberry browser from version 1010+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 1111+ Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 3232+
Intent-based eventsIndieUI: Events 1.0Independent User Interface (Indie UI)WDEarly draftLast updated December 2013
Editing activity for dvcsw3orghgndierawfiletipsrcindieuieventshtml.xml Last updated December 2013 February 2013F 1 commits in February 2013 March 2013M 4 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 10 commits in May 2013 June 2013J 3 commits in June 2013 July 2013J 14 commits in July 2013 August 2013A 11 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 1 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
None
NotificationWeb NotificationsWeb NotificationLastCallStabilizingLast updated August 2013
Editing activity for dvcsw3orghgnotificationsrawfiletipverviewhtml.xml Last updated August 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 2 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Growing deployment
Support for notificationNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Partial support in Android browser from version 4.44.4+ Not supported in Opera mobileX Not supported in Chrome for AndroidX
WebPlatform.org
Speech-based interactionsWeb Speech APISpeech API Community GroupN/AN/ALast updated January 2013
Editing activity for dvcsw3orghgspeechapirawfiletipspeechapihtml.xml Last updated January 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for speechinputSupported in Safari on iOS from version 7.07.0+ Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Supported in Opera mobile unknown? Supported in Chrome for Android from version 3232+
N/A
AccessibilityRelationship between Mobile Web Best Practices (MWBP) and Web Content Accessibility Guidelines (WCAG)Education and Outreach and
Mobile Web Best Practices
NOTEFinishedN/AN/A
N/A
Accessible Rich Internet Applications (WAI-ARIA) 1.0Protocols and FormatsCRStableLast updated January 2014
Well deployed
Support for ariaPartial support in Safari on iOS from version 3.23.2+ Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 8.08.0+ Supported in Firefox mobile from version 24.024.0+ Partial support in Android browser from version 4.44.4+ Partial support in Opera mobile from version 12.112.1+ Partial support in Chrome for Android from version 29.029.0+
Well started

6. Data storage

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

For simple data storage, the Web Storage specification offers two basic mechanisms, localStorage and sessionStorage, 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 Reader API makes it possible to load the content of a file, the File Writer API allows saving or modifying a file, while the nascent FileSystems API give access to more general file operations, including directory management. Discussions have started on whether these two latter APIs would better be implemented on top of IndexedDB, and a proposal for a new sandboxed filesystem API has been brought forward.

On top of this file-based access, the Indexed Database API (IndexedDB) defines a database of values and hierarchical objects that integrates naturally with JavaScript, and can be queried and updated very efficiently. Note that the work around a client-side SQL-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 reliable storage 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 Cryptography Working Group exposes strong cryptography primitives to Web applications, and can be bound to pre-provisioned keys via the WebCrypto Key Discovery API.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Simple data storageWeb Storage
CoreMob 2012
Web ApplicationsRECFinishedLast updated January 2014
Editing activity for devw3orghtml5webstorage.xml Last updated January 2014 February 2013F 2 commits in February 2013 March 2013M 3 commits in March 2013 April 2013A 4 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 2 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for webstorageSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 8.08.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
File operationsFile API
CoreMob 2012
Web ApplicationsLastCallStabilizingLast updated January 2014
Editing activity for devw3org2006webapiile.xml Last updated January 2014 February 2013F 8 commits in February 2013 March 2013M 14 commits in March 2013 April 2013A 2 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 4 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 3 commits in August 2013 September 2013S 11 commits in September 2013 October 2013O 6 commits in October 2013 November 2013N 9 commits in November 2013 December 2013D 2 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Getting well deployed
Support for filereaderSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+

W3DevCampus
File API: WriterWeb ApplicationsWDEarly draft, unsure futureLast updated January 2013
Editing activity for devw3org2009dapfilesystemfilewriterhtml.xml Last updated January 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for filewriteNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
None
File API: Directories and SystemWeb ApplicationsWDEarly draft, unsure futureLast updated January 2013
Editing activity for devw3org2009dapfilesystemfiledirsyshtml.xml Last updated January 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for filesystemNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
None
FileSystem APIWeb ApplicationsN/AEarly proposalLast updated September 2013
Editing activity for Last updated September 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
N/A
None
Database query/updateIndexed Database API
CoreMob 2012
Web ApplicationsCRStableLast updated December 2013
Editing activity for dvcsw3orghgndexedrawfiletipverviewhtml.xml Last updated December 2013 February 2013F 17 commits in February 2013 March 2013M 14 commits in March 2013 April 2013A 29 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 6 commits in July 2013 August 2013A 4 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 2 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Growing
Support for indexeddbNot supported in Safari on iOSX Partial support in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Web SQL DatabaseWeb ApplicationsRetiredAbandonedN/ASomewhat deployed, but won’t be further deployed
Support for websqlSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
N/A
Quota for storageQuota Management API
CoreMob 2012
Web ApplicationsWDEarly workLast updated November 2013
Editing activity for dvcsw3orghgquotarawfiletipverviewhtml.xml Last updated November 2013 February 2013F 0 commits in February 2013 March 2013M 1 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 6 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for quotaNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 1818+
None
Encrypted storageWeb Cryptography APIWeb CryptographyWDEarly workLast updated January 2014
Editing activity for wwww3org2012webcryptoebrypto.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 5 commits in May 2013 June 2013J 8 commits in June 2013 July 2013J 14 commits in July 2013 August 2013A 9 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 5 commits in December 2013 January 2014J 6 commits in January 2014 2013 2014 Commits on ed. draft
Limited
Support for cryptoNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Partial support in Firefox mobile from version 1919+ Not supported in Android browserX Not supported in Opera mobileX Partial support in Chrome for Android from version 2525+
WebCrypto Key DiscoveryWeb CryptographyWDEarly workLast updated August 2013
Editing activity for dvcsw3orghgwebcryptokeydiscoveryrawfiletipverviewhtml.xml Last updated August 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for cryptokeyNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None

7. Personal Information Management

Applications can benefit from integrating with their users’ existing data records; on mobile devices, the address book and calendar 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, with work 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.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Addressbook dataPick Contacts IntentDevice APIsRetiredEarly Web-intents based approach; stalled due to lack of progress on Web IntentsLast updated August 2011
Editing activity for devw3org2009dapcontacts.xml Last updated August 2011 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for contactsNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
Early draft based on previous API
Contacts Manager APISystem ApplicationsWDEarly draftLast updated August 2013
Editing activity for wwww3org2012sysappscontactsmanagerapi.xml Last updated August 2013 February 2013F 0 commits in February 2013 March 2013M 20 commits in March 2013 April 2013A 19 commits in April 2013 May 2013M 4 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 22 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for contacts-sysSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None
Calendar dataCalendar APIDevice APIsRetiredAbandonnedLast updated October 2012
Editing activity for devw3org2009dapcalendar.xml Last updated October 2012 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for calendarNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None

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 interact with 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 would include 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 Light Events API or the proposed Ambient Humidity Events API.

As already mentioned in the section on multimedia, there is ongoing work on APIs to open up access to camera and microphone streams.

The opportunity for Web applications to use Near-Field Communications (NFC) mechanisms have led to the chartering of the NFC 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 Working Group.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
GeolocationGeolocation API Specification
CoreMob 2012
GeolocationRECMostly finishedLast updated September 2013
Editing activity for devw3orggeoapispecsourcehtml.xml Last updated September 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 1 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Widely deployed
Support for geolocationSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Good coverage
Motion sensorsDeviceOrientation Event Specification
CoreMob 2012
GeolocationLastCallStabilizing, but with planned updatesLast updated June 2012
Editing activity for devw3orggeoapispecsourceorientationhtml.xml Last updated June 2012 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for accelerometerPartial support in Safari on iOS from version 4.24.2+ Partial support in Blackberry browser from version 10.010.0+ Partial support in Internet Explorer on Windows Phone from version 11.011.0+ Partial support in Firefox mobile from version 24.024.0+ Partial support in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.012.0+ Partial support in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Started
Battery StatusBattery Status APIDevice APIsCRStableLast updated April 2013
Editing activity for dvcsw3orghgdaprawfiletipbatteryverviewhtml.xml Last updated April 2013 February 2013F 7 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for batteryNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 1010+ Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
Proximity sensorsProximity EventsDevice APIsCRStableLast updated September 2013
Editing activity for dvcsw3orghgdaprawfiletipproximityverviewhtml.xml Last updated September 2013 February 2013F 2 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 6 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 2 commits in August 2013 September 2013S 4 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for proximityNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 1515+ Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
Ambient Light sensorAmbient Light EventsDevice APIsCRStableLast updated September 2013
Editing activity for dvcsw3orghgdaprawfiletiplightverviewhtml.xml Last updated September 2013 February 2013F 2 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 2 commits in April 2013 May 2013M 5 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 3 commits in August 2013 September 2013S 4 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for ambientlightNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 2222+ Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
Humidity sensorAmbient Humidity EventsDevice APIsN/AUnofficial draftLast updated October 2013
Editing activity for dvcsw3orghgdaprawfiletiphumidityverviewhtml.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for humidityNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Camera & Microphone streamsMedia Capture and StreamsDevice APIs and
Web Real-Time Communications
WDStabilizingLast updated January 2014
Editing activity for devw3org2011webrtceditorgetusermediahtml.xml Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 15 commits in March 2013 April 2013A 25 commits in April 2013 May 2013M 20 commits in May 2013 June 2013J 17 commits in June 2013 July 2013J 8 commits in July 2013 August 2013A 6 commits in August 2013 September 2013S 14 commits in September 2013 October 2013O 19 commits in October 2013 November 2013N 4 commits in November 2013 December 2013D 9 commits in December 2013 January 2014J 11 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for getusermediaNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
NFCWeb NFC APINear Field CommunicationsWDVery early draftLast updated December 2013
Editing activity for w3cgithubionfcproposalscommonnfchtml.xml Last updated December 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 11 commits in April 2013 May 2013M 4 commits in May 2013 June 2013J 7 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for nfcNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None

9. Network

Network connectivity represents a major asset for mobile devices: the Web is an immense store of content, as well as an almost endless 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 HTTP and HTTPs protocol: the W3C specification (formerly known as XMLHttpRequest Level 2) completes the existing deployed API with the ability to make requests on servers in a different domain, programmatic feedback on the progress of the network operations, 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 execute them 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, a combination of the protocol, domain and port) from a single Web page; this rule protects the user from having a Web site abusing their credentials and stealing their data on another Web site. Sites can opt-out of that rule by making use of the Cross-Origin Resource 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 and the 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 other protocols.)

Early work on a Push API would allow Web applications to receive server-sent messages whether or not the said Web app is active in a browser window. As patents had been disclosed on that API, a Patent Advisory Group was formed to assess the situation 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 resource intensive network connectivity than XMLHttpRequest.

The work on Web Real-Time Communications will also provide direct peer-to-peer data connections between browsers with real-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 the type of network available. The HTML5 onLine DOM flag (and its associated change event, ononline) signals when network connectivity 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 measure precisely the impact of the network on the time needed to load various resources, offering another approach to adapt a Web app to its network environment.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
HTTP(s) network APIXMLHttpRequest Level 1
CoreMob 2012
Web ApplicationsWDstabilizingLast updated November 2013
Editing activity for Last updated November 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 7 commits in October 2013 November 2013N 8 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very broad for basic features, growing for most recent ones
Support for xhr2Supported in Safari on iOS from version 5.05.0+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 3.03.0+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
BeaconWeb PerformanceWDEarly draftLast updated January 2014
Editing activity for Last updated January 2014 February 2013F 1 commits in February 2013 March 2013M 1 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 6 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 11 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for beaconNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Cross-domain requestsCross-Origin Resource Sharing
CoreMob 2012
Web Applications and
Web Application Security
RECStableLast updated June 2012
Editing activity for dvcsw3orghgcorsrawfiletipverviewhtml.xml Last updated June 2012 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Getting well-deployed
Support for corsSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
Server-pushed requestsServer-Sent EventsWeb ApplicationsCRStableLast updated January 2014
Editing activity for devw3orghtml5eventsource.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 4 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 1 commits in June 2013 July 2013J 3 commits in July 2013 August 2013A 2 commits in August 2013 September 2013S 1 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 2 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 1 commits in January 2014 2013 2014 Commits on ed. draft
Getting well-deployed
Support for eventsourceSupported in Safari on iOS from version 4.04.0+ Supported in Blackberry browser from version 7.07.0+ Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
Push APIWeb ApplicationsWDEarly draft; will likely evolve to integrate with Service WorkersLast updated July 2013
Editing activity for dvcsw3orghgpushrawfiledefaultindexhtml.xml Last updated July 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for pushNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Bidirectional connectionsThe WebSocket APIWeb ApplicationsCRStableLast updated January 2014
Editing activity for devw3orghtml5websockets.xml Last updated January 2014 February 2013F 5 commits in February 2013 March 2013M 1 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 2 commits in January 2014 2013 2014 Commits on ed. draft
Good deployment
Support for websocketsSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
P2P data connectionsWebRTC 1.0: Real-time Communication Between BrowsersWeb Real-Time CommunicationsWDEarly draftLast updated January 2014
Editing activity for devw3org2011webrtceditorwebrtchtml.xml Last updated January 2014 February 2013F 7 commits in February 2013 March 2013M 8 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 6 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 22 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 22 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for p2pNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgNone
Network characteristicsThe Network Information APIDevice APIsWDEarly draft, under active revisionLast updated November 2012
Editing activity for dvcsw3orghgdaprawfiletipnetworkapiverviewhtml.xml Last updated November 2012 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for networkapiNot supported in Safari on iOSX Supported in Blackberry browser from version 1010+ Not supported in Internet Explorer on Windows PhoneX Partial support in Firefox mobile from version 1010+ Partial support in Android browser from version 2.22.2+ Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Resource TimingWeb PerformanceCRStableLast updated December 2013
Editing activity for w3ctestorgwebperfspecsesourceiming.xml Last updated December 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 9 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 5 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for res-timingNot supported in Safari on iOSX Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 1010+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 2626+
Early start

10. Communication and Discovery

Beyond connection to on-line services, allowing communications between users, but also between devices and between applications 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 initial use cases for Web Intents have proved hard to expose through the regular Web browser UI, and thus the work has now been abandoned.

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 communication opportunities:

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Emails, SMS and MMSMessaging APISystem ApplicationsWDFirst draftLast updated November 2013
Editing activity for wwww3org2012sysappsmessaging.xml Last updated November 2013 February 2013F 0 commits in February 2013 March 2013M 4 commits in March 2013 April 2013A 55 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 8 commits in June 2013 July 2013J 13 commits in July 2013 August 2013A 5 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 12 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for messaging-sysSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
None
Inter-app communicationsHTML5 Web Messaging
CoreMob 2012
Web ApplicationsCRStableLast updated January 2014
Editing activity for devw3orghtml5postmsg.xml Last updated January 2014 February 2013F 2 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 5 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 4 commits in June 2013 July 2013J 1 commits in July 2013 August 2013A 4 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 4 commits in November 2013 December 2013D 3 commits in December 2013 January 2014J 2 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for postmessageSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 11.011.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
Web IntentsWeb Applications and
Device APIs
RetiredEarly draft; abandonedLast updated May 2013
Editing activity for dvcsw3orghgwebintentsrawfiletipspecverviewhtml.xml Last updated May 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 5 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Experimental
Support for intentsNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Network services discoveryNetwork Service DiscoveryDevice APIsWDEarly draftLast updated October 2013
Editing activity for w3ctestorgdapdiscoveryapi.xml Last updated October 2013 February 2013F 16 commits in February 2013 March 2013M 6 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 2 commits in July 2013 August 2013A 4 commits in August 2013 September 2013S 16 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for discoveryNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
P2P connections and audio/video streamsWebRTC 1.0: Real-time Communication Between BrowsersWeb Real-Time CommunicationsWDEarly draftLast updated January 2014
Editing activity for devw3org2011webrtceditorwebrtchtml.xml Last updated January 2014 February 2013F 7 commits in February 2013 March 2013M 8 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 6 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 22 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 22 commits in January 2014 2013 2014 Commits on ed. draft
Limited but growing
Support for p2pNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 24.024.0+ Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
WebPlatform.orgNone

11. Packaging

An important aspect of the user experience of applications is linked to how the user perceives the said application is available permanently (even when off-line, which is particularly important on mobile devices), as well as how it can be shared and distributed, 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:

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Offline Web appsHTML5
CoreMob 2012
HTMLCRFeature at risk (Possibly major overhaul under consideration)Last updated January 2014
Editing activity for wwww3orghtmlwgdraftshtmlbrowsershtmlappcache.xml Last updated January 2014 February 2013F 102 commits in February 2013 March 2013M 52 commits in March 2013 April 2013A 149 commits in April 2013 May 2013M 48 commits in May 2013 June 2013J 156 commits in June 2013 July 2013J 162 commits in July 2013 August 2013A 94 commits in August 2013 September 2013S 103 commits in September 2013 October 2013O 51 commits in October 2013 November 2013N 98 commits in November 2013 December 2013D 79 commits in December 2013 January 2014J 84 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for manifestSupported in Safari on iOS from version 3.23.2+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Service Workers
Partially addresses requirements of CoreMob 2012
Web ApplicationsN/AEarly draftLast updated January 2014
Editing activity for githubcomslightlyofferviceorkerblobmasterspecserviceworkerindexhtml.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 6 commits in December 2013 January 2014J 38 commits in January 2014 2013 2014 Commits on ed. draft
None
Support for serviceworkerNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Packaged Web AppManifest for web apps and bookmarks
Partially addresses requirements of CoreMob 2012
Web ApplicationsWDEarly draftLast updated January 2014
Editing activity for wwww3org2008webappsmanifest.xml Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 22 commits in April 2013 May 2013M 45 commits in May 2013 June 2013J 13 commits in June 2013 July 2013J 6 commits in July 2013 August 2013A 1 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 2 commits in October 2013 November 2013N 9 commits in November 2013 December 2013D 17 commits in December 2013 January 2014J 32 commits in January 2014 2013 2014 Commits on ed. draft
N/A
Support for manifestjsonNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
N/A
Runtime and Security Model for Web ApplicationsSystem ApplicationsWDEarly draft, will likely be replaced by a different approachLast updated September 2013
Editing activity for wwww3org2012sysappsruntime.xml Last updated September 2013 February 2013F 0 commits in February 2013 March 2013M 10 commits in March 2013 April 2013A 79 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 1 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
N/A
Support for runtimeSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone unknown? Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android unknown?
N/A
Application Lifecycle and EventsSystem ApplicationsN/AEarly draftLast updated January 2014
Editing activity for Last updated January 2014 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
N/A
N/A

12. Performance & Optimization

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

The work started by the Web Performance Working Group on Navigation Timing, Resource Timing, Performance Timeline and 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 let developers indicate which network requests should be prioritized.

The proposed work on Efficient Script Yielding offers the opportunity to Web developers to use more efficiently asynchronous programming, 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 of resources 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 user experience. The thread-like mechanism made possible via Web Workers allows keeping the user interface responsive by offloading 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 mobile devices, taking into account in particular the needs for optimization. The opportunity to update these best practices is under discussion in the Web and Mobile Interest Group.

Feature Specification Working Group Maturity Stability Latest editors draft Current implementations Developers doc Test suite
Timing hooksNavigation TimingWeb PerformanceRECFinishedFinishedGrowing deployment
Support for nav-timingNot supported in Safari on iOSX Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 9.09.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.04.0+ Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
Resource TimingWeb PerformanceCRStableLast updated December 2013
Editing activity for w3ctestorgwebperfspecsesourceiming.xml Last updated December 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 9 commits in April 2013 May 2013M 1 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 5 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 1 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 1 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for res-timingNot supported in Safari on iOSX Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 1010+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Supported in Chrome for Android from version 2626+
Early start
Performance TimelineWeb PerformanceRECFinishedFinishedLimited
Support for perf-timelineSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone from version 1111+ Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android from version 3030+
User TimingWeb PerformanceRECFinishedFinishedLimited
Support for user-timingSupported in Safari on iOS unknown? Supported in Blackberry browser unknown? Supported in Internet Explorer on Windows Phone from version 1111+ Supported in Firefox mobile unknown? Supported in Android browser unknown? Supported in Opera mobile unknown? Supported in Chrome for Android from version 3030+
Network prioritizationResource PrioritiesWeb PerformanceWDEarly draftLast updated October 2013
Editing activity for dvcsw3orghgwebperfrawfiletipspecsesourcerioritiesverviewhtml.xml Last updated October 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 3 commits in April 2013 May 2013M 2 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 2 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Experimental
Support for lazyNot supported in Safari on iOSX Not supported in Blackberry browserX Partial support in Internet Explorer on Windows Phone from version 1111+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Priority handlingEfficient Script YieldingWeb PerformanceedEarly draftLast updated April 2013
Editing activity for w3ctestorgwebperfspecssetmmediate.xml Last updated April 2013 February 2013F 0 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for setimmediateNot supported in Safari on iOSX Not supported in Blackberry browserX Supported in Internet Explorer on Windows Phone from version 1010+ Not supported in Firefox mobileX Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
None
Page Visibility detectionPage VisibilityWeb PerformanceRECFinishedFinishedWell deployed
Support for visibilitychangeSupported in Safari on iOS from version 7.07.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
Animation optimizationTiming control for script-based animations
CoreMob 2012
Web PerformanceCRStableLast updated October 2013
Editing activity for w3ctestorgwebperfspecsequestnimationrame.xml Last updated October 2013 February 2013F 4 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 0 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 6 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for animation-timingSupported in Safari on iOS from version 6.06.0+ Supported in Blackberry browser from version 10.010.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 4.44.4+ Not supported in Opera mobileX Supported in Chrome for Android from version 29.029.0+
Well started
ThreadingWeb Workers
CoreMob 2012
Web ApplicationsCRStableLast updated January 2014
Editing activity for devw3orghtml5workers.xml Last updated January 2014 February 2013F 11 commits in February 2013 March 2013M 2 commits in March 2013 April 2013A 11 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 5 commits in June 2013 July 2013J 5 commits in July 2013 August 2013A 2 commits in August 2013 September 2013S 2 commits in September 2013 October 2013O 3 commits in October 2013 November 2013N 3 commits in November 2013 December 2013D 4 commits in December 2013 January 2014J 3 commits in January 2014 2013 2014 Commits on ed. draft
Well deployed
Support for webworkersSupported in Safari on iOS from version 5.05.0+ Supported in Blackberry browser from version 7.07.0+ Supported in Internet Explorer on Windows Phone from version 10.010.0+ Supported in Firefox mobile from version 24.024.0+ Supported in Android browser from version 2.12.1+ Supported in Opera mobile from version 12.112.1+ Supported in Chrome for Android from version 29.029.0+
WebPlatform.org
W3DevCampus
Battery StatusBattery Status APIDevice APIsCRStableLast updated April 2013
Editing activity for dvcsw3orghgdaprawfiletipbatteryverviewhtml.xml Last updated April 2013 February 2013F 7 commits in February 2013 March 2013M 0 commits in March 2013 April 2013A 1 commits in April 2013 May 2013M 0 commits in May 2013 June 2013J 0 commits in June 2013 July 2013J 0 commits in July 2013 August 2013A 0 commits in August 2013 September 2013S 0 commits in September 2013 October 2013O 0 commits in October 2013 November 2013N 0 commits in November 2013 December 2013D 0 commits in December 2013 January 2014J 0 commits in January 2014 2013 2014 Commits on ed. draft
Very limited
Support for batteryNot supported in Safari on iOSX Not supported in Blackberry browserX Not supported in Internet Explorer on Windows PhoneX Supported in Firefox mobile from version 1010+ Not supported in Android browserX Not supported in Opera mobileX Not supported in Chrome for AndroidX
Optimization Best PracticesMobile Web Application Best PracticesMobile Web Best PracticesRECFinishedN/AN/A

W3DevCampus
N/A

Acknowledgments

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

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