Re: Supporting Portrait-First and Landscape-First devices in HTML5 Device Orientation

On Thu, Aug 15, 2013 at 5:11 PM, Dhruv Chadha
<Dhruv.Chadha@microsoft.com> wrote:
> We sympathize with the goal of creating a simple programming model for developers but we don’t believe that is what is currently specified on the device and screen orientation specs (as we stated in our earlier response to Jonas).  Our proposal maps existing native implementations done by iOS, Android, and Windows.  These native APIs provide capabilities to discover the native orientation of the device and to remap the coordinate system based on the user selected orientation.
>
> We believe that mapping the coordinates to the current screen orientation would generate the following issues:
> - Changes the design of the API as defined by current draft of the device orientation spec and will break interoperability with current implementations

This is a potential problem with any change ever, yes.  Do you have
reason to believe it will actually be a problem here?  That is, do you
have any reason to believe there is currently content depending on the
device orientation not auto-rotating to be relative to the screen
orientation?

> - If the browser’s orientation is not locked, rotating the device would reset the coordinates back to 0 in the reference axis for each 90 degree rotation since the browser App UI would rotate as well

Yes, that's the point.  You want to get the same device orientation
values whether you're holding the device in portrait or landscape
(assuming the page allows rotation).

> - Does not provide flexibility.  What happens if the developer is not interested in automatically re-mapping the coordinate system?  They wouldn’t have an ability to change this behavior.

Yes, they do, as I mentioned in a side comment in my previous email.
The device orientation would only rotate to remain consistent *with
the screen orientation*.  If you lock the screen orientation (there
are existing methods to do so), then the device orientation wouldn't
rotate either.  That's intended, useful behavior.

> In addition, changing the reference coordinate without providing the actual/native coordinate system will have the following impact:
> - the alpha value (+Z) for device orientation should always be aligned to the input from the compass (i.e. hardware sensors) unless the developer requests a re-mapping

I don't understand what you mean here.  This seems to be *exactly the
case you're worried about*, where the alpha may be oriented "wrong"
because the device is being held in the non-native orientation.  It
shouldn't matter whether I'm using a webapp displaying a compass with
my phone in portrait or landscape orientation - both of them should
display the compass pointing north when the "device" (that is, the top
of my screen *in my current orientation*) is pointing north.

~TJ

Received on Friday, 16 August 2013 00:24:28 UTC