- From: Scott Wilson <scott.bradley.wilson@gmail.com>
- Date: Wed, 20 Jun 2012 10:37:35 +0100
- To: Tobie Langel <tobie@fb.com>
- Cc: "public-native-web-apps@w3.org" <public-native-web-apps@w3.org>
On 20 Jun 2012, at 08:55, Tobie Langel wrote: > On 6/20/12 8:34 AM, "Scott Wilson" <scott.bradley.wilson@gmail.com> wrote: > >> Expressing a preferred starting orientation is a common use case for web >> apps; the Mozilla proposal includes this[1], as does the PhoneGap >> implementation of Widgets:P&C (using Preferences)[2]. > > This is also something the Coremob CG feels strongly about. Being able > express a preference for a given orientation is critical for building > HTML5 games on mobile devices. > >> Outside of mobile, we also have a use case for portal applications built >> with Apache Rave, where we may want to place a widget into a page region >> depending on whether it would better suit a wide or narrow region in the >> layout. >> >> Orientation also already exists as a Media Feature[3]; there are two >> valid values of the orientation media feature, 'portrait' and 'landscape': >> >> "The orientation¹ media feature is portrait¹ when the value of the >> height¹ media feature is greater than or equal to the value of the >> width¹ media feature. Otherwise orientation¹ is landscape¹." >> >> PhoneGap also has "default", however this doesn't actually mean "default" >> but " enable both": >> >> "please note that default means both landscape and portrait are enabled. >> If you want to use each platform's default settings (usually >> portrait-only), just remove this tag from your config.xml" >> >> So orientation can refer to either or both of the preferred starting >> orientation of the web app, and the orientations enabled for the web app. > > Worth looking at the work going on in [Device Adaptation]. I like auto > much more than "both" + "default" which is extremely confusing for authors > and the end users alike. Right, I think PhoneGap used "default" to mean "use this sensible default rather than the inconsistent defaults of the device platform". Auto works better for me. > >> I suggest an orientation property with the following semantics: >> >> orientation = "portrait" // enable portrait only >> orientation = "landscape" // enable landscape only >> orientation = "portrait landscape" // enable both, start in portrait by >> default >> orientation = "landscape portrait" // enable both, start in landscape by >> default >> orientation = "both" // enable both portrait and landscape orientation, >> start in current user agent orientation >> [no value] // use user agent defaults > > Needing to mix app life-cycle into this calls for finer-grained control, > i.e. being able to modify this setting on a document level (via Device > Adaptation?) or via scripting (using Mozilla's [Screen Orientation]?). > > So this is either indicative of a mistake in the level at which the > feature is being added or a scope creep. > > That said, I think your proposal misses an important use case: enabling > locking the orientation of games. Good point - and this UC definitely requires control within applications as you say, whether at document or scripting level, rather than declaratively. > > Typically, this is necessary not only because a given game is playable in > portrait mode only, but also because auto-rotation of the device during > the game would ruin the game play. That's why it is important for games to > be also able to prevent auto-rotation. > > Should that be expressed through more precise params inspired from > Mozilla's proposal: portrait, landscape, portrait-primary, > portrait-secondary, landscape-primary, landscape-secondary, auto? Should > there be a different setting (prevent-autorotation) for that use case? I'm > not sure. > >> This could be added to Widgets:P&C as an attribute of the widget element; >> this would also need to be harmonized in the mozilla proposal. >> Alternatively, this could be developed as a standalone spec usable by >> both, a bit like VMMF[4]. > > Where this ends up happening has a lot to do with how fine-grained it > needs to be. Think we need use cases here. OK, for now I'll pop a strawman draft up on github to have something to point at. > > --tobie > > --- > [Device Adaptation]: http://dev.w3.org/csswg/css-device-adapt/#orientation > [Screen Orientation]: > http://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html >
Received on Wednesday, 20 June 2012 09:38:10 UTC