In a fit of momentary enthusiasm for a project name, I figured I'd call it a little silver bullet, like silverbullette or silver pellet. I dashed off to inww and registered the domain name.
After a few "shiny poo" comments, the next morning I realised that I really didn't like the domain name. inww hadn't yet charged my Visa, so I wrote them an email asking for the domain registration to be changed to "srced.org".
They informed me that domain names couldn't be changed and that no refunds were possible and that I would have to go register a new domain name. It pisses me off that it's not possible to change a bit of data, because of procedural inefficiency. They didn't think of the customer asking for something like that, hence they have no procedure in place for it.
If they tried to put that procedure into place, the existing system would probably barf as it had no requirement to handle that kind of action. This poor interface leads to the one-way points, points where the user decides what they want and then are stuck with the consequences.
Before computers, it was possible to pull a piece of paper back from the out-tray, take a piece of paper from someone else's in-tray, or scribble notes in the margins when the form didn't cover something. Now, none of this is possible anymore. When I write an email and hit send, it's posted. I can't cancel the send, I can't get it back out of their email, I can't quickly scribble a correction onto the mail, etc.
Having no "undo" sounds so trivial, and yet I've just wasted $120 coz someone else's system doesn't have it. To avoid this kind of thing in future, I have to incorporate that one-way problem in someone else's system into my decision making process. My life is consequently that fraction more complex. Sure, it's my fault for buying the first stupid name in the first place, but wouldn't it be nice if they were capable of accomodating my request?
Computers are having a more direct impact on society than I imagined possible. No "undo" in a program equals no "undo" on a sales request equals poorer service. I'm used to affecting other people's lives with my computing skills, but I'm not used to having my life screwed up by deficiencies in other people's computer systems.
Programmers are used to be being the programmers and other people are the users. Now society is being computerised, programmers are users just as much as anyone else.
Good systems architecting and programming practices is as vital, if not more so, than engineering or architecture. A building falling apart kills a few people. Bad computer systems grind down the whole of society in a morass of ever-increasing difficulties and friction. The computer failures that have led to rocket launches failing are only a glimpse of the money being wasted by inefficient computer processes.
Put a good user interface on your systems and improve the quality of your own life!