Re: [w3ctag/design-reviews] WebXR Hand Input API Specification (#568)

Regarding naming: I see that the [Unity hand tracking API](https://developer.oculus.com/documentation/unity/unity-handtracking/#understanding-bone-id), for example, doesn't use the medical names for bones. They use a number to indicate the joint number.

The [TAG design principles doc](https://w3ctag.github.io/design-principles/#naming-common-words) notes:

> API naming must be done in easily readable US English. Keep in mind that most web developers aren’t native English speakers. Whenever possible, names should be chosen that use common vocabulary a majority of English speakers are likely to understand when first encountering the name.

and [also](https://w3ctag.github.io/design-principles/#wrapper-apis):

> You will probably not be able to directly translate an API available to native applications to be a web API.
> 
> Instead, consider the functionality available from the native API, and the user needs it addresses, and design an API which meets those user needs, even if the implementation depends on the existing native API.

I don't think using the bone name reduces the ambiguity either, since you're referring to a joint rather than the bone in any case.

Each of your examples sets up a structure like:

```js
[ [XRHand.INDEX_PHALANX_TIP, XRHand.INDEX_METACARPAL],
  [XRHand.MIDDLE_PHALANX_TIP, XRHand.MIDDLE_METACARPAL],
  [XRHand.RING_PHALANX_TIP, XRHand.RING_METACARPAL],
  [XRHand.LITTLE_PHALANX_TIP, XRHand.LITTLE_METACARPAL] ]
```
... would it work to have the API expose the hand data via a richer data structure?

Regarding privacy: the strategy @cabanier mentions seems like a good start. 

I'm also trying to understand the relationship between `hand` as a member of `XRInputSource`, and the [primary action](https://immersive-web.github.io/webxr/#primary-action) concept. Does hand input provide a way of generating a primary action?

Also, can you give some background on how hand tracking works for people who are missing or unable to use one or more fingers on the hand(s) being used for hand tracking - how does this affect the data which is provided to the application?

Finally, maybe a silly question - if an application wanted to track both hands, would that be two separate `InputSource`s?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/568#issuecomment-736344167

Received on Tuesday, 1 December 2020 09:33:18 UTC