Intent to Continue Experimenting: WebUSB

189 views
Skip to first unread message

Reilly Grant

unread,
Jan 11, 2017, 5:34:41 PM1/11/17
to blink-dev, experimentation-dev, web...@chromium.org

Summary

An Origin Trial for WebUSB was originally launched in Chrome 54 and was scheduled to continue through Chrome 56. The results from that Origin Trial are summarized in this document. As a result of feedback from that experiment changes have been made to WebUSB and we intend to begin another Origin Trial in Chrome 57.


Contact emails

rei...@chromium.org, owe...@chromium.org, jun...@chromium.org

Mailing list: web...@chromium.org


Spec

Editor's draft: https://wicg.github.io/webusb/


Motivation

To give hardware vendors the ability to develop and deliver hardware drivers on the open web platform. For example, hardware kits could be used in education by students simply connecting the device via USB to their laptop or mobile device without the need to install any device drivers or potentially dangerous software. An example library for enabling WebUSB support for Arduinos is already available and support for other embedded developer platforms is in the works.


Goals for experimentation

  • Is this API surface usable by developers?

  • What kind of devices or developers will want to use this API?


Experimental timeline

Enabled:

  • January 19th: Chrome 57 Branch to Dev

  • March 2nd: Chrome 58 Branch to Dev

  • March 14th: Chrome 57 Stable*

  • April 13th: Chrome 59 Branch to Dev

  • April 25th: Chrome 58 Stable*

  • June 6th: Chrome 59 Stable*


Disabled:

  • May 25th: Chrome 60 Branch to Dev

  • August 1st: Chrome 60 Stable*


* Stable dates are estimates: https://www.chromium.org/developers/calendar.


Any risks when the experiment finishes?

Websites will no longer be able to communicate with USB devices but there is no risk of special storage or user data being lost.


Ongoing technical constraints

None.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes or no.

This experiment will target all platforms except Android WebView.


OWP launch tracking bug

https://crbug.com/492204


Link to entry on the Chromium Dashboard

https://www.chromestatus.com/features/5651917954875392

Chris Harrelson

unread,
Jan 12, 2017, 1:22:51 PM1/12/17
to Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
Hi,

Is the goal to make it easier for hardware vendors to implement, or to narrow the API surface options/use cases? You mentioned one under Motivation and one under Goals.

Also, even if the experiment continues, I think there should be an explicit period where it is turned off, to avoid inadvertent compat issues.

Thanks,
Chris

--
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.

Owen Campbell-Moore

unread,
Jan 12, 2017, 1:57:16 PM1/12/17
to Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
I'll let Reilly chime in on the first questions, but RE: an explicit period where it is turned off - totally agreed, this is something we've agreed in recent discussions that should apply for all Origin Trials. All Origin Trials will be automatically disabled for one week to provide a clean break - FYI Jason sent an email to WPL this week with a proposed update to the Blink Launch process text that includes this.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/experimentation-dev/CAOMQ%2Bw95tSwrwUfHmYNYD3uCykX3Yu%3DjBhQ1YKfkW9DJt%3Dx7Nw%40mail.gmail.com.

PhistucK

unread,
Jan 12, 2017, 2:48:45 PM1/12/17
to Owen Campbell-Moore, Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
One week? Once? Because I do not see how a single week prevents a lock-in.
A cycle (six weeks) sounds more like a preparation period than a single week...



PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/experimentation-dev/CACjoXu4xHpLY4dhD-j9-PGNjDFsdAzZ3ThDLLVJ%2BsJ8BxXpJgQ%40mail.gmail.com.

Owen Campbell-Moore

unread,
Jan 12, 2017, 3:48:47 PM1/12/17
to PhistucK, Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
This was already discussed extensively at BlinkOn and we agreed on one week so unless we're learned something new I'd rather not re-litigate that specific decision. We believe that enforcing a week gap has big benefit as the guaranteed break givis teams the clearance to make any other breaking changes in the same process. Regardless, the proposed update to Blink Launch process for Origin Trials is probably a better venue than this thread for bikeshedding on the gap we enforce at the end of an Origin Trial.

Thanks!

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

Marijn Kruisselbrink

unread,
Jan 12, 2017, 4:33:42 PM1/12/17
to Owen Campbell-Moore, PhistucK, Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
Huh? This was discussed at BlinkOn? The only somewhat public discussion about this that I'm aware of is a thread on blink-api-owners-discuss (not sure why that wasn't also send to experimentation-dev@, where presumably external people that care about this hang out) from back in October (well after BlinkOn), where the conclusion seems to have been to instead hold the discussion at a google internal in person meeting. Maybe there was more public discussion after that that I missed, but as far as I know this proposed update to the blink launch process is the first public discussion of the one week break. So I don't think it is fair at all to shut this down as re-litigating a decision that was already made.
Regardless, probably that document is indeed the place to discuss this (did somebody already send a link to that document to experimentation-dev? I don't see it, but I might have missed it).

On Thu, Jan 12, 2017 at 12:48 PM, 'Owen Campbell-Moore' via experimentation-dev <experimen...@chromium.org> wrote:
This was already discussed extensively at BlinkOn and we agreed on one week so unless we're learned something new I'd rather not re-litigate that specific decision. We believe that enforcing a week gap has big benefit as the guaranteed break givis teams the clearance to make any other breaking changes in the same process. Regardless, the proposed update to Blink Launch process for Origin Trials is probably a better venue than this thread for bikeshedding on the gap we enforce at the end of an Origin Trial.

Thanks!
On Thu, Jan 12, 2017 at 11:48 AM PhistucK <phis...@gmail.com> wrote:
One week? Once? Because I do not see how a single week prevents a lock-in.
A cycle (six weeks) sounds more like a preparation period than a single week...



PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/experimentation-dev/CACjoXu6YyNFppBznD11EaK5skOA26g7AJhhtFLKO27Jc_XCrKA%40mail.gmail.com.

Owen Campbell-Moore

unread,
Jan 12, 2017, 8:35:32 PM1/12/17
to Marijn Kruisselbrink, PhistucK, Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
Just looked into this, I had misremembered. You're right, we have discussed Origin Trials at previous BlinkOns, but the in-person discussion on this specific topic was at a recent Google-internal Web Platform Leads convergence as there were a few Origin Trials topics the group was interested in discussing.

I apologize for misrepresenting that status and definitely welcome input on the proposed one week shut off period in the proposed Blink process update.

Thanks

On Thu, Jan 12, 2017 at 1:33 PM Marijn Kruisselbrink <m...@chromium.org> wrote:
Huh? This was discussed at BlinkOn? The only somewhat public discussion about this that I'm aware of is a thread on blink-api-owners-discuss (not sure why that wasn't also send to experimentation-dev@, where presumably external people that care about this hang out) from back in October (well after BlinkOn), where the conclusion seems to have been to instead hold the discussion at a google internal in person meeting. Maybe there was more public discussion after that that I missed, but as far as I know this proposed update to the blink launch process is the first public discussion of the one week break. So I don't think it is fair at all to shut this down as re-litigating a decision that was already made.
Regardless, probably that document is indeed the place to discuss this (did somebody already send a link to that document to experimentation-dev? I don't see it, but I might have missed it).

On Thu, Jan 12, 2017 at 12:48 PM, 'Owen Campbell-Moore' via experimentation-dev <experimen...@chromium.org> wrote:
This was already discussed extensively at BlinkOn and we agreed on one week so unless we're learned something new I'd rather not re-litigate that specific decision. We believe that enforcing a week gap has big benefit as the guaranteed break givis teams the clearance to make any other breaking changes in the same process. Regardless, the proposed update to Blink Launch process for Origin Trials is probably a better venue than this thread for bikeshedding on the gap we enforce at the end of an Origin Trial.

Thanks!
On Thu, Jan 12, 2017 at 11:48 AM PhistucK <phis...@gmail.com> wrote:
One week? Once? Because I do not see how a single week prevents a lock-in.
A cycle (six weeks) sounds more like a preparation period than a single week...



PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

Rick Byers

unread,
Jan 19, 2017, 4:33:21 PM1/19/17
to Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, Chris Harrelson, Reilly Grant, blink-dev, experimentation-dev, web...@chromium.org
Hey Riley,
We discussed this at the API owners meeting today.  Can you give us some details on how the feature has changed since the first experiment?  I.e. what different things will we learn by doing another experiment with the latest implementation?

From the doc I see that there's a relaxation around "WebUSB descriptors”.  Has there been a security review for this?  Any details you can share about the new threat model?

Thanks,
   Rick


On Thu, Jan 12, 2017 at 8:35 PM, 'Owen Campbell-Moore' via blink-dev <blin...@chromium.org> wrote:
Just looked into this, I had misremembered. You're right, we have discussed Origin Trials at previous BlinkOns, but the in-person discussion on this specific topic was at a recent Google-internal Web Platform Leads convergence as there were a few Origin Trials topics the group was interested in discussing.

I apologize for misrepresenting that status and definitely welcome input on the proposed one week shut off period in the proposed Blink process update.

Thanks
On Thu, Jan 12, 2017 at 1:33 PM Marijn Kruisselbrink <m...@chromium.org> wrote:
Huh? This was discussed at BlinkOn? The only somewhat public discussion about this that I'm aware of is a thread on blink-api-owners-discuss (not sure why that wasn't also send to experimentation-dev@, where presumably external people that care about this hang out) from back in October (well after BlinkOn), where the conclusion seems to have been to instead hold the discussion at a google internal in person meeting. Maybe there was more public discussion after that that I missed, but as far as I know this proposed update to the blink launch process is the first public discussion of the one week break. So I don't think it is fair at all to shut this down as re-litigating a decision that was already made.
Regardless, probably that document is indeed the place to discuss this (did somebody already send a link to that document to experimentation-dev? I don't see it, but I might have missed it).

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation-dev+unsub...@chromium.org.
To post to this group, send email to experimentation-dev@chromium.org.

Reilly Grant

unread,
Jan 20, 2017, 5:25:08 PM1/20/17
to Rick Byers, Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, Chris Harrelson, blink-dev, experimentation-dev, web...@chromium.org
The change we made for a second experiment was to relax the requirement that manufacturers update their devices with new descriptors listing which origins are allowed to connect. This has been reviewed by Chris Palmer and Dominick Ng (see here) on the security team and they have given us approval to make this change given that devices must still be selected via a chooser, which is the security mechanism used for our other new hardware API, Web Bluetooth, and is already a well-accepted mechanism for granting limited access to particular resources as exemplified by the file chooser.

We heard feedback from many developers that they weren't able to use the API since they are using off the shelf chips / devices, so we expect this to change interest levels. 

Our goal at this point is to continue to generate interest in WebUSB through outreach to developers who are building great demos demonstrating the benefit of this API to the Web Platform. At this point we've taken a close look at our goals for this experiment and decided that we can build this sort of momentum without an experiment so we're happy to un-intent this intent :)

I will be posting a patch soon to disable the WebUSB Origin Trial. It will still be available under chrome://flags/#enable-experimental-web-platform-features.

On Thu, Jan 19, 2017 at 1:33 PM Rick Byers <rby...@chromium.org> wrote:
Hey Riley,
We discussed this at the API owners meeting today.  Can you give us some details on how the feature has changed since the first experiment?  I.e. what different things will we learn by doing another experiment with the latest implementation?

From the doc I see that there's a relaxation around "WebUSB descriptors”.  Has there been a security review for this?  Any details you can share about the new threat model?

Thanks,
   Rick

On Thu, Jan 12, 2017 at 8:35 PM, 'Owen Campbell-Moore' via blink-dev <blin...@chromium.org> wrote:
Just looked into this, I had misremembered. You're right, we have discussed Origin Trials at previous BlinkOns, but the in-person discussion on this specific topic was at a recent Google-internal Web Platform Leads convergence as there were a few Origin Trials topics the group was interested in discussing.

I apologize for misrepresenting that status and definitely welcome input on the proposed one week shut off period in the proposed Blink process update.

Thanks
On Thu, Jan 12, 2017 at 1:33 PM Marijn Kruisselbrink <m...@chromium.org> wrote:
Huh? This was discussed at BlinkOn? The only somewhat public discussion about this that I'm aware of is a thread on blink-api-owners-discuss (not sure why that wasn't also send to experimentation-dev@, where presumably external people that care about this hang out) from back in October (well after BlinkOn), where the conclusion seems to have been to instead hold the discussion at a google internal in person meeting. Maybe there was more public discussion after that that I missed, but as far as I know this proposed update to the blink launch process is the first public discussion of the one week break. So I don't think it is fair at all to shut this down as re-litigating a decision that was already made.
Regardless, probably that document is indeed the place to discuss this (did somebody already send a link to that document to experimentation-dev? I don't see it, but I might have missed it).

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "experimentation-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to experimentation...@chromium.org.
To post to this group, send email to experimen...@chromium.org.

Victor Costan

unread,
Jan 20, 2017, 5:59:52 PM1/20/17
to Reilly Grant, Rick Byers, Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, Chris Harrelson, blink-dev, experimentation-dev, web...@chromium.org
On Fri, Jan 20, 2017 at 2:24 PM, Reilly Grant <rei...@chromium.org> wrote:
> The change we made for a second experiment was to relax the requirement that
> manufacturers update their devices with new descriptors listing which
> origins are allowed to connect. This has been reviewed by Chris Palmer and
> Dominick Ng (see here) on the security team and they have given us approval
> to make this change given that devices must still be selected via a chooser,
> which is the security mechanism used for our other new hardware API, Web
> Bluetooth, and is already a well-accepted mechanism for granting limited
> access to particular resources as exemplified by the file chooser.

While wearing my Web developer hat, thank you very much for the
relaxation! I'm quite happy that I'm able to work with my USB devices
without needing an explicit approval from the manufacturer!

Victor

Rick Byers

unread,
Jan 23, 2017, 3:35:35 PM1/23/17
to Victor Costan, Reilly Grant, Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, Chris Harrelson, blink-dev, experimentation-dev, web...@chromium.org
Thanks Reilly,

I agree this sounds like a fundamental change to the design which would benefit from additional experimentation. 
LGTM

Chris Harrelson

unread,
Jan 23, 2017, 3:49:47 PM1/23/17
to Rick Byers, Victor Costan, Reilly Grant, Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, blink-dev, experimentation-dev, web...@chromium.org
LGTM2 (though not necessary). Thanks for this info justifying the new experiment.

--
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.

Reilly Grant

unread,
Jan 24, 2017, 5:32:00 PM1/24/17
to Chris Harrelson, Rick Byers, Victor Costan, Owen Campbell-Moore, Marijn Kruisselbrink, PhistucK, blink-dev, experimentation-dev, web...@chromium.org
Thank you.

To mark the transition between the first and second experiments there will be a one week period for which the WebUSB API will be disabled. This will be accomplished by not issuing Origin Trial keys with a validity between March 7th and March 14th (the estimated stable date for Chrome 57).

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "WebUSB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webusb+un...@chromium.org.
To post to this group, send email to web...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/webusb/CAOMQ%2Bw-FRr0F4M9T%3DOf%3Dh73nx_3U2p-%2Bqh8wdTGgaa_p3ts%3DVg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages