W3C

Core Mobile Web Platform — 2012

Draft Community Group Specification 24 September 2012

Latest editor's draft:
http://coremob.github.com/coremob-2012/
Previous editor's draft:
http://coremob.github.com/coremob-2012/ED-coremob-20120905.html
Editors:
Tobie Langel, Facebook
Robin Berjon, Robineko

Abstract

This specification describes the core set of technologies that define the baseline platform for mobile Web applications to target. It does not create any new technology but rather syndicates them into a globally coherent view of the mobile Web platform.

Status of This Document

This specification was published by the Core Mobile Web Platform Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups.

Comments on this document are welcomed and should be made on the public-coremob@w3.org mailing list. The source code is available on GitHub.

Table of Contents

1. Introduction

This section is non-normative.

The goal of the Core Mobile Web Platform Community Group is to accelerate the adoption of the Mobile Web as a compelling platform for the development of modern mobile Web applications. In order to achieve this mission, the CG brings developers, equipment manufacturers, browser vendors, operators and other relevant members of the industry together to agree on core features developers can depend on.

This specification is the result of this work. It attempts to carefully balances developer needs and implementation constraints as of today. Updated versions of this document will be released as the platform evolves and new technologies become broadly available.

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words must, must not, required, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC2119].

A User Agent conforms to Core Mobile Web Platform 2012 if it conforms to all listed specifications and their dependencies.

However, the inability of a User Agent to conform to one of the listed specifications due to limitations of the device does not make the User Agent non-conformant. (For example, a User Agent is not required to support Touch Events on a device devoid of a touch screen.)

3. Markup

This section describes requirements for markup languages and related features.

3.1 HTML5

User agents must support HTML5 [HTML5].

Issue 1

Some critical AppCache issues are being fixed in the HTML Living Standard spec. Unfortunately, these fixes aren't brought (yet) to the HTML5 spec because they are considered new features belonging in HTML.next. What should the group's position be with regards to that?

Note

Implementors should pay particular attention to the quality of implementation of the audio element. audio elements are commonly used in games to play background music and sound effects. It is recommended that implementations support playing 8 audio files in parallel without audible artifacts and provide sub 10ms latency.

Issue 2

Can the latency requirements be lightened a bit. Sub 10ms seems ideal, slightly longer latency times may be acceptable for most use cases.

3.2 HTML Media Capture

User agents must support HTML Media Capture [HTMLMEDIACAPTURE].

3.3 SVG

User agents must support Scalable Vector Graphics (SVG) 1.1 (Second Edition) [SVG11].

3.4 Device Adaptation

User agents must support CSS Device Adaptation [CSS-ADAPTATION] as specified through a meta viewport element.

3.5 Application Configuration

Issue 6

WebApps WG is chartered to work on this and has two related specs: Widget Packaging and Configuration [WIDGETS] (which has had little traction among the main vendors), and Web Application Manifest Format and Management APIs [WEBAPPS-MANIFEST-API] (which is still an early Editor's draft).

3.6 View Orientation

Issue 7

This is a new deliverable of the WebApps WG. See the WG's charter for details. No spec to link to for the moment. Could also end up as an attribute of Application Configuration.

3.7 Chromeless Mode

Issue 8

Within the scope of the WebApps WG's charter. Could end up as an attribute of Application Configuration.

4. Style

This section defines requirements for CSS and other, styling-related features.

4.1 CSS 2.1

User agents must support CSS 2.1 [CSS21].

4.2 Processing

4.2.1 Values

User agents must support CSS Values [CSS3VAL].

Issue 9

CSS Values is a WD. Most of the common content of CSS Values is already included in CSS 2.1. There are some features that would be welcomed additions, notably calc(), rem unit, but also some that don't seem to have a lot of traction (e.g. cycle()).

4.2.2 Media Queries

User agents must support CSS Media Queries [CSS3-MEDIAQUERIES].

4.2.3 Selectors

User agents must support CSS Selectors Level 3 [SELECTORS].

Issue 11

Request for momentum scrolling (e.g. -webkit-overflow-scrolling: touch) are extremely common. Unfortunately, there is no spec effort at this point.

4.3 Graphical

4.3.1 Backgrounds and Borders

User agents must support CSS Backgrounds and Borders [CSS3-BG].

4.3.2 Color

User agents must support CSS Color [CSS3COLOR].

4.3.3 Image Values and Replaced Content

User agents must support CSS Image Values and Replaced Content [CSS3-IMAGES].

Issue 10

CSS Image Values is a CR. Questionable content is marked at risk, which is reassuring.

4.4 Layout

4.4.1 Flexbox

User agents must support CSS Flexible Box Layout [FLEXBOX].

4.4.2 Transforms

User agents must support CSS Transforms [CSS3-TRANSFORMS].

4.5 Typography

4.5.1 CSS Fonts

User agents must support CSS Fonts [CSS3-FONTS].

4.5.2 WOFF

User agents must support WOFF [WOFF].

4.5.3 CSS Text

User agents must support CSS Text [CSS3TEXT].

Issue 13

Spec in WD. We're interested in a small subset of CSS Text, mainly text-shadow. Like CSS Values, a lot what is of interest is already covered by CSS 2.1.

4.6 Animations and Transitions

4.6.1 Animations

User agents must support CSS Animations [CSS3-ANIMATIONS].

4.6.2 Transitions

User agents must support CSS Transitions [CSS3-TRANSITIONS].

5. Scripting

This section defines which scripting support in language and APIs are required.

5.1 ECMAScript

User agents must support ECMAScript, Edition 5.1 [ECMA-262-51].

5.2 DOM

5.2.1 DOM4

User agents must support the DOM4 API [DOM4].

5.2.2 Selectors

User agents must support the Selectors API level 2 [SELECTORS-API2].

5.2.3 Touch Events

User agents must support Touch Events version 1 [TOUCH-EVENTS].

5.2.4 CSSOM View

User agents must support CSSOM View [CSSOM-VIEW].

5.3 Storage

5.3.1 Web Storage

User agents must support the Web Storage API [WEBSTORAGE].

5.3.2 Indexed Database

User agents must support the Indexed Database API [INDEXEDDB].

5.3.3 File

User agents must support the File API [FILE-API].

5.3.4 Quota Management

User agents must support the Quota Management API [QUOTA-API].

5.4 Networking

5.4.1 XMLHttpRequest

User agents must support the XMLHttpRequest API [XMLHTTPREQUEST].

Issue 14

The Editor folded level 1 and 2 in the same spec recently, but this isn't reflected in /TR yet.

5.4.2 Web Messaging

User agents must support the Web Messaging API [POSTMSG].

5.4.3 Web Workers

User agents must support the Web Workers API [WEBWORKERS].

Issue 15

Do we need both Shared and Web Workers?

5.5 Sensors

5.5.1 Geolocation

User agents must support the Geolocation API [GEOLOCATION-API].

5.5.2 DeviceOrientation Event

User agents must support the DeviceOrientation Event [DEVICE-ORIENTATION].

5.6 Multimedia

5.6.1 Canvas2D

User agents must support the Canvas2D API [CANVAS-2D].

Note

Implementors should pay attention to the performance characteristics of the canvas element which is particularly well suited for the development of 2D and isometric games. In order to meet the expectations of users, implementations should be capable of running such games at 30fps in full-screen mode.

5.6.2 Timing control for script-based animations

User agents must support the Timing control for script-based animations API [ANIMATION-TIMING].

6. Network

6.1 HTTP

User agents must support HTTP 1.1 [HTTP11].

6.2 CORS

User agents must support Cross-Origin Resource Sharing [CORS].

6.3 data: scheme

User agents must support the data: URI scheme [RFC2397].

6.4 mailto: scheme

User agents must support the mailto: URI scheme [RFC6068].

6.5 tel: scheme

User agents must support the tel: URI scheme [RFC3966].

6.6 sms: scheme

User agents must support the sms: URI scheme [RFC5724].

6.7 mmsto: scheme

User agents must support the mmsto: URI scheme [OMA-URI-SCHEME].

A. References

A.1 Normative references

[ANIMATION-TIMING]
James Robinson; Cameron McCormack. Timing control for script-based animations. URL: http://www.w3.org/TR/animation-timing/
[CANVAS-2D]
Ian Hickson. HTML Canvas 2D Context. 25 May 2011. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2dcontext/
[CORS]
Anne van Kesteren. Cross-Origin Resource Sharing. 17 March 2009. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2009/WD-cors-20090317
[CSS-ADAPTATION]
Rune Lillesveen. CSS Device Adaptation. 23 January 2012. Editor's Draft. (Work in progress.) URL: http://dev.w3.org/csswg/css-device-adapt/
[CSS21]
Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification.. W3C Recommendation. URL: http://www.w3.org/TR/CSS21/
[CSS3-ANIMATIONS]
Dean Jackson (Apple Inc); David Hyatt (Apple Inc); Chris Marrin (Apple Inc). CSS Animations. 03 April 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/css3-animations/
[CSS3-BG]
Elika J. Etemad; Bert Bos; Brad Kemper. CSS Backgrounds and Borders Module Level 3. URL: http://www.w3.org/TR/css3-background/
[CSS3-FONTS]
John Daggett (Mozilla). CSS Fonts Module Level 3 URL: http://www.w3.org/TR/css3-fonts
[CSS3-IMAGES]
Elika J. Etemad, Tab Atkins Jr.. CSS Image Values and Replaced Content. 17 April 2012. W3C Candidate Recommendation. URL: http://www.w3.org/TR/css3-images/
[CSS3-MEDIAQUERIES]
H. Lie, T. Çelik, D. Glazman, A. van Kesteren. Media Queries URL: http://www.w3.org/TR/css3-mediaqueries/
[CSS3-TRANSFORMS]
Simon Fraser; Dean Jackson; David Hyatt; Chris Marrin; Edward O'Connor; Dirk Schulze; Aryeh Gregor. CSS Transforms. URL: http://www.w3.org/TR/css3-transforms/
[CSS3-TRANSITIONS]
Dean Jackson; David Hyatt; Chris Marrin; L. David Baron. CSS Transitions. 03 April 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/css3-transitions/
[CSS3COLOR]
Tantek Çelik; Chris Lilley; L. David Baron. CSS Color Module Level 3. 07 June 2011. W3C Recommendation. URL: http://www.w3.org/TR/css3-color
[CSS3TEXT]
Elika J. Etemad; Koji Ishii. CSS Text Level 3. 19 January 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/css3-text/
[CSS3VAL]
Chris Lilley; Håkon Wium Lie. CSS3 Values and Units. 08 March 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/css3-values/
[CSSOM-VIEW]
Anne van Kesteren. CSSOM View Module. 22 February 2008. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2008/WD-cssom-view-20080222
[DEVICE-ORIENTATION]
Steve Block, Andrei Popescu. DeviceOrientation Event Specification. 1 December 2011. Last Call Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2011/WD-orientation-event-20111201/
[DOM4]
Anne van Kesteren; Aryeh Gregor; Ms2ger. DOM4. URL: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html/
[ECMA-262-51]
ECMAScript Language Specification, Edition 5.1. June 2011. URL: http://www.ecma-international.org/publications/standards/Ecma-262.htm
[FILE-API]
Arun Ranganathan; Jonas Sicking. File API. 20 October 2011. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2011/WD-FileAPI-20111020/
[FLEXBOX]
Tab Atkins Jr.; Elika J. Etemad; Alex Mogilevsky. Flexible Box Layout Module. 12 June 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/css3-flexbox/
[GEOLOCATION-API]
Andrei Popescu. Geolocation API Specification. 22 December 2008. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2008/WD-geolocation-API-20081222/
[HTML5]
Ian Hickson; David Hyatt. HTML5. 29 March 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/html5
[HTMLMEDIACAPTURE]
Anssi Kostiainen; Ilkka Oksanen; Dominique Hazaël-Massieux. HTML Media Capture. 29 May 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2012/WD-html-media-capture-20120529/
[HTTP11]
R. Fielding; et al. Hypertext Transfer Protocol - HTTP/1.1. June 1999. Internet RFC 2616. URL: http://www.ietf.org/rfc/rfc2616.txt
[INDEXEDDB]
Nikunj Mehta, Jonas Sicking, Eliot Graff, Andrei Popescu, Jeremy Orlow. Indexed Database API. April 2011. Working Draft. (Work in progress.) URL: http://www.w3.org/TR/IndexedDB/
[OMA-URI-SCHEME]
Reference not found.
[POSTMSG]
Ian Hickson. HTML5 Web Messaging. URL: http://dev.w3.org/html5/postmsg
[QUOTA-API]
Kinuko Yasuda. Quota Management API. 3 July 2012. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/quota-api/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt
[RFC2397]
L. Masinter. The "data" URL scheme. August 1998. Internet RFC 2397. URL: http://www.ietf.org/rfc/rfc2397.txt
[RFC3966]
H. Schulzrinne. The tel URI for Telephone Numbers December 2004. Internet RFC 3966. URL: http://www.ietf.org/rfc/rfc3966.txt
[RFC5724]
E. Wilde, A. Vaha-Sipila. URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS). January 2010. Request for Comments. URL: http://www.ietf.org/rfc/rfc5724.txt
[RFC6068]
M. Duerst; L. Masinter; J. Zawinski. The 'mailto' URI Scheme. October 2010. Internet Proposed Standard RFC 6068. URL: http://www.ietf.org/rfc/rfc6068.txt
[SELECTORS]
Reference not found.
[SELECTORS-API2]
Lachlan Hunt. Selectors API Level 2. 19 January 2010. Working Draft. (Work in progress.) URL: http://www.w3.org/TR/selectors-api2/
[SVG11]
Erik Dahlström; et al. Scalable Vector Graphics (SVG) 1.1 (Second Edition). 16 August 2011. W3C Recommendation. URL: http://www.w3.org/TR/2011/REC-SVG11-20110816/
[TOUCH-EVENTS]
Matt Brubeck; Sangwhan Moon; Doug Schepers; Touch Events version 1 URL: http://www.w3.org/TR/touch-events
[WEBSTORAGE]
Ian Hickson. Web Storage. 10 September 2009. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2009/WD-webstorage-20090910/
[WEBWORKERS]
Ian Hickson. Web Workers. 1 September 2011. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2011/WD-workers-20110901/
[WOFF]
Jonathan Kew, Tal Leming, Erik van Blokland. WOFF File Format 1.0. 04 August 2011. Candidate Recommendation. URL: http://www.w3.org/TR/WOFF/
[XMLHTTPREQUEST]
Anne van Kesteren. The XMLHttpRequest Object. 15 April 2008. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2008/WD-XMLHttpRequest-20080415

A.2 Informative references

[WEBAPPS-MANIFEST-API]
Anant Narayanan. Web Application Manifest Format and Management APIs. W3C Editor's Draft. (Work in progress.) URL: http://dvcs.w3.org/hg/app-manifest/raw-file/tip/index.html
[WIDGETS]
Marcos Cáceres. Widget Packaging and XML Configuration. W3C Recommendation. URL: http://www.w3.org/TR/widgets/