3 ms·
It's hard to imagine how this kind of problem gets solved, but I think it's a good example of a problem that I've seen in software again and again: defining the
by pschuegr 3y ago
It's hard to imagine how this kind of problem gets solved, but I think it's a good example of a problem that I've seen in software again and again: defining the technical capabilities of a platform is separate from defining the interface that should be provided to consumers.
In this case, imagine that the working group defining USB5 had a complementary working group that picked a sensible set of capabilities and said: your cable will either support power at X watts and data transfer at Y GB/s or it will support Z watts and N GB/s, or it will NOT be considered a standard USB5 cable. (maybe there are more than two specs but you get the idea).
One of the traps for technical people is assuming that everyone will understand/care about the details in their head, and be able to make good decisions for end users. Your system is not that important to other people and you should always provide best practices and worst practices (if you do this you better be an expert who understands the tradeoffs). You're not done until you've provided guide rails for the people using your tech, and that becomes more important the less technical they are.