4 ms·
> I can count the times I've needed WebUSB or WebSerial on one hand There are many things that would be possible with WebUSB that current browsers make impossi
by jwr 2y ago
> I can count the times I've needed WebUSB or WebSerial on one hand
There are many things that would be possible with WebUSB that current browsers make impossible. My personal example is label printers: I would love for my SaaS app (PartsBox, https://partsbox.com/ https://partsbox.com/) to be able to print labels, but there is no way to access a printer from a browser other than through the "Print…" dialog, which is no good if you need to send ZPL2 commands to a Zebra label printer.
WebUSB is not necessarily the best imaginable solution to that problem but it would help.
I don't want to tell my users to use Chrome. But Firefox doesn't make my life easy (see also https://bugzilla.mozilla.org/show_bug.cgi?id=896666 https://bugzilla.mozilla.org/show_bug.cgi?id=896666 — a bug opened 12 years ago, about Firefox closing websockets when the user clicks a download link).
- shermantanktop 2y agoIsn’t that what printer drivers are for?
- dymk 2y agoWhy install and run some arbitrary blob that has full access to your computer, when you can open a web page and grant access to a single device?
- tiagod 2y agoYes, and they run with kernel level permissions.
- jwr 2y agoYes, and how would you talk to those from a web browser? Again, the "Print" dialog is not the right way for labels: there is no way of guessing of what it will do to your formatting, or whether it will choose to print A4-sized stuff on labels.
- shermantanktop 2y agoSo every website that prints labels should solve that separately? There is an age-old problem here: how to take content on the screen and produce a printed artifact. It’s not easy, and everyone hates printer drivers, and kernel permissions, etc. But if you want any portability of content at all, you need something like a print dialog and something like a printer driver. All the WebUSB stuff is just embedding those problems into the application.