For decades, my perception of USB was that of a technology both simple and reliable. You plug it and it works. The two first iterations freed PCs from a badly fragmented connector world made of RJ-45 (Ethernet), DA-15 (Joystick), DE-9 (Serial), DIN (PS/2), and DB-25 (Parallel).
When USB-3.0 came out, USB-IF had the good idea to color code its ports. All you had to do was to “check for blue” in the chain to get your 5 Gbit/s. Even better, around the same time were introduced type-C connectors. Not only the world was a faster place, now we could plug things with one try instead of three.
Up to that point in time, it was a good tech stack. Yet in 2013 things started to become confusing.
USB and ThunderBolt have become incredibly complex, and it feels like a lot of this could’ve been avoided with a more sensible naming scheme and clearer, stricter specifications and labeling for cables.
It’s a tough gig for Devs to wade through this mess, and it’s made worse because most end users are oblivious to the meaning of the USB port colours.
We have NUCS in a lot of workstations, and all have the black blue and yellow ports to delineate functionality, yet as regularly as clockwork I’ll find someone’s rechargeable mouse or keyboard is dead because they have the USB Keyboard/Mouse dongle in the yellow standby-power port and they plugged the charge cable into the blue USB 3.0 port overnight, or they complain about slow external drive performance and they have a USB 3.0 pocket drive plugged into USB 2.0. Yes, of course I know, they dismissed the warning message the first time they connected, but that’s end users.
Nobody ever overtly and publicly explained to the end users what black, blue and yellow ports mean, which I think in the end was one of the driving influences behind the industry connector change, that and increasing power demand!
Of course some say make all the ports USB 3+ and standby, but then that’s a hardware resource issue. Imagine what you’d do to the energy budget of the nearest skyscraper, and the base cost of the device. For me the biggest long term issue is power, most of the new standards already have all the data functionality most people and applications need.