Thursday, December 21, 2006

Bad Software Interfaces, Part 88

Post office vending machines need UI improvement.

It's Christmas Card season again, so I went to the post office to drop off a bunch of stamped cards, and pick up some more stamps for any stragglers. Of course there was a huge line, which was expected as people are shipping packages. So I hit the vending machine to grab stamps. I could tell the people in line in front of me were getting frustrated, but it wasn't until I got to use it myself that I saw the problem. Here was my plan: since stamps are currently 39 cents, a book of 20 is $7.80. I had a ten dollar bill, so since I didn't want to get crushed with metal change, I was going to get a book of 20 and then enough individual 39-cent stamps to eat up the balance. Well, the machine was out of change. First mistake is that it didn't show this right away. Vending machines have had a "use exact change" light for decades. I stuck in my $10, the machine gave me a credit for $10.00, and then I selected the book of 20-stamps. The machine said that it couldn't give me $2.80 of change, and it rejected my purchase, and spat back my $10. Fortunately I had a $5 and managed to scrounge up enough $1's to get to $8. This time when I made my purchase, it gave out my stamps. Then a note flashed very quickly on the screen–too quickly for me to be sure of the exact message–along the lines of: "unable to give 20ยข change, Post Office notified." The next thing that the screen showed was a balance of $0.00. Well, thanks. So here's the story of what's going on:
  • The software expects to be able to dispense change.
  • If it can't, then it sees if the amount of change left over is below some threshold:
    • If it is, print a "sorry about that" and eat the money.
    • If not, spit the money back out at the user.
I've dealt with these machines before, and had them spit change back out at me before I was done buying things. I've also had it eat an entire book of stamps, to which the website says "you'll need to contact the local post office." (Losing $7.80 is annoying, but not so annoying that I want to find time to stand in line to process a claim that the machine ate my money.) The entire "customer makes a single purchase" model might work for buying snacks, but stamps are often gotten in multiples. The designers of this machine were clearly aware of this, because certain purchases (1-cent stamps) let you select a quantity. Normally this model is just annoying. It saves a little bit of time for a few transactions (buy one thing and go), but makes many other transactions take a lot longer, as I have to put the money it spits out back into the machine to buy the other things I wanted. But when the software refuses to let you carry a balance across transactions, lack of change becomes a real liability. Even if I couldn't've gotten my 20 cents back out, at least I could've left it there for the next person in line. Spread the Christmas cheer and all that. I really don't blame the software engineers who built this. Having seen things like this before, what I'm guessing is that the requirements never stated anything about the ability to dispense change, and the solution of refusing to do some transactions while eating the change on others was stapled on at the last minute. Note 1: It's curious that the machine fed me back my ten-dollar bill. How many bills can it return like that? I doubt it can rewind its entire store. If I had paid with ten $1 bills, would it have spit them all back one at time? Or would I only have gotten back my last dollar? Note 2: The coin insert slot was busted, based on the grumbling of the people in line in front of me, so you couldn't help but lose the fractional part of a dollar in any purchase. What if I had bought a single 39-cent stamp?


Post a Comment

<< Home