Information architect Adam Greenfield wrote an essay recently about "ubiquitous computing," and what system designers need to think about in order for such technology to be seen as useful and acceptable, rather than oppressive and unwanted. As I did with Dan Bricklin's essay on designing software to last for centuries, I found the general rules that Greenfield articulates to have broader application beyond computer code. His five principles of "designing useful, humane instantiations of ubicomp [ubiquitous computing]" can be seen more broadly as good rules for designing humane systems of all sorts -- technologies and techniques which will integrate seamlessly into human life, not run roughshod over it:
It will come as little surprise that voting systems, particularly electronic voting systems, seem to me to be prime examples of violations of nearly all of these principles (it's unclear the degree to which electronic voting systems would violate rule #3, but I wouldn't put it past them). I'm sure we could easily come up with a variety of other systems (traveler security, for example) which breaks these rules, too. I'd hazard a guess that these rules are more likely to be broken than observed. Still, they make for a good set of guidelines for people who are trying to fix things.