"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
Detailed notes in Flashing Red Letters? I hope you've read the WCAG 2.0 detailed guidlelines on photosensitive epilepsy. To generalise, no more than 3 iterations of a flashing nature within any time unit of a second, where the colour of the font is Red. y'know! :)
If you make it idiot proof, they will come up with a better idiot
I write pages of documentation, including screen shots to note each step and I still get calls that start with "Where is the file menu?" I have actually fired a client because they were too stupid and no amount of money they paid me was worth the 5 hours a week I had to spend on basic computer skills. My new client contracts inform clients, that if I have to teach them basic computer skills, I will bill them at $300.00 per hour.
User: Can you write something to check if an order is really in the database? Me: Why do you want to do that? User: When we have lots of orders to delete, we have to check each one before we delete it. Me: Why don't you use mass_delete.pl? User: Oh, that hasn't worked for a couple of months. Me: Why didn't you mention this before ‽‽‽
I used to have a PHB who was a wizard at breaking applications. I wrote an application in Perl to allow "self service" updates of information in our LDAP directory. Once they authenticated and if they had the privileges to do so they could also add new entries and/or delete entries.
I thought the code was 100% bullet proof. Error checked every piece of data that was gathered by the UI and did "does this make sense" types of checks on groups of data. No way this can break.. right?
Enter the PHB. Within three minutes of using the app to enter new people into LDAP he managed to break the app. Fortunately the default action on error was to put up a page that said "An unfortunate turn of events have occurred resulting in an application error. Don't worry though the software author is looking into it." The module that did that would collect as much data as available and email it to me so I could see what braniac stunt PHB had done. after about two weeks of this there were enough tests in place that he couldn't break the app any more.
PHB now has a job as far separated from computers as possible. :-)
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
The Senior Seminar in engineering school brought in local design firms to give us an insight into the "real world". One small firm designed telephone PBXs. Before they would ship a new product, they would throw a party and invite all of their employee's children to play with the new PBX. The kids would always trigger at least one undiscovered bug that had to be fixed before shipping.
There's never enough time to do it right, but always enough time to do it over...
Perhaps "surprises" isn't the right term. I have stopped being surprised by users' inability to read instructions. Nor am I surprised that for so many, it never occurs to them that they could read the instructions. I am amazed by this blind spot, which often extends to an inability to read whatever error message is displayed in front of them, but I am no longer surprised by it. It's sad, really.
-Logan "What do I want? I'm an American. I want more."