> USB is a great standard. Or at least, was until 2.0. [...] Unfortunately USB became too complicated with the various modes and backward tidbits
Fortune had nothing to do with it.
USB's deliberations on packets were distinctly underdeveloped. PCI's were well developed. USB got it wrong. PCI got it right. The compatibility complexity explosion in USB and lack thereof in PCIe is a direct result.
This pattern continues across every single stratum of the standard that I dug into. Why?
(Every single stratum except the app layer. As you note, PCIe does not operate there and USB does.)
> It was ahead of its time in performance
I thought USB was always in the value segment and never competed on performance. That's the stated intent and that's what I remember: it was never the fastest external port on my computer.
> If you compare the first USB standards to other standards of the era, the amount of thought that has gone into it is fantastic.
My entire complaint compares it to PCIe and notes the comparative lack of thought.
> Compare it to the clusterfuck that's Bluetooth
Agreed, Bluetooth is worse. Maybe clusterfuck is the default state of affairs.
The question, then, is if there's anything to be learned from the USB/PCIe dichotomy. Is there an Engineering Steve Jobs keeping the PCI-SIG in line? Does it have fewer members? Is having one dimension on which you do not compete in the value segment critical to maintaining overall quality? I feel like there's a case study to be had, but I don't know enough to rank the causes or generalize with any certainty.