I think deviceProperties is reasonable. The other question was when
deviceId would be populated? E.g. should touches on the same touchscreen
device have the same deviceId or should we only have a deviceId when we can
uniquely identify the particular pointer? I suspect maybe the latter since
otherwise you couldn't infer uniqueness from its existence.

Could you comment on the pointerevents issue
<https://github.com/w3c/pointerevents/issues/353> so that the context is
there for the next meeting? I'll request that it be discussed again.

On Thu, Feb 1, 2024 at 4:31 PM 'Sahir Vellani' via blink-dev <
blink-dev@chromium.org> wrote:

> Thanks for the update Robert! That makes sense.
>
> What about deviceProperties? That would place the emphasis on the device
> generating the pointer event; with "properties" being generic enough to
> include different supported functions of the device. So we would have
> something like
> PointerEvent.deviceProperties.deviceId/PointerEvent.deviceProperties.preferredInkingColor
> etc.
>
> Would you be able to clarify the next steps once the structure name has
> been agreed upon? I believe we'll need to update the explainer, spec PR and
> change the chromium implementation. Anything else?
>

This sounds good.

On Thursday, February 1, 2024 at 12:33:46 PM UTC-8 fla...@chromium.org
> wrote:
>
>> We just discussed this yesterday where the consensus was that we thought
>> it would be pragmatic to put this new device specific identifier into a
>> common structure on the pointer event where other device specific
>> customizations could later be added (e.g. those from the pen
>> customizations proposal <https://github.com/darktears/pen-customizations>).
>> This avoids needing to have new properties on the pointer event for each
>> device specific customization attribute added.
>>
>> Another question that came up was how universal this customization was,
>> i.e. whether there would be support for this on other platforms.
>>
>> @Sahir Vellani would you be able to suggest what you think the best
>> structure name / property name for pointer specific identifier properties
>> might be?
>>
>> I do agree with @Rick Byers that this is likely a niche API which we'll
>> likely be able to change, I'm just trying to get ahead of breaking changes
>> early.
>>
>> On Wed, Jan 31, 2024 at 11:33 AM Yoav Weiss (@Shopify) <
>> yoav...@chromium.org> wrote:
>>
>>> Thanks for chiming in, Robert!
>>>
>>> Sahir - can you let us know once the PEWG has discussed this and you
>>> feel this is good to go?
>>>
>>> On Tuesday, January 23, 2024 at 8:26:32 PM UTC+1 sahir....@microsoft.com
>>> wrote:
>>>
>>>> Thanks Rick and Robert!
>>>>
>>>> Rick, I agree that it would be relatively easy to change/deprecate
>>>> deviceId. There are not too many devices at the moment that support
>>>> multiple pens, and not many web apps either. I think the cost to the
>>>> websites of not having Chrome support this for the foreseeable future is
>>>> greater than changing where the deviceId gets read from. The Pen
>>>> Customizations api looks quite cool, although deviceId is more generic.
>>>>
>>>> Robert, I'm happy to wait a week or two more for the PEWG to discuss
>>>> this further. Thanks for putting deviceId in the agenda, and of course we
>>>> can rework this if a more appropriate alternative is proposed. :)
>>>>
>>>> On Tuesday, January 23, 2024 at 11:01:05 AM UTC-8 fla...@chromium.org
>>>> wrote:
>>>>
>>>> On Tue, Jan 23, 2024 at 1:00 PM Robert Flack <fla...@chromium.org>
>>>> wrote:
>>>>
>>>> FWIW, in the PEWG call
>>>> <https://www.w3.org/2024/01/17-pointerevents-minutes.html#t03> last
>>>> week there was some question of how this relates to the pen
>>>> customizations proposal
>>>> <https://github.com/darktears/pen-customizations>. I suppose the
>>>> general question is whether this should be an additional part of some
>>>> hardware specific device customization in
>>>> pointerEvent.penCustomizationsDetails. I think there is a risk of
>>>> shipping this without consensus on the general shape, as it will make it
>>>> harder to change if it's decided there's a better way to expose the
>>>> information without breaking existing uses. We should probably take the API
>>>> that has been incubated and bring it back for discussion in the working
>>>> group.
>>>>
>>>>
>>>> I've raised this for discussion
>>>> <https://github.com/w3c/pointerevents/issues/353#issuecomment-1906641207> 
>>>> to
>>>> try to reach consensus on the general idea. I also realize my comment comes
>>>> across more critical than I meant it to be. There is risk to locking in the
>>>> current proposal, but I also suspect we'd be able to make a breaking change
>>>> if needed, so I did not intend my comment to be blocking. Apologies!
>>>>
>>>> On Tue, Jan 23, 2024 at 12:15 PM 'Sahir Vellani' via blink-dev <
>>>> blin...@chromium.org> wrote:
>>>>
>>>> Hi all, any more questions or concerns?
>>>>
>>>> On Thursday, January 18, 2024 at 8:44:58 PM UTC-8 Sahir Vellani wrote:
>>>>
>>>> Just to clarify, I've made the change in the deviceId verbiage in the
>>>> spec, not pointerId :)
>>>>
>>>> On Thursday, January 18, 2024 at 8:40:00 PM UTC-8 Sahir Vellani wrote:
>>>>
>>>> I can't say what the reasoning is for that behavior in
>>>> PointerEvent.pointerId, as I was not involved. However, I will make a
>>>> change in the spec to only use the value of 1 for primary mouse device.
>>>> There may be a scenario where PointerEvent.deviceId is unsupported by
>>>> the UA (separate from an invalid id of -1); e.g, on platforms where the
>>>> feature is unimplemented. In that case, developers might have a check like
>>>> if(event.deviceId) {...}. If the deviceId is 0 for a valid reason, it will
>>>> fail that check. I see no harm in limiting the deviceId from primary mouse
>>>> to 1. It will avoid this interop issue and make the feature more friendly
>>>> to web developers.
>>>>
>>>>
>>>> 0 was originally reserved to mean a non-pointer device. This was
>>>> discussed in https://github.com/w3c/pointerevents/issues/343 where we
>>>> discovered that Firefox has, and continues to use 0 for mouse pointer
>>>> events where chrome and safari use 1.
>>>>
>>>> On Thursday, January 18, 2024 at 6:26:20 PM UTC-8 mike...@chromium.org
>>>> wrote:
>>>>
>>>> Forgive my ignorance around this API generally, but is there any reason
>>>> the spec can't require a single value? If not, why not?
>>>> On 1/18/24 3:05 PM, 'Sahir Vellani' via blink-dev wrote:
>>>>
>>>> Appreciate the feedback! Yes the PR was reviewed by WG members for any
>>>> major concerns; but I believe there will be more comprehensive feedback
>>>> once the Level 3 spec lands. Regarding your concern, the language is based
>>>> on that of PointerEvent.pointerId. The ultimate goal here is to
>>>> differentiate between devices, and like pointerId, the way the ids are
>>>> assigned has been left to the UA. I think web developers should be able to
>>>> rely on PointerEvent.pointerType to confirm whether the pointer event comes
>>>> from the primary mouse device. In Chromium, we transmit 1 for the mouse for
>>>> PointerEvent.deviceId.
>>>>
>>>> On Wednesday, January 17, 2024 at 7:39:48 AM UTC-8 yoav...@chromium.org
>>>> wrote:
>>>>
>>>> On Wednesday, January 17, 2024 at 3:51:59 PM UTC+1 vmp...@google.com
>>>> wrote:
>>>>
>>>> On Thu, Jan 11, 2024 at 6:08 PM 'Sahir Vellani' via blink-dev <
>>>> blin...@chromium.org> wrote:
>>>>
>>>> Hi all, good news!
>>>>
>>>> Reviving this thread because we have accomplished:
>>>> 1. TAG Review Completion:  Extending the PointerEvent with Unique
>>>> DeviceId Attribute · Issue #880 · w3ctag/design-reviews (github.com)
>>>> <https://github.com/w3ctag/design-reviews/issues/880> Resolution:
>>>> Satisfied
>>>> 2. WICG Repository for standardization discussions. Link to explainer
>>>> in WICG Repo:  
>>>> pointer-event-extensions/pointer-event-device-id-explainer.md
>>>> at main · WICG/pointer-event-extensions (github.com)
>>>> <https://github.com/WICG/pointer-event-extensions/blob/main/pointer-event-device-id-explainer.md>
>>>> 3. A PR against the PointerEvent spec with proposed changes:  Add
>>>> deviceId to PointerEvent spec by sahirv · Pull Request #495 ·
>>>> w3c/pointerevents (github.com)
>>>> <https://github.com/w3c/pointerevents/pull/495/files> We will be
>>>> waiting for Spec Level 3 to come out before this can be merged; but this
>>>> provides an official starting point for the standardized description of
>>>> this feature. Based on the feedback received, I don't anticipate any major
>>>> changes to the design.
>>>>
>>>>
>>>> Thanks for the PR! Was it reviewed by other WG members?
>>>> For example, "User agents MAY reserve a generic `deviceId` value of `0`
>>>> or `1` for events generated by the primary mouse device." seems risky from
>>>> an interop perspective. E.g. developers may rely on some UAs doing that and
>>>> fail when others don't.
>>>>
>>>>
>>>> For posterity, I was initially unsure why this wasn't an issue on the
>>>> w3c/pointerevents, but it does seem like the discussion happened there and
>>>> folks agreed to move this in WICG: https://github.com/w3c/
>>>> pointerevents/issues/353 \o/
>>>>
>>>>
>>>> Reviewers, can we please get another review for shipping this feature?
>>>>
>>>> On Wednesday, October 18, 2023 at 8:55:43 AM UTC-7
>>>> sligh...@chromium.org wrote:
>>>>
>>>> I agree that this needs a spec PR and the explainer should at least
>>>> migrate to WICG before we agree to ship. Also, can you please link to the
>>>> TAG review?
>>>>
>>>> Best,
>>>>
>>>> Alex
>>>>
>>>> On Tuesday, October 17, 2023 at 4:16:41 AM UTC-7 Yoav Weiss wrote:
>>>>
>>>> On Tue, Oct 17, 2023 at 12:42 AM Mike Taylor <mike...@chromium.org>
>>>> wrote:
>>>>
>>>> LGTM1
>>>> On 10/15/23 11:07 AM, 'Sahir Vellani' via blink-dev wrote:
>>>>
>>>> Thanks for the feedback, I wasn't aware they were mandatory. The steps
>>>> have been started, just awaiting feedback from Security and Privacy
>>>> reviewers. I've received LGTMs for all other areas. After our response to
>>>> WebKit's question, they did not have any further follow-up questions. So
>>>> I'm assuming all is well.
>>>>
>>>> On Wednesday, October 11, 2023 at 4:59:15 AM UTC-7 Daniel Bratell wrote:
>>>>
>>>> I see that various mandatory steps in chromestatus
>>>> (privacy,security,enterprise,debuggability,testing) seems to be
>>>> unstarted. It is possible they were made mandatory after you create the
>>>> entry, but it would be good if you could get them started now at least.
>>>>
>>>> Also, it's unfortunate that TAG and standards positions requests have
>>>> not resulted in anything, but that is hardly your fault. There were some
>>>> questions in the WebKit request. Is all that ok now?
>>>>
>>>> /Daniel
>>>> On 2023-10-06 20:10, 'Sahir Vellani' via blink-dev wrote:
>>>>
>>>>
>>>>
>>>> On Friday, October 6, 2023 at 9:03:35 AM UTC-7 mike...@chromium.org
>>>> wrote:
>>>>
>>>>
>>>> On 10/4/23 7:43 PM, 'Sahir Vellani' via blink-dev wrote:
>>>>
>>>> Contact emails
>>>> gerc...@microsoft.com, sahir....@microsoft.com
>>>>
>>>> Explainer
>>>> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/
>>>> PointerEventDeviceId/explainer.md
>>>>
>>>> Specification
>>>> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/
>>>> PointerEventDeviceId/explainer.md
>>>>
>>>>
>>>> Is there a more formal spec for this?
>>>> Any support outside of Microsoft that would enable y'all to move this
>>>> to the WICG?
>>>>
>>>>
>>>>
>>>>
>>>> Summary
>>>>
>>>> As devices with advanced pen input capabilities are becoming
>>>> increasingly prevalent, it is important that the web platform continues to
>>>> evolve to fully support these advanced features in order to unlock rich
>>>> experiences for both end users and developers. One such advancement is the
>>>> ability for a device's digitizer to recognize more than one pen device
>>>> interacting with it simultaneously. This feature is an extension to the
>>>> PointerEvent interface to include a new attribute, deviceId, that
>>>> represents a session-persistent, document isolated, unique identifier that
>>>> a developer can reliably use to identify individual pens interacting with
>>>> the page.
>>>>
>>>>
>>>> Blink component
>>>> Blink>Input
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInput>
>>>>
>>>> TAG review
>>>> https://github.com/w3ctag/design-reviews/issues/880
>>>>
>>>> TAG review status
>>>> Pending. TAG review has been pending for 2 months.
>>>>
>>>> Risks
>>>>
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>>
>>>> *Gecko*: No signal (https://github.com/mozilla/
>>>> standards-positions/issues/715)
>>>>
>>>> *WebKit*: No signal (https://github.com/WebKit/
>>>> standards-positions/issues/102)
>>>>
>>>> *Web developers*: No signals
>>>>
>>>> *Other signals*:
>>>>
>>>> WebView application risks
>>>>
>>>> *Does this intent deprecate or change behavior of existing APIs, such
>>>> that it has potentially high risk for Android WebView-based applications?*
>>>>
>>>> None
>>>>
>>>>
>>>> Debuggability
>>>>
>>>>
>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>> No
>>>>
>>>> Is this feature fully tested by web-platform-tests
>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>> ?
>>>> No. However, there are web tests in Chromium that test PointerEventInit
>>>> with this feature.
>>>>
>>>> Flag name on chrome://flags
>>>> PointerEventDeviceId
>>>>
>>>> Finch feature name
>>>>
>>>>
>>>> Non-finch justification
>>>> Edge origin trials successfully underway.
>>>>
>>>> Any Origin Trial feedback you can share?
>>>>
>>>>
>>>> Absolutely, the feature has been working well. Our partners (Microsoft
>>>> Whiteboard) have enabled the feature that is dependent on this API for
>>>> their general audience! We did not receive any constructive feedback. This
>>>> API is being used by them on Microsoft Surface Hub devices, which support
>>>> multi-pen inking.
>>>>
>>>>
>>>> Requires code in //chrome?
>>>> False
>>>>
>>>> Measurement
>>>> PointerEventDeviceId use counter implemented.
>>>>
>>>> Availability expectation
>>>> Initially available on Chromium browsers on Windows.
>>>>
>>>> Out of curiosity, are there limitations on other platforms that prevent
>>>> supporting this feature?
>>>>
>>>>
>>>> We haven't been able to get our hands on hardware that supports other
>>>> platforms in addition to multi pen inking in order to implement and
>>>> appropriately test this feature. We welcome any sponsors for implementing
>>>> and testing this, especially on Linux/Android.
>>>>
>>>>
>>>> Adoption expectation
>>>> Feature is used by specific partner(s) to provide functionality
>>>> immediately upon launch.
>>>>
>>>> Adoption plan
>>>> This feature has been through origin trials on Edge. It is being used
>>>> by partners that provide features on devices with multi pen support.
>>>>
>>>> Non-OSS dependencies
>>>>
>>>> *Does the feature depend on any code or APIs outside the Chromium open
>>>> source repository and its open-source dependencies to function?*
>>>> Operating system API's are used to obtain the device id, and are
>>>> necessary for this feature to function. Please see the security
>>>> questionnaire in the TAG review on security and privacy concerns related to
>>>> the use of these APIs.
>>>>
>>>> Estimated milestones
>>>> Shipping on desktop
>>>> 120
>>>>
>>>>
>>>> Anticipated spec changes
>>>>
>>>> *Open questions about a feature may be a source of future web compat or
>>>> interop issues. Please list open issues (e.g. links to known github issues
>>>> in the project for the feature specification) whose resolution may
>>>> introduce web compat/interop risk (e.g., changing to naming or structure of
>>>> the API in a non-backward-compatible way).*
>>>> WICG Proposal: https://github.com/WICG/proposals/issues/101 No web
>>>> compat/interop risk.
>>>>
>>>> Link to entry on the Chrome Platform Status
>>>> https://chromestatus.com/feature/5114132234240000
>>>>
>>>> Links to previous Intent discussions
>>>> Intent to prototype: https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/SA0PR00MB1033E5DE0BDE42239E647
>>>> E9AFB189%40SA0PR00MB1033.namprd00.prod.outlook.com
>>>>
>>>> This intent message was generated by Chrome Platform Status
>>>> <https://chromestatus.com/>.
>>>>
>>>> --
>>>> 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.
>>>> To view this discussion on the web visit https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/PH0PR00MB1349B7917876E7AC505E7
>>>> 90AFBCBA%40PH0PR00MB1349.namprd00.prod.outlook.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR00MB1349B7917876E7AC505E790AFBCBA%40PH0PR00MB1349.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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.
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/c8f16bc4-8d21-450b-9178-
>>>> 964cba818a68n%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c8f16bc4-8d21-450b-9178-964cba818a68n%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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+unsubscr...@chromium.org.
>>>>
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/8077a67d-4104-48c6-9f9b-
>>>> 09f9e6c8b022n%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8077a67d-4104-48c6-9f9b-09f9e6c8b022n%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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+unsubscr...@chromium.org.
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/13bad65e-6276-4567-b6e3-
>>>> 0961e44bc6d1%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/13bad65e-6276-4567-b6e3-0961e44bc6d1%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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+unsubscr...@chromium.org.
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/a/
>>>> chromium.org/d/msgid/blink-dev/cbc6e96b-0165-4e28-8f16-
>>>> 786f0dea7ac8n%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/cbc6e96b-0165-4e28-8f16-786f0dea7ac8n%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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.
>>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6afb2718-89f6-47d5-9052-d5ab2a8f849dn%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6afb2718-89f6-47d5-9052-d5ab2a8f849dn%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> 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.
>>>>
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8ac964b1-99a0-4c7d-b9eb-d02b26bdb306n%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8ac964b1-99a0-4c7d-b9eb-d02b26bdb306n%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
> 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+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/42fff33f-62b2-4179-82aa-177fc758f52bn%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/42fff33f-62b2-4179-82aa-177fc758f52bn%40chromium.org?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh39TN-1Rc%3Dt-%3DPXKP1t6VxLSpn8ieE4okPFy%2BVne%3DmMhoQHg%40mail.gmail.com.

Reply via email to