If you haven't heard about this already, then let me be the first to give you a chuckle. Apparently, someone uploaded an application to the new Apple iPhone store called "I Am Rich". Priced at 999.99 (the highest price the store allows) it does basically nothing. If you click on its icon, which is shaped like a ruby, it displays a picture of a bigger ruby. The author makes no attempt to hide the fact that this application doesn't do anything. He is right upfront with this being $1000 for something completely useless. The application's sole reason for being is to display to the world that you are rich enough to toss down $1K on nothing. It is the 21st century version of lighting your cigar with $100 bills. Channel Web had a great article about it.
Two things really caught my interest here. First, that eight people actually paid for this. That's incredible. Even if you are Bill Gates-wealthy you don't throw your money away like that. The more important fact to emerge in this whole farce is that some of these people were not rich and did it because they thought it was a joke. Are you kidding me? At what point after they entered their credit card numbers in did this cease to be funny. Hello! It's not a joke when you pay serious money for it.
This leads me to the real purpose of this rant - idiot proofing. There has always been tons of talk in the engineering profession about making something idiot proof. As this situation shows, it simply can't be done. By definition, smart people don't understand how idiots work. They simply cannot conceive of the stupid thinks some people will do. Internally, they dismiss the really dumb behaviors of some people as being impossible. To themselves they say "There's no way anyone would do that". They might not even be able to think of something to mentally edit out because it is not how they would act or think. Just look around YouTube and you can see all the stupid things people do that a reasonable person wouldn't even be able to wrap their head around let alone come up with on their own.
Simply put: You can't predict what an idiot will do. You can only react to what they have already done.
You can, however, predict what a reasonable person will do. Even if the person is inexperienced you know they will act in a reasonable manner. As a reasonable person you can understand and predict that. You can say "Oh. I can see how someone would do that."
So, I want to advocate a different design philosophy called "reasonable person proof". Strive to make products such that you keep a reasonable person from doing reasonable things that are somehow harmful. If this product is in an area you don't know very well, ask people in that area what they might do. Observe normal people using your prototype in normal ways. If you design hammers, watch a carpenter hammer nails into a wall and come up with a way to keep the shaft from shattering. Don't try to keep a moron from getting hurt when he uses the hammer on his big toe to see what it feels like. (If you don't believe me on that one check out this video of a bunch of morons doing just that. All I had to do was go to YouTube and type in "hit toe with hammer." For the record I only looked for the video after writing the sentence but I digress.)
Rather then try and keep all manner of stupidhead from doing something completely dumb and harmful with your product, recognize that you can't predict that. Put on all those warning labels that cover you legally but don't try and design around it. It's a fools game (pun intended). Instead, assume that your customers are reasonable people and design for them. They deserve that attention. The idiots do not.
Oh, and everyone email Apple and tell them to put "I Am Rich" back on the Apple Store. Whether it's a demonstration of fabulous wealth or a honey pot for dummies, they should let us make the choice including the dummies.