Contact emails
odej...@chromium.org, cho...@chromium.org, rei...@chromium.org
Explainer
https://github.com/odejesush/webusb-on-workers/blob/master/EXPLAINER.md
Spec
Pull request: https://github.com/WICG/webusb/pull/130
Spec preview: https://api.csswg.org/bikeshed/?url=https://raw.githubusercontent.com/odejesush/webusb/worker-integration/index.bs
Summary
The ability to use WebUSB on a Web Worker will enable the API to be used on Dedicated Workers and Shared Workers. This will let pages perform heavy I/O operations on a USB device on a separate thread so that it doesn't affect the main thread of the page with a Dedicated Worker. This will also allow an origin to synchronize the state of a USB device and share data received from the device using Shared Workers.
Motivation
At the moment, it is really difficult for pages of the same to share information about a USB device, as mentioned in the following GitHub issue: https://github.com/WICG/webusb/issues/73. This change would make it easier for developers to share the state of a USB device and data received from a USB device between users within the same origin. Additionally, it would allow developers to offload heavy I/O operations to the worker thread to allow their pages to run smoothly.
Risks: Interoperability and Compatibility
Edge: No signals
Firefox: No signals
Safari: No signals
Web developers:
There are positive comments in the Firefox bug for WebUSB: https://bugzilla.mozilla.org/show_bug.cgi?id=674718#c107
The Microsoft Developer feedback thread for Edge has mostly positive feedback with some negative comments on WebUSB:
Specifically for WebUSB on shared worker, there is also a positive comments in the following issues:
https://github.com/WICG/webusb/issues/73
https://github.com/WICG/webusb/issues/22
At the moment, only Chrome has implemented WebUSB, but there's seems to be support from developers for other browsers to implement WebUSB. As for Web Workers, Chrome, Firefox, Edge, and Safari have implemented the API. This change would only allow the two already defined specs to work together.
Activation
Developers that are already familiar with how WebUSB and Web Workers work should not have difficulty in taking advantage of this feature.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=732038
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/features/5928209916887040
Request approval to ship?
No
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b5a704df-7a84-4a61-92cb-1d5b838dcdb1%40chromium.org.
--
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.
it will be mediated by the document to which the worker is bound.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ef3a07f-3d9a-4832-9bb5-e2e873830e9f%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
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/b5a704df-7a84-4a61-92cb-1d5b838dcdb1%40chromium.org.
--
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/6cab7161-421f-4b78-8d18-bfd503f320d3%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b5a704df-7a84-4a61-92cb-1d5b838dcdb1%40chromium.org.
--
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+unsubscribe@chromium.org.
re: Shared WorkersI haven't heard a lot of strong interest from developers. It's unfortunately a bit of a chicken-and-egg thing - as Reilly notes, if all browsers supported Shared Workers and if they had client connect/disconnect events, then dedicated APIs like Locks and BroadcastChannel and IDB Observers wouldn't be necessary. One could argue we should push harder on rounding out the feature set for Shared Workers, but other browsers seem more amenable to adding small API primitives vs. adding such a big hammer. So we seem to be slowly chipping away at the need for it.Also, the set of developers who really worry about optimizing for multi-tab cases appears to be quite small - e.g. productivity apps on the scale of Google Docs. And those either are Chrome-only (so Shared Worker is fine) or already have workarounds, and most are somewhere in the process of migrating to Service Workers. With adoption of Service Workers by all browsers and the offline/responsiveness ability that grants, it pushes developers to a pattern of heavyweight, mostly independent tabs with lightweight, ephemeral coordination, rather than centralized and persistent application logic with multiple lightweight views. So... Shared Workers remain a useful tool, but there's dwindling incentive for developers to use it.
+Chrome Worker team for wider discussions.There are some concerns / objections regarding making the feature depending on Shared Worker (Cannot forward since it was on the internal mailing list).A summary of bullet points are:
- Shared Worker is only supported by Chrome and Firefox, and could face deprecation.
- Safari dropped support in https://bugs.webkit.org/show_bug.cgi?id=116359#c6 due to the lack of use cases.
- (No signal from Edge?)
- (Do we have signals from ChromeOS? It'd nice if they could be CCed on this thread)
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/b5a704df-7a84-4a61-92cb-1d5b838dcdb1%40chromium.org.
--
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.