Carl Lowenstein wrote:
You got it. < http://www.ietlabs.com/Genrad/GR874.html >
If you can find a copy of Jef Raskin's _The Humane Interface_ see p.
200 for his re-invention of the GR 874. See also p. 195 et seq. for a
discussion of connector issues and his design of a 4-conductor
hermaphroditic connector.
And all those recommendations nicely ignore all that "boring"
engineering stuff.
In the case of USB, there are disintinctions between downstream and
upstream because a USB system is a controlled *tree* with a single
master. Thus, a hermaphroditic or symmetric cable would allow people to
plug things in wrong. This was done to reduce the silicon cost of
implementing a USB interface.
In Firewire, it is a fully peered *chain*, so symmetric cabling works
just fine. However, the silicon cost of engineering a Firewire
interface was significantly greater at the time.
Since then, both interfaces hae dropped to approximately nothing in
terms of silicon cost, but that's *now*, not *then*.
As for individual connectors:
Ever notice that USB and Firewire don't have freestanding pins? That's
for a reason (insertion reliability because no bent pins).
Ever notice that the contacts like to be paired? That's for a reason
(signal integrity balancing).
Ever notice that these things like to be planar? That's for a reason
(reduces mechnical stress on PC boards when getting plugged in).
Ever notice that these things really try to make contact with a large
piece of metal before the pins get contacted. That's for a reason
(discharge ESD and contact ground for hot plug).
And, BTW, these things have to get *standardized* while technology is
continuing to move ahead. So, the design has to be workable in old
technology even though modern technology could probably do lots better.
A lot of very smart people worked for a long time to come up with
something which improved the human factors while still meeting the
engineering factors.
If the "human factors" people had to actually pay attention to
engineering constraints, they will come up with something pretty close
to what we currently have.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list