Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

We have been using WebUSB extensively for 4 years now, and we are extremely happy with the result so far. We make a graphing calculator and we want our users to be able to easily update it. We considered a bunch of options, and WebUSB definitely was the best [1].

This article is a bit old, but since then the situation as become even better: - Windows 10 is being more and more popular, so WebUSB really is a "plug and play" solution on Windows now too - Windows comes with Edge that also has WebUSB support

I really with Firefox would include it too!

[1] https://www.numworks.com/blog/webusb-firmware-update/



ESPHome uses WebSerial[2] to flash microcontrollers via the browser, saving the user from having to install a whole development environment and whatnot to do the initial firmware upload.

Super slick from a user POV, just connect the device via USB cable and hit the flash button. I admit I was a bit skeptical to all this, but having just tried it I must admit it was very, very convenient. The ESPHome instance was running as a container on my Home Assistant device, again a simple one-click install.

[1]: https://esphome.io/

[2]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_...


That's super cool! WebUSB is something I'm really interested in learning and WebBluetooth. Cross platform apps that need sensor access is a bit of a pain and the web seems like a no brainer to solve that.

Also cool to see a competitor to Texas Instruments. I'm in the USA and had to get TI calculators for classes.

> Firefox would include it too!

That'd be nice.


Thank you for linking to NumWorks. Everything about that product seems of extraordinary high quality. The code, the open hardware build specs, very nice!


How come your Windows use case didn't require Zadig? I couldn't get any USB device to work via WebUSB without it.


They probably use WCID, which is a mechanism for devices to tell Windows that they are compatible with the generic WinUSB driver. Zadig is useful for older versions of windows, non-WCID devices, and when you want to override that auto-specified driver.

Here's more information from the author of Zadig: https://github.com/pbatard/libwdi/wiki/WCID-Devices


They mentioned below that they have their own devices they can control. As I understand it, for those kinds of IoT usecases the workflow is easier because, instead of overriding the driver defined by the OS, you can define WebUSB-compatible descriptor that will "just work" across all platforms.


>Windows 10 is being more and more popular,

Hasn't Windows 10 been a thing that's come and gone now in favor of Windows 11?


Windows 11 has made a lot of questionable choices that are leading to a lot of people staying on Windows 10 voluntarily.

Windows 11 has additionally made a lot of questionable choices that are forcing a lot of people to stay on Windows 10 involuntarily (e.g. they don't support motherboards w/out TPM's and they don't officially support CPUs that aren't relatively new; e.g. it only "supports" Intel CPUs that are 8th gen or newer regardless of cores/frequency)


"People are staying on [previous Windows] due to problems and questionable choices made with [new Windows]." The claim stays the same, but the version keeps incrementing. I'm not convinced this is a thing in meaningful numbers.


The numbers are quite easily available to check. On Steam, Win11 is at 10% vs Win10 at 81% (december 2021). Look at how long Win7 stuck around (it's still above 3%!) and back then, Win10 had actual benefits over Win7. This time, the upgrade is a regression across the board.


Yeah, 11 is currently just a buggy beta for some bad UI changes. That will hopefully change in the future, but right now it has basically nothing on its feature list to counteract the problems. If you don't use WSL2 then... there's better HDR support sometimes? And the android app thing doesn't count until it's in release builds.


For starters, Windows 11 has vastly better search, nicer UI, and improvements to multi-monitor support. I have no regrets about updating.


Multi-monitor support that...removes the clock from non-primary displays... Also still no sign of tray icons, keybinds for moving windows between monitors or anything else that was already possible since Windows 7 using DisplayFusion.

Search that is significantly slower than win10 while being "vastly better" only because win10 search was straight up non-functional and win11 can at least find what you're looking for (whether it's in a reasonable order and doesn't reshuffle with every keystroke seems to be a gamble each update).

"Nicer UI" that only a minority of users actually like, removes support for very common configurations, some of which are objectively more efficient for certain use-cases (side taskbar, ungrouped windows...).

Don't get me wrong, if it works for you, that's great! But make no mistake, Windows 11 is a complete dumpster fire from a UX perspective.


> vastly better search

I suppose, but I refuse to give it any credit for finally fixing the search that worked fine over a decade ago.

The rest is pretty marginal.


You can't tell the taskbar to "never combine" in Windows 11.

That alone is enough for me to hate it.


Snap Layouts are also excellent.


>e.g. they don't support motherboards w/out TPM's and they don't officially support CPUs that aren't relatively new; e.g. it only "supports" Intel CPUs that are 8th gen or newer regardless of cores/frequency

Can we please end this FUD that keeps parroted over and over?

Microsoft themselves mention that TPM 2.0 and CPU model requirements are just soft-requirements checked if you go the upgrade path but are not enforced if you do a fresh install from image[1] when only TPM 1.2 is the single hard requirement, but every CPU after 2011 should have it. I installed from image Win 11 on multiple PCs with chips way older than Intel 8th gen and had no speedbumps.

[1] "Important: An image install of Windows 11 will not check for the following requirements: TPM 2.0 (at least TPM 1.2 is required) and CPU family and model."

[1] https://support.microsoft.com/en-us/windows/ways-to-install-...


On the other hand, from that page:

>We do not recommend installing Windows 11 on a device that doesn't meet requirements.

And on a linked page: https://support.microsoft.com/en-us/windows/installing-windo...

>Installing Windows 11 on a device that does not meet Windows 11 minimum system requirements is not recommended.

>If you proceed with installing Windows 11, your PC will no longer be supported and won't be entitled to receive updates.

---

I would update to Windows 11, but the possibility that I will stop receiving updates (or that at some point updates will no longer be compatible) makes it unappealing.


"Support" refers not to the ability to make the installation, but rather whether or not Microsoft is going to spend energy making sure their OS works well on the given configuration.

The fact that they straight up say that these configurations may not be eligible for auto-updates is very much saying they do not support these configurations.


Steam hardware survey from December 2021 shows 81.74% Windows 10 64 bit, 10.15% Windows 11 64 bit. I would guess that Windows 11 is overrepresented among Steam users compared to Windows users in general, but that's just a guess.

https://store.steampowered.com/hwsurvey/Steam-Hardware-Softw...


Oh, well, maybe :) My point was that in Windows <= 7 you needed to install a custom driver to allow WebUSB to work with your specific device. From Windows 8 and up, you can use WebUSB to talk to your device without installing anything at all, which makes it a lot easier for the end users!


Unfortunately, that's not entirely true. If your device is designed for WebUSB and has its specific descriptor, then yeah, you don't need to change any drivers.

However, as mentioned in the article, if it's a "well-known" device, then you still need to use Zadig and override the driver to something like WinUSB.


Yes indeed. But if, like us, you have full control over how your device operates, then you at least have a path to make it plug'n'play on Windows > 7. Before that, we were out of luck.


Ah yeah, that should be easier! I was mostly coming from the perspective of trying to get DSLR working in the demo :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: