Intent to Implement and Ship: Gamepad API updates

97 views
Skip to first unread message

Brandon Jones

unread,
Jul 18, 2016, 11:48:13 AM7/18/16
to blink-dev

Contact emails

baj...@chromium.org


Spec

https://w3c.github.io/gamepad/


Though since this is about new additions to the spec, the relevant pull requests are probably easier to review:

GampadButton.touched

Gamepad.pose


Summary

We want to add a couple of properties to the Gamepad API: a "touched" property for GamepadButton to explicitly support touchpads and a "pose" object on the Gamepad itself to support devices with accelerometers and 3 or 6 degree of freedom tracking.


Motivation

Our immediate interest in these new properties it to support VR controllers such as the Daydream controller, Vive wands, and Oculus Touch, but they are also be applicable to a wide variety of more traditional gamepads. For example: The PS4 controller has both a touchpad and can track orientation, and the Wii remote is heavily motion based.


Interoperability and Compatibility Risk

Low. Since these are both new properties on existing objects and no existing properties are altered existing code can safely ignore the additions and new code can easily test for their presence.


Ongoing technical constraints

None.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug

http://crbug.com/629101


Link to entry on the feature dashboard

Fits under the Gamepad API entry


Requesting approval to ship?

Yes

PhistucK

unread,
Jul 18, 2016, 12:08:47 PM7/18/16
to Brandon Jones, blink-dev
You forgot the interoperability part, I think - are other browsers on board?


PhistucK

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Brandon Jones

unread,
Jul 18, 2016, 2:00:14 PM7/18/16
to PhistucK, blink-dev
The owner of the Gamepad API at Mozilla has signed off on the touched property and discussions are ongoing about pose. He didn't give a clear signal for whether they intend to implement it or not, but their VR team has the same needs that we do in this regard so I'd be surprised if they didn't pursue it.

Beyond Mozilla, in my experience the other browser have been fairly indifferent about the Gamepad API in general and haven't been too eager to engage in the spec work.

PhistucK

unread,
Jul 18, 2016, 3:18:28 PM7/18/16
to Brandon Jones, blink-dev
I think these two properties need a new ChromeStatus entry. It helps to form a blog post about the new features, for example.
I assume it will say "no public signals" across the board, basically, which makes it orange.


PhistucK

Brandon Jones

unread,
Jul 18, 2016, 4:14:03 PM7/18/16
to PhistucK, blink-dev
Sounds good to me. I always question when a feature becomes significant enough to warrant the full "new feature" treatment, so I tend to play it by ear. I'll put together a Chrome status entry today!

Brandon Jones

unread,
Jul 18, 2016, 4:29:48 PM7/18/16
to PhistucK, blink-dev

PhistucK

unread,
Jul 18, 2016, 4:32:11 PM7/18/16
to Brandon Jones, blink-dev
It is always good to err on the side of caution and just create an entry just in case. Smaller changes had entries. :)

Thank you!


PhistucK

Dru

unread,
Jul 25, 2016, 9:47:30 PM7/25/16
to blink-dev, baj...@google.com
Is this intent blocked on API owner feedback?


PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.


Domenic Denicola

unread,
Jul 25, 2016, 9:56:20 PM7/25/16
to Dru, blink-dev, baj...@google.com

Has this gone through TAG review? I think I’ve previously noted how un-idiomatic for the web platform it is to use a Float32Array for position/velocity/acceleration/orientation/etc., and how DOMPoint(ReadOnly) or some other simple x/y/z/w type structure would be a much better fit. I think making these kind of data structure decisions definitely qualifies as the sort of architectural issue the TAG would be concerned with, and it would be a big shame to start shipping a choice like this prematurely.


 

PhistucK

 

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

 

 

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Megan Lindsay

unread,
Jul 26, 2016, 2:21:31 PM7/26/16
to Domenic Denicola, Dru, blink-dev, baj...@google.com
It has not gone through TAG review yet. Is this a requirement?

Domenic Denicola

unread,
Jul 26, 2016, 2:25:04 PM7/26/16
to Megan Lindsay, Dru, blink-dev, baj...@google.com
From: Megan Lindsay [mailto:meganl...@google.com]

> It has not gone through TAG review yet. Is this a requirement?

Yes, or at least reasoning for the API owners to understand why it is being skipped. See https://www.chromium.org/blink#launch-process and the linked Intent to Ship template ("If this is an intent to ship, include a link to a tag review or a description about why the tag review process is being skipped").

PhistucK

unread,
Jul 26, 2016, 2:47:38 PM7/26/16
to Domenic Denicola, Megan Lindsay, Dru, blink-dev, baj...@google.com
I submitted a suggestion to the template in order to make it clearer (extracted that into a new paragraph).


PhistucK

Philip Jägenstedt

unread,
Jul 26, 2016, 10:39:12 PM7/26/16
to PhistucK, Domenic Denicola, Megan Lindsay, Dru, blink-dev, baj...@google.com
I see that https://github.com/w3c/gamepad/pull/25 actually isn't merged yet, and that's where the Float23Array attributes are. Is there a reason this isn't merged?

The situation reminds me of https://w3c.github.io/deviceorientation/spec-source-orientation.html#devicemotion where interfaces like DeviceAcceleration were added (with [NoInterfaceObject]) to group things together. I honestly don't think that was great because as implemented in Blink (see DeviceAcceleration.h) it's just a wrapper around the real data and then you get things like DeviceAccelerationInit.

Domenic, do you have a preferred outcome here?

Rick Byers

unread,
Jul 27, 2016, 2:04:35 AM7/27/16
to Philip Jägenstedt, PhistucK, Domenic Denicola, Megan Lindsay, Dru, blink-dev, baj...@google.com
I don't see those API shape concerns raised in the PR, can you guys take the discussion there?  We should probably wait for this PR to be resolved and landed before making a ship decision.
Reply all
Reply to author
Forward
0 new messages