You know what I'd love? A tool that lets me identify what USB-C features a cable supports. As I understand it there are multiple cable variations, but it's not possible to identify visually.
It would be even cooler to have a device that you could plug into a port to identify what USB-C features the host supports, but I don't know if that's possible.
In general I like USB-C, but having such a large mix of capabilities without an easy way to identify what's supported is a big pain point.
Between USB-C and mSATA/mPCIe/M.2 it seems like in just few short years the state of hardware UX reverted from "match the shape to the hole" to "buy pre-matched / pre-assembled and don't you dare lose or mix/match anything." What happened? Psychoactive substances in the water? Hostile takeover of the standards bodies by marketroids? Anyone here have an inside perspective?
When engineers see 5 different physical ports, they want to consolidate, because there's no good reason for them to be different, and there are real benefits to be gained by having them all the same.
E.g., Stuart Cheshire (Chairman, ZEROCONF Working Group), 2002: "My hope is that in the future — distant future perhaps — your computer will only need one wired communication technology. It will provide power on the connector like USB and FireWire, so it can power small peripheral devices. It will use IP packets like Ethernet, so it provides your wide-area communications for things like email and Web browsing, but it will also use Zeroconf IP so that connecting local devices is as easy as USB or FireWire is today. People ask me if I'm seriously suggesting that your keyboard and mouse should use the same connector as your Internet connection, and I am."
It's a great vision, but unfortunately, on the path from here to there, features get cut. If your product needs to support 5 different protocols, and you have to cut 1 to ship on time, that's still pretty good as far as your own product is concerned (80%!). If every manufacturer does this, though, you end up with a mess of cables and connectors that aren't quite compatible with each other -- and users are more miserable than before this whole exercise started.
I don't think anyone wants their USB-C device or cable to be intentionally incompatible with another USB-C device or cable. They just don't make 100% compatibility a hard requirement.
When engineers see 5 different physical ports, they want to consolidate, because there's no good reason for them to be different, and there are real benefits to be gained by having them all the same.
Only certain engineers. Don't group the ones who love gratuitous complexity and "value engineering" with those who think complex standards like USB-C are a horrible idea and would rather have separate and simple interfaces.
There's a reason RS-232/485 (along with good old D connectors) are still extremely prevalent in non-consumer equipment.
I think that's a very developer-heavy perspective. As a user who doesn't know anything about hardware communication standards (lucky me, perhaps?) I think the fewer connector types there are, the better.
With a single USB OTG cable I can connect almost any peripheral to my phone, including my XBox 360 controller and my endoscopic camera. Why not a monitor as well? Why do they have all these other weird non-USB connectors like HDMI and DVI? I'm sure there's a good answer from a developer's perspective but from a user perspective or makes perfect sense for there to be a single connector to rule them all.
Edit: another example is that sometimes I connect more than one mouse or keyboard to a single computer. Imagine if there were still dedicated ports for each type of peripheral – would I need to buy a special motherboard with two mice slots? Or a mouse port expansion card? What a nightmare.
Completely interchangeable cords for everything is an excellent goal that everyone agrees would be a beautiful thing. That idea/direction is not what we're criticizing. It's the implementation that we're criticizing. In particular, the implementation that still requires separate cords for separate tasks (because each USB-C cable supports an unknown subset of the capabilities) but removes the labels and visual / physical cues that you could use to identify which tasks it supports. Not only does this fail to achieve the dream, it fails to even live up to the previous generation.
Eventually we'll reach the dream and it will be great, but there was no need to jump in the pit of spikes on our way there. It wasn't blocking the road, it wasn't camouflaged, it was out there in the open, and the USB-C guys decided it would be fun to jump in. Why?
And to think that USB was designed to kill Firewire and require a PC-in-loop because Intel was scared of peripherals that could talk to each other w/o an intermediary!
Now we have those smart peripherals and 20x the complexity. Thanks Intel. And thanks Apple for making Firewire too expensive.
In my alternate universe my home AV equipment networks with GPIB and 1Ge PoE with SCTP.
"People ask me if I'm seriously suggesting that your keyboard and mouse should use the same connector as your Internet connection, and I am."
We already had the technology to do that decades ago or more. If I had the right power and influence, I'd take the Ethernet connector and magnetics, make it smaller, add default POE support then release the smallest possible IP stack so that it can be implemented on small microcontrollers too. Very small devices would talk IP only, bigger ones can add upper protocols such as TCP, UDP etc. All that while gradually phasing out USB.
This way we would have open protocols on open media with some peculiar advantages over USB, openness aside: near realtime, stackable (add a layer and you go to the Internet), intrinsic security (USB devices are getting more complex every day, yet there's no such thing as a firewall against malicious ones; Internet protocols support filtering by default), galvanic signal isolation (excellent for instrumentation or audio stuff) and the cable can safely extend a lot more than USB ones. Where low power consumption is vital, magnetic transformers could be swapped with optocouplers.
Except for cost or being "too open to be profitable" (royalties) I don't see a single reason why a beefed up Ethernet shouldn't replace USB entirely.
It wouldn't, though. Instead, it would collapse under the weight of IP's management capabilities and worst-in-class feature creep. Despite decades of effort by people like Stuart Cheshire, getting two computers to talk over ethernet is still orders or magnitude more difficult than getting them to talk over a thumb drive. Why would I want that for my mouse, keyboard, and display?
Don't get me wrong, I've read Cheshire's zeroconf book and I'm a big fan of zeroconf IP and mDNS, but technological solutions to these problems are a dime a dozen. Political coordination is the difficult problem and from that perspective mDNS hasn't succeeded (Windows). The network guys can't even coordinate well enough to get name resolution working and I should trust them with doing application-layer coordination competitive with USB and PCIe? Please.
I urge you to look at IP (v6) stacks that are small enough to be feasible on small microcontrollers, or even better, their spec, e.g. 6LoWPAN, and all the trade-offs and shortcuts they have to make.
Then, re-evaluate if the increased complexity and energy consumption is worth it, e.g. just for a mouse or keyboard.
Then go ahead and specify how you want this spec to have comparable compatibility modes to USB-C, e.g. if you are going to run displays and external hard drives, as well as HIDs and power...
Considering the alternatives, USB-C is not too shabby for the intended uses.
I didn't have mice or keyboards in mind, but yeah, a full stack would be surely overkill for their minuscule uCs; this would call for more intelligent devices, peers rather than slaves, which for smaller ones would be a problem now.
I'm far from an expert and you're 100% right on the involved complexity, still I dream of a standard for devices and systems where just adding a software layer can extend a board to board communication to a geographic level, and Ethernet seems very close to that.
The temptation to "standardize" 20 different indistinguishably incompatible variations of anything is not new. The last several HW generations did a pretty good job resisting it, though, and this one emphatically does not. Something changed. I'm wondering what that "something" was.
I think that "something" is the expectation of wireless takeover for nearly all _consumer_ use cases and the ensuing competitive landgrab over future protocols above the PHY layer. It's an unguided attempt to see what sticks in the interim as part of this peculiar technological purgatory.
Specifically motivated by certain interoperability and regulatory floodgates being opened _worldwide_ such as high bandwidth line-of-sight spectrum becoming unlicensed, vast-area indoor-penetrating national digital dividends from band compaction transitioning TV broadcasts away from wasteful allocations, and (at least the US) militaries becoming frustrated enough with industry in prioritizing the supply chain for hyper-specialized and thus useless-for-DOD- R&D consumer circuitry rather than general purpose hardware that there is essentially an unspoken implicit nod to defense contractors where fulfilling the requirements of reconfigurability will land you the necessary political backing to avoid the business trap of previous administrations' regulatory bodies shutting down your tech and revenue-generating capacity.
Then of course there's the growing trend of consumer choice towards wireless technologies, such as forgoing traditional ISPs for mobile broadband LTE which today is fairly on-par or even lower than many wired WAN connections in terms of latency after the backend transition to an all-IP core network with far improved reliability, robustness, mobility, shareability, and flexibility in choosing MVNO bandwidth resellers that will now offer low-cost reasonable rate-limited wireless pipes to the Internet without the bullshit of yesteryear.
Anyone who isn't susceptible to advertising gimmicks knows that with improved latency, today's cheap rate-limited "unlimited" bandwidth is perceptually infinite for the amount of data that a human brain can even process. As long as you choose your 'data providers' carefully and eliminate unreasonable people from your social circle such as 'audiophiles' or 'videophiles' who insist on conspicuous-data-consumption for snob appeal and completely block all the malvertising, tracking junk, and generally clueless companies with anti-hero images or insane JS dependency webs, you can have a far better UX time on the 'Net than anyone else.
Then add in all the technical improvements rapidly happening in the past few years: wireless PAN peripherals for a better connection UX, compact high-density rechargeable batteries, industry adoption of inductive wireless charging outside of niche cases like water-immersible toothbrushes, low-energy wireless transmission developments such as building on mature RFID back-scattering techniques as a legit form of transmission when coupled with processing-intensive error correction and noise-immunity coding that are becoming much more feasible now even for lowly uCs, and software-defined radios becoming extremely commonplace due to cheap/fast reprogrammable logic and the availability of common open-source low-level networking stack components available exclusively in software such as Linux's softmac or GNU Radio blocks.
Finally mix in politics and business realities such as Chinese-workarounds to any current and future DMCA-enforced IO-DRM, lessening grip of FCC authority against technical-workarounds to government spectrum mismangagement, public awareness of things like TEMPEST surveillance which removes one of the last selling points of wired devices as privacy enhancements allowing consumers to finally jump ship into the deep crypto waters, and the drive for miniaturization of cables and connectors is physically at odds with things like realizable tensile strength, power dissipation, heat tolerance, shielding requirements, and the humorous scenario with IO pads on a silicon die eventually consuming far more real-estate than the processing circuitry itself all while the logic transistors switching at GHz rates are far more effective radiators of high bandwidth and potentially high goodput, assuming competent software engineers that can modulate those stray emissions instead of requiring another pass of electrical engineers to remove that capability with filters to comply with regulations, once you factor in the signal loss from the impedance mismatch between small logic and huge external pins going the wired route.
The original designers thought people would just make uber cables with full support. Manufacturers noticed they could shave off a few cents removing support for features "nobody uses".
Did they really expect every cable to have an active chip in it just to support 5 amps instead of 3?
And it should have been obvious that charging-focused cables with no superspeed lanes would exist.
When it comes to different qualities of wire, and Superspeed vs. Superspeed+, I'm ready to blame the manufacturers. But is that actually a problem in practice? Are there 1 meter cables that have been tested to not support Superspeed+?
And the mess of what-supports-what with thunderbolt speeds is definitely Intel's fault.
The less you twist the cable the less wire you use - but at the cost of noise. Manufacturers have no problems making the cheapest cable that just barely negotiates at the lowest speed level.
Like with SD card speeds its a hard sell on the store shelf to get the more expensive one. People don't know how Superspeed vs Superspeed+ is going to affect them. Plus given the markup at Best Buy people can barely afford the cable as it is.
I always found it funny Fry's has a separate cable section near where they sell soldering irons for people who know better.
This is how market competition works. When choosing which product to buy, a few people do in-depth research, but most people just look at what is immediately obvious. If a difference in features or quality isn't readily apparent at this stage (and/or the buyer is not educated enough on the subject to understand/appreciate it), then it doesn't provide a competitive advantage.
Put another way, people will not buy a product just because it is better. It only matters if it is better in a way that is hard to miss in the short time (think 15 seconds or something) that someone might spend deciding which product to buy.
This is one reason competition isn't a silver bullet for ensuring the best products win.
That's assuming there is no iteration. The people who buy products without doing the research get burned and so next time they do the research.
There is no easy way to avoid this. If all somebody knows is that they want a "video cable" they're going to come home with an RCA cable. At best you have someone you trust who can answer your questions, at worst you pay the cost of learning for yourself.
You're probably right, but the temptation to sacrifice HW UX for features isn't a new phenomenon yet the equilibrium seems to have shifted noticeably in the latest HW generation.
For $34, that looks pretty good (though I hate that we need this). I'd pay much more for something that could do signal integrity measurements on the cable as well.
Probably offtopic, but do you know if there's any relationship between RDTech and YZXStudio? They've got very similar designs, but RDTech doesn't seem to be a "simple" cloner.
They copy some parts of design from each others, that's different culture of innovations in China. Bunnie has some explanations of that phenomena tagged 'gongkai' https://www.bunniestudios.com/blog/?cat=20
I figured it was something like this. I wonder how you distinguish gonkai from straight up cloning though. For the USB C board that I posted in this thread, the copies have taken the text but they're missing half the features - not an improvement
> I'd pay much more for something that could do signal integrity measurements on the cable as well.
And how do you propose performing such measurements for any less than the minimum 6-digit entry cost to acquire the necessary calibrated instruments for any meaningful test that might be considered proper?
It would be even cooler to have a device that you could plug into a port to identify what USB-C features the host supports, but I don't know if that's possible.
In general I like USB-C, but having such a large mix of capabilities without an easy way to identify what's supported is a big pain point.