Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISSUE-146: Add vibration strength control #17

Open
laukstein opened this issue Oct 20, 2016 · 3 comments
Open

ISSUE-146: Add vibration strength control #17

laukstein opened this issue Oct 20, 2016 · 3 comments

Comments

@laukstein
Copy link

Any ETA/status for my proposed "Add vibration strength control" https://www.w3.org/2009/dap/track/issues/146 ?

Maybe iOS now supports vibration strength control, or needed to open issue/proposal for Apple. Anyway after standard is proposed, vendors must/expected to fallow it. I think standards proposal must be made before vendors began its own implementation in non-standard way.


Vibration API strength proposal with stair-stepping/smooth volume
reduce/increase:

navigator.vibrate([
    {
        "time": 200, // Required property.
        "volume": [0, 80] // Minimum 0, maximum 100, default 100. [0, 80] smooth volume increase - starts volume strength at 0 and smoothly increases to 80 till end.
    },
    {
        "time": 1000, // 1000 ms
        "delay": 50, // Will start vibrate after 50 ms. Default 0 ms
        "volume": [0, 100, 0] // Smooth volume reduce-increase-reduce - starts at 0, smoothly increases to 100 in 50 ms and smooth reduce to 0 at end.
    },
    {
        "time": 200,
        "volume": [50] // Stair-stepping volume - will start and end volume strength 50.
    }
]);

or the same in simplified version without keys:

navigator.vibrate([{200, [0, 80]}, {1000, 50, [0, 100, 0]}, {200, [50]}]);

and single 1s vibrate with full strength and without delay:

navigator.vibrate({1000});
@MrBrain295
Copy link

Is this being worked on?

@anssiko
Copy link
Member

anssiko commented Oct 23, 2023

This feature is not being worked on right now. The Vibration API is considered feature complete as signalled by its W3C Recommendation state.

Anyone interested in moving this feature forward can help by contributing:

  • information on availability of major platforms' public OS APIs for strength control
  • relevant hardware installed base
  • use cases that cannot be realized without this feature

With this information at hand the WG is in a better position to assess whether a new specification release should be made with this feature. Looking forward to your contributions.

@anssiko
Copy link
Member

anssiko commented Jun 3, 2024

Here's one creative open-source project to generate complex haptic vibrations via navigator.vibrate():

This suggests there is a path to implement strength control on a wide range of relevant hardware installed base, including those platforms that implement the current version of the API. Interested folks are invited to play with this, fork and improve, suggest further ideas, test with various devices.

Haptics.js is another library for enabling haptic effects such as fade in, face out, heatbeat, clunk etc. built atop the Vibration API:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants