Sunday, 29 September 2013

Sainsburys self-checkouts and lazy UI design

So, I know it's almost a cliche to complain about the self-checkout machines in supermarkets, but I generally find them incredibly efficient. I'm going to try and write this entire post (which won't be very long) without mentioning "unexpected items" at all. 

As I said, I usually find the process very efficient - at our local Tesco, it means one staff member can be serving about 15 customers at one time, and I very rarely have any major issues, although I guess I am younger and more tech-savvy than the average person, so it's possible there are some features that I just sort of take for granted which are in fact confusing. There's an interesting article at coding horror on this. However, there is one feature of the Sainsbury's version of this machine which I find extremely annoying. 

When you have scanned all your shopping, and pressed the button which takes you to the payment screen, if you insert your card into the card reader, you get this message.


As you can see, this message annoys me enough that i took a photograph of it. In case that's not legible, it says "Please press the card button". Now, I know for most people reading this it will be immediately obvious why this is terrible, so please excuse me while I rant for a moment:

The machine knows that I entered my card into the card reader. It knows that every time anyone ever enters their card into the card reader, they should have pressed the card button first. So why the hell doesn't it "press the card button" for me? 

I really only think of one plausible explanation - the way the person writing this software had implemented the "card button", it was much easier to put in this intermediate screen and have the user go back and physically press the button than it would have been to automate the process. I can think of no possible good reason. (I can actually think of one other bad reason to do this - it was somehow part of whatever specification the developers were working from that people had to explicitly push the card button to pay by card - but that just pushes the incompetence up a level). 

As evidence that there is no good reason, the machines at Tesco do display the sensible behaviour - if you insert your card once you'e gotten to the payment screen, they behave in exactly the same way as if you'd pressed the card button first. 

Now, assuming my laziness explanation is correct, this is really, really lazy. This is the sort of lazy that I probably wouldn't try to get away with if I were writing an Excel macro to be used by half a dozen people in my office. How on Earth did someone get away with it when writing software to be used by the general public, for one of the biggest retailers in the country? Perhaps the World is Mad after all (incidentally that is a reference to a future post that I haven't written yet, maybe it will work as some sort of commitment device...).

No comments: