Remix.run Logo
realusername 2 days ago

There's a lot of good use-cases of Web usb, you can't just cut everything which might have privacy aspects otherwise the browsers wouldn't have canvas or even gpu rendering.

galangalalgol 2 days ago | parent | next [-]

What are those use cases? It seems like a giant hole punched all the way from a tab's sandbox through the process boundary and out to the kernel... Yes, gpu rendering is a great example of the same problem. Canvas at least has some intervening layers depending on implementation.

thayne 2 days ago | parent | next [-]

Almost all of the gui software for programming keyboards with QMK uses webusb or webhid, so you either have to use a chromium based browser or an electron app that is basically just a wrapper for chromium.

tmtvl 2 days ago | parent [-]

Yeah, it's a shame Qt/C++ doesn't have any way of interacting with USB devices and there's no libraries for that, otherwise there could be a native GUI app for QMK. Or failing that, because Qt is simply too difficult for programmers to figure out, maybe some day there will be a way to deal with USB devices from Java, then at least we could have an AWT app (or I guess Swing is the new hotness now?).

thayne a day ago | parent [-]

Yeah the fundamental problem is there isn't a good way to write cross platform applications that interface directly with a usb device

nothrabannosir 2 days ago | parent | prev | next [-]

pianu.com used to be a website where you could learn piano by connecting your piano through usb with the browser. It seems defunct now but I found a video demonstrating it : https://www.youtube.com/watch?v=kTBmRV02NgI

I used something similar in the past. It was a legitimate use case for web usb which changed my mind on it quite a bit.

https://www.charachorder.com/ sells ergo keyboards and allows you to update their firmware directly in the website, through web usb. No local apps at all. Also an improvement in overall security from having to download some .exe / .dmg and running it locally.

realusername 2 days ago | parent | prev [-]

GrapheneOS for example can install with web usb, I think it makes it much easier for people who aren't too tech savvy to switch.

Somebody also recently shared an awesome project which let's you use an usb printer regardless of your OS driver.

yjftsjthsd-h 2 days ago | parent | prev [-]

There's a reason that https://addons.mozilla.org/en-US/firefox/addon/canvasblocker... exists, though; a reasonable person could argue that firefox should be restricting canvas/gpu more than it does.