Emails
Michael van Ouwerkerk (mvanou...@chromium.org)
Miguel Garcia (TL) (mig...@chromium.org)
Spec
http://dev.w3.org/2009/dap/vibration/
Summary
The Vibration API defines a means for web developers to programmatically provide tactile feedback in the form of vibration.
The Vibration API was already implemented by Samsung in February 2012 in WebKit but it is currently guarded: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/modules/vibration/
We intend to ensure the implementation is solid and then enable it without prefix.
Motivation
This will specifically support providing tactile feedback for improved accessibility. This feature can also be used to build more engaging mobile browser based games. We expect further use cases to be found. It is currently not possible to trigger tactile feedback in any other way.
Compatibility Risk
The compatibility risk is considered low as there is a mature specification and a shipping implementation in Firefox.
Vibration API demo page: http://jsbin.com/awecal/2
Firefox on Android already supports the unprefixed api, enabled by default: window.navigator.vibrate(pattern): https://developer.mozilla.org/en-US/docs/DOM/window.navigator.vibrate
Mozilla’s initial implementation of this feature was tracked in: https://bugzilla.mozilla.org/show_bug.cgi?id=679966
Apple has expressed some concerns, but did not provide much detail: https://lists.webkit.org/pipermail/webkit-dev/2012-January/019283.html
Microsoft’s position is currently unknown.
The Gamepad API does not currently mention vibration, but there might be an interest for extending this functionality: https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html
OWP launch tracking bug?
https://code.google.com/p/chromium/issues/detail?id=222504
Row on feature dashboard?
Yes.
Requesting simultaneous permission to ship?
Yes.
Many mobile games use vibration for player feedback, and I'm not aware of any phones with more than one motor, so this would be appropriate for that case.
Apple has expressed some concerns, but did not provide much detail: https://lists.webkit.org/pipermail/webkit-dev/2012-January/019283.html
The spec link is actually:
It's CR and there is only one compatible implementation, so I believe this qualifies under guidelines #2 and #3:
I think this is useful technology to have in the browser, and so I agree we should implement this.LGTM to implement.Given how simple this feature is I don't think it necessitates a runtime flag, although I would prefer that all features use one if possible. :) I'm OK with it being implemented un-guarded at this time, and thus:LGTM to ship (you still need 2 more).