Hacker News new | ask | show | jobs
by nezza-_- 60 days ago
WebUSB is so great.

I can ship a cross-platform application that accesses a hardware device without having to deal with all the platform specifics, and with decent sandboxing of my driver.

I think one way to make it more "secure" against unwitting users would be to only support WebUSB for devices that have a WebUSB descriptor - would allow "origin" checking.

5 comments

Yep, I’ve bought a few thermal printers recently and webusb support (marketed as Chromebook support) was a major deciding factor. Thermal printers aren’t well supported by built in printer drivers, so it’s nice to not have to install some questionable driver software with access to my whole computer and instead have a sandboxed chrome extension with enumerated permissions. I’ve also poked around the extensions’ minified js source out of curiosity and as a basic security audit

It was also nice trying out some RTL-SDR apps as soon as I got it without having to figure out how to build and install the Debian packages from source first.

It drives me nuts every time I have to switch from Firefox to Chrome to use webusb or webserial.

Yep. FlipperZero, Android, now some random chinese handheld radio - just some of the things I didn't have to install some crap unsandboxed app to flash in the last 3 months. Absolutely revolutionary.
This right here is the reason I like it and web bluetooth too, with them 'just working' regardless of platform I'm using. Miss me with some unsigned questionable app that only runs on windows as admin.
> I can ship a cross-platform application

And you can also un-ship it whenever you want, leaving users with unusable devices they paid money for.

You can ship an offline, standalone HTML file you can open in your browser too (this might not happen often but my point is it's not inherent to the technology)
That was always the case. Lots of “flasher” applications have had web dependencies where they’d download the latest firmware to a temp directory before flashing.
Let's please not (or at most, add a scary warning for non-tagged devices), as this would break the use case for at least all retrocomputing.
Aren't most retrocomputing USB devices running open source firmware? Adding a descriptor "WebUSB supported" is a few commits and a firmware update away.
that's not going to work for use cases like the https://webmd.pro where you're interfacing with hardware from other manufacturers
https://github.com/asivery/webminidisc

web.minidisc.wiki is the "official" version - lots of clones around.

Definitely not most MiniDisc players. I doubt mine even has updatable firmware!

This probably applies to many older (or even newer) USB devices as well.

This brings back bad memories of the old ActiveX "safe for scripting" mechanism.