Techies Tom and Terry were working on a web site about rodents for Fritz the Cat. Fritz’s collection was extensive, and he had named each one. So, the two guys started creating the online gallery of Fritz’s rodents.
The main page had types of rodents, like mice, rats, and hamsters. Each type had a link to a special page with all the names of that type of rodent listed out.
Tom and Terry thought they were done with their work, so they showed it to Fritz. “I want to know how many I have in each category,” said Fritz.
“Oh my,” sighed Tom. Their system had not made it easy to get at the number of a particular type of rodent. They only worked on listing them.
“Aha!” cried Terry. “We can use an ordered list when we output the rodents. That way, a user clicks on ‘chipmunks,’ say, and then on the next page, we see there are four.”
“A wonderful, simple, gorgeous, brilliant solution,” exclaimed Tom, who was happy to save himself the work of rewriting the system to count rodents.
Fritz grimmaced, because he was thinking of the poor user, having to click to a new page just to find out the number of hamsters. “No,” Fritz said, “it should look something like this.”
Tom and Terry whimpered in unison, and went back to re-write their code. Eventually they admitted Fritz was right. It was much better to have the count in parentheses on the first page and not make the user over-click.
If Fritz knew all the toil it would take to make the system count his rodents, he might have acquiesced to the poor solution. But Fritz was not thinking like a technician, so he was able to come up with the optimal solution.
Of course, even better would have been if Tom and Terry showed Fritz what it would look like before they finished all the coding, but we can’t always think ahead, can we? For what it’s worth, this is a true story, and I am Tom.
Jason Glaspey says
Great post, however, you forgot about one other thing.
Sometimes, the *best* solution is to have the number in parenthesis, like you’ve said, however, it also takes X 20 hours to complete, and only provides X 4 in value.
Now, I actually ended up quitting my old job because I constantly tried to protect my boss from paying for features that did not provide an adequate return on investment. Sure, I didn’t want to do the work, but I also knew that he was asking for things that in the end, would cost him money versus provide a benefit that outweighed the cost.
Lesson learned? Don’t protect the client, ever. However, it is our responsibility as the hired professional to sometimes inform the client/boss about costs and projected ROI. If you give them the opportunity to choose, they often prefer a cheaper solution rather than an expensive one if they realize the benefit is trivial.
In this case, what if the benefit of knowing the number of rodents in each category only helped 1 out of 83 users? It is obviously the better of the two, but what do you do when the cost far outweighs the usefulness? And what if the extra time Tom and Terry saved by not incorporating a insignificant feature allowed them to incorporate a truly valuable feature that benefited 54 out of 83?
I think I’ve confused myself…
Adam says
Hi Jason–You’re right. I didn’t talk about whether what Fritz the Cat wanted was worth it. That is a completely separate discussion, which you have covered pretty well in your comment.
My main point was that Tom and Terry, deep in the technician’s laboratory, didn’t even consider the feature from the user’s perspective. When they were faced with a usability problem, they latched on to the first thing that came to them, which wasn’t even a real solution to the initial problem. That’s because it came from their technician brains.
Again, you have a real point about how much it costs. Good technicians will be able to provide information on trade-offs, as you did to your former boss. But good technicians also know when it’s time to take off the coder cap and spend a little extra effort making their tool easy to use.
Jason Glaspey says
For sure.
Man, I have to admit though, there have been times when I’ve been Tom and Terry out of laziness, even knowing what the right move is. I personally have to guard against that as well.
Same with my slacker programmer Matt, which is why I keep a short leash on him and give him no time to rest…
Mike Duffy says
Who is Terry? I think I know that damn Fritz!
Ryan F. Holznagel says
Fritz rocks! He sounds like a thoughtful, well-spoken young man.
Fritz says
I happen to be the Fritz in question, and I thank Adam for his kind words. (Even if the exact situation has been altered to protect the innocent, as they say.)
That’s a good point about the tradeoff of value to time spent. As an aside: while it’s true that there’s not a ton of value to knowing the total number of each rodent, there’s a secondary value that is very important: the value of not disappointing the user.
If I look at this list *without* numbers and click ‘Gerbils’ — then find only one gerbil listed — I’m bummed out. “Man, only one gerbil?” It makes the site look scrawny. I might even look at the other links and think, “Why should I click if they’ll only have one rodent per list?”
By pre-acknowledging the situation, as it were, with the numbers, we prevent user disappointment. We also give them a context — “Yeah, only one gerbil, but there are lots of hamsters.”
A good link lets you know what to expect before you click. That makes for comfortable users.