The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 2,795,178
since: 19 Jan 2005

An adventure with parking tickets perfect for an Alan Cooper example

posted Wed 14 Mar 07

The other day I opened my mail and found a very legal-looking notice. At first I started getting a little grumpy because I thought it might be a Jury Duty summons, and that's the last thing I wanted to have to deal with right now. After I opened it up, I found out that the contents of the envelope were far worse than any summons to jury duty.

Turns out it was a notice of "Failure to Appear". Apparently, on one of my many criminal escapades throughout the New England area, I got a parking ticket (or so claimed the note). I failed to pay this parking ticket, and I failed to appear in court to contest the ticket, and I never called and plead not guilty for the ticket. The penalties for failure to appear included potentially arresting me, charging me with heavy fines, and revoking my driving privileges permanently.

Further inspection of the notice showed that the ticket was for "overtime parking" on a street I'd never been on in a city that I've only quickly passed through on my way to somewhere else. It also took place on a day where I was at work in Manhattan. My first thought was, "WTF is going on here?!?!?"

So at this point, I had an unpaid parking ticket and a "failure to appear" black stain on my permanent record that was far worse than any of the "permanent record" offenses that our teaches warned us about in school. After pacing around a few times, drinking a half-dozen cans of Mountain Dew to calm down (yes, caffeine does actually calm me down... go figure) I called the number on the nasty-gram and tried to figure out what was going on.

The lady on the other end of the phone was fantastically friendly (which was a good thing, because I was in a near-death panic and my chest was ready to explode). Turns out, as she says, many of the officers writing tickets have "handwriting like doctors", and letters are often easily confused. That's what happened with me - the person writing the ticket had written the plate number in such a way that, when entered into the computer, was confused with mine.

Here's where Cooper would point out a classic example of ridiculously stupid software. When parking tickets are written, the color, make, and model of the vehicle are also written down on the ticket. When entered into the computer, the computer looks up the license plate number and then shows the color, make, and model of all vehicles registered to the owner of that plate. The software happily let people continue on a road that would eventually incarcerate me and ruin my entire life because it never once said "Hey, the color make and model on the parking ticket don't match any of the cars owned by the .NET addict. Do you really want to ruin his freaking life? Well, do you??"

The lady said that this kind of thing happens all the time, and she even has a cheat-sheet that she uses to run "alternate license plate numbers" given the most frequently occurring typos (such as entering a "V" when the officer wrote down a "Y", etc). After she ran an alternate plate while I was on the phone with her, she quickly found someone whose vehicle did match the make, model, and color of the vehicle that was ticketed. She even had a routine she has used hundreds of times to back out all of my supposed transgressions and attach them to the new guy she found (I relish in the nastygram he will be receiving a couple days from now...).

So, classic Cooper example. The software is functioning as designed. It does its job. It allows data entry from hand-written tickets and then has a "ruin life" button that allows the workflow to continue down the eventual road that will lead to the demise of an unsuspecting ticket-dodger. However, despite satisfying requirements, the software is a complete failure and an absolute waste. It doesn't do what it should do, or what people want it to do or what they expect it to do. You'd think it was common sense: GIGO, Garbage In, Garbage Out. If you are entering data from an error-prone medium such as officers writing on unstable surfaces, small notepads, in a hurry - the least you could do is put a couple sanity checks and data scrubbers into the system.

Anyway, the moral of the story is this: your bad software might not lead to your users getting arrested, but it could pretty easily ruin someone's day. In other words: let's stop making crappy software people, all it takes is applying a little practical real-world common sense and stepping away from the narrow-minded "programmer trap" of assuming that if software satisfies requirements that the software does its job properly.

tags:                

links: digg this    del.icio.us    technorati    reddit




Tag Related Posts

My Macbook Air is masculine, dammit!

Mon 17 Mar 08 6:59 P GMT-05
tags:          

Why programmers aren't the most efficient trip planners

Sat 26 Jan 08 12:10 A GMT-05
tags:  

The World of Warcraft Epic Mount Trade

Tue 10 Apr 07 7:16 P GMT-05
tags:        

My Little Pony .NET Unleashed 2007

Fri 30 Mar 07 1:59 P GMT-05

WPF Bumper Stickers

Tue 12 Dec 06 7:32 P GMT-05

Web 2.0 - I've had it all wrong!

Mon 30 Oct 06 8:51 P GMT-05
tags:    

I was "greeted" by a fellow New Yorker yesterday

Sat 21 Oct 06 12:21 P GMT-05
tags:    

White and Nerdy - My new Anthem

Fri 06 Oct 06 3:13 P GMT-05
tags:            

Ulysses Agenda : First Cut Networking Design

Thu 14 Sep 06 12:46 A GMT-05
tags:                  

How they delivered pizza in colonial times

Mon 11 Sep 06 11:04 P GMT-05
tags:    

A day with Edward Tufte

Sun 27 Aug 06 2:23 P GMT-05

Caution: Do Not Sit on Air

Wed 02 Aug 06 12:20 P GMT-05
tags:  

Dan Brown's got competition

Mon 05 Jun 06 3:51 P GMT-05

What is an apologist?

Mon 01 May 06 12:37 A GMT-05