Software Steeplechase

Hayden Steep’s development obstacle course. (Java, JEE, and beyond)

August 25, 2006

Let the users do what they want

Filed under: Software Design

One of the must frustrating things about using software is when the it prevents you from doing what you want to do. Sometimes applications do this in order to prevent the user from performing some action that the programmers deem self-destructive. When these events are allowed, they are often followed by a confirmation message. “Are you sure you want to erase your hard drive? …. You numbskull?” At this point, most users may click the “No” button and let out a sigh of relief, while the more savvy users would click “Yes” because they are probably readying their disk for the latest distribution of the Linux operating system. If the programmers had thought to themselves, “You know, letting somebody erase their hard drive is probably a bad thing, let’s not allow them to do that,” then the Linux aficionado would find himself very frustrated. This frustration level may even result in that person not wanting to use whatever operating system was restricting him from doing what he wants to do, which could influence his future purchasing decisions.

When yahoo introduced it’s free web-mail service, I was one of the first people to sign up. I had tried Microsoft’s popular Hotmail, and found it to be inundated with spam only days (if not hours) after creating a new account. Yahoo’s service has served me well, but after 10 years of use the account has succumbed to spammers, despite their best filtering attempts. I setup an elaborate system of filters to try to reduce the flow of spam myself, and I routed these messages into a folder I created called SPAM. After a few weeks, the SPAM folder started to fill up with thousands of messages and they started to have an impact on my space quotas, so I decided to let yahoo do the filtering and send spam directly to the trash rather than a custom folder I’d created.

So, now I have a folder with 65,535 messages in it that I would like to delete. That’s what I want to do. I’m not trying to do anything fancy, I just want to delete a folder.

Mail Index

This image represents my folder index. I have no way of deleting the messages in my spam folder or deleting the folder outright. Therefore, I click on the ‘Edit’ button next to folders to see if I can do it on some other screen.

Folder Menu

Thank goodness. According to this menu, I can delete my SPAM folder. There’s a nice straight-forward delete button right next to it. However, when I click the delete button, I’m presented with the following message…

Error Message

I’m unable to delete a folder unless it is empty. To this, I can only ask… why? Why am I unable to delete a folder unless it’s empty. The most probable reason is that the developer was too lazy to call a delete subroutine in the event that the user tried to delete a non-empty folder. Or, perhaps it was some ill-conceived reasoning by a layer of management that thought removing a folder with email messages in it is “bad”, and they should protect the user from doing that.

Part of designing good software is determining what your users want to do. In the Yahoo Mail case, they got it partially correct. At some point, somebody realized that user’s may want to delete the folders they have created. However, instead of letting the users do this, a decision was made to protect us from ourselves. Either that or some project manager didn’t want to waste the 10 minutes it would have taken to implement that feature.

Now, I have to remove in excess of 65 thousand email messages without the benefit of a “delete all” button.

I wish the program would let me do what I want… so that I can expedite my transition to Gmail.

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com