Code Monkey home page Code Monkey logo

Comments (13)

marcoscaceres avatar marcoscaceres commented on June 1, 2024 1

I'm personally opposed to this proposal (i.e., this position is NOT representative of the WebKit community; I'm posting it as input while waiting for further input from WebKit community members).

Although I'm are generally supportive of enabling haptic feedback, such as "trigger-rumble", on gamepads, I have significant reservations about the (non-standard) GamepadHapticActuator interface on which this proposal relies.

Specifically with the "trigger-rumble" proposal, I'm concerned that it’s targeting a narrow set of hardware. To alleviate this, it would be good to provide a canonical representation, such as an audio file, that can be used to consistently emulated "trigger rumble" across generic gamepads.

Returning to GamepadHapticActuator (and the changes that result directly from adding "trigger-rumble"), I've provided feedback on the design of the API via the W3C and outlined several issues. Some of the issues also appear in the "trigger-rumble" proposal (particularly around .canPlay()).

Lastly, I'm are sympathetic that GamepadHapticActuator has been shipping in Chromium-based browsers for a while despite the API not being a published standard. This situation is quite unfortunate and something the implementers should try to remedy through collaboration at the W3C: the more developers come to rely on the design of GamepadHapticActuator, the higher the chance that the Web Platform will be stuck with it.

I would be open to exploring alternatives to the GamepadHapticActuator, or evolving GamepadHapticActuator into something more useful - as well as looking at how we can enable more haptic effects on gamepad devices.

from standards-positions.

cabanier avatar cabanier commented on June 1, 2024 1

Thanks @marcoscaceres
Our newest controller doesn't just have frequency; it's even possible to play music using a special motor.

We don't have an immediate need to have support for this but it would be nice to have in the future.

from standards-positions.

marcoscaceres avatar marcoscaceres commented on June 1, 2024 1

Changed position to support, as we collaborated in the specification over in WebApps and implement this.

from standards-positions.

hober avatar hober commented on June 1, 2024

I think @beidson & @marcoscaceres have opinions here.

from standards-positions.

marcoscaceres avatar marcoscaceres commented on June 1, 2024

Discussed with other folks and our position remains the one I posted above (#1 (comment))... basically, gamepad haptics are good, but we have concerns about GamepadHapticActuator. Marking as opposed for now, but happy to continue the discussion at the W3C.

from standards-positions.

cabanier avatar cabanier commented on June 1, 2024

As mentioned earlier, the quest browser is exposing haptics and they're use quite a bit by developers.
We just released a new controller that has 3 sets of haptic actuators and each also support frequency.

The main actuator also support audio samples so it could play music or other effects. Was this ever discussed?

from standards-positions.

marcoscaceres avatar marcoscaceres commented on June 1, 2024

The main actuator also support audio samples so it could play music or other effects. Was this ever discussed?

Yes. The W3C was waiting on a proposal from Microsoft to allow playing audio files:
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/HapticsDevice/explainer.md

I'm hoping they will move that to the WICG (if they haven't already).

from standards-positions.

cabanier avatar cabanier commented on June 1, 2024

@marcoscaceres what is the status of haptics? Would it make sense to join the CG or WICG?

from standards-positions.

marcoscaceres avatar marcoscaceres commented on June 1, 2024

@cabanier, sorry I missed your question. It's still unclear if/where further haptic-related work will happen at this point. A few of us are discussing it as part of WebApps WG, but we are unsure of a venue. It will more than likely be a WICG thing.

In other news, although WebKit were opposed to this API, the vibratorActuator did end up getting implanted in WebKit and shipped in Safari Tech Preview 163 (release notes). The API has been around for a while in Chromium browsers, so it kinda made sense to ship it for web compat... even though we all agree that the design is less than ideal.

At the same time, folks involved with the Gamepad spec don't seek to pursue haptics using above model further... so we will try to figure out where, how how, we go forward from here with something better/more scalable, that better supports the capabilities of newer gamepads.

from standards-positions.

hober avatar hober commented on June 1, 2024

Closing as we've identified our position.

from standards-positions.

cabanier avatar cabanier commented on June 1, 2024

@hober what do you think of my proposal in w3c/gamepad#186?

from standards-positions.

marcoscaceres avatar marcoscaceres commented on June 1, 2024

Reopening it on request of Chromium/Microsoft folks. I'll coordinate with @gabrielsanbrito on this.

from standards-positions.

gabrielsanbrito avatar gabrielsanbrito commented on June 1, 2024

Hey @marcoscaceres, I have updated the explainer to match the latest version of the Gamepad API spec.

from standards-positions.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.