This Barcode Makes Me Feel Like an Idiot
I’ve been shopping at the same supermarket for almost 2 years now. I have one of those loyalty cards where you get free stuff in exchange for giving them all your personal data. It’s not a physical card though, it shows up as a barcode on your phone.
Every week it would be the same old dance. I would take my basket to the self-checkout and I would scan all my groceries. I’d get the occasional “Hey, these limes are heavier than expected” but for the most part it would all be fine. I don’t want to toot my own horn, but I feel like at this point I’m pretty good when it comes to the self checkout.
Then I’d try to scan this barcode. Boy oh boy did I try. I would wave it around, moving in close to the scanner or moving further away. I’d try all kinds of angles, swivelling my phone around trying to get the perfect angle. For some reason it seemed to work better upside down.
Oh, and before you ask, yes of course I tried turning the brightness up to the max. This isn’t my first rodeo.
Then one day a few weeks ago the shop assistant comes over to me and shows me The Trick. The scanner has this little notch where you can rest your phone, and if you put it there it will scan. Immediately it works. Since then it has never not worked. But how in the hell is anyone supposed to figure this out? I’ve just scanned 20 or 30 barcodes on everything from cardboard boxes and metal tins and paper bags. Why is the phone barcode so special?
I’m really grateful to that assistant for helping me out. What about all the shop assistants who had come before? They stood by and watched me flailing and they did nothing.
Is that because it’s fun for them to watch? Or because it’s awkward to intervene? Or maybe they didn’t know either. I genuinely can’t tell. Is this a thing that people know? Is it obvious to other people that you’re supposed to jam your phone into the little tray that is allowing it scan? Am I the problem? Maybe I’m bad at groceries.
You’ve probably never been in that exact situation. But I’m sure you’ve been in a similar scenario, where you’ve tried to use something that tons of other people use all the time, and for whatever reason it doesn’t work for you.
I’ve watched this happen to other people, too. One time I went to a fast food place with my brother and he wanted to get a VAT receipt for his meal. The machine made this so ridiculously hard. I watched as he pressed a whole series of buttons to request a receipt. Then he had to type in his whole email address using this awful on-screen keyboard. He finishes typing and hits the big button next to the email box. You’d think that would be the “Send email” button right? Nope. It was the “I’ve finished” button. He put in all that effort and then fell at the final hurdle. The “Send email” button was a tiny little button underneath the email box.
The look on my brother’s face was so upsetting. It wasn’t that he would have to pay an extra £2 in tax. It was that _this machine had made him feel like an idiot. It sucks.
I can absolutely understand how these kinds of situations come up. After all, if you’re the one who designed and built The Thing, you know how it works, how could it possibly work any other way? At some point you ship The Thing. You see it in the real world and you see people interact with it who have never used this thing before.
This is one of the huge benefits of being a software developer. The software is soft. You can change it quickly. There’s no physical buttons or devices or infrastructure that has to be rolled out or replaced. There’s no concerns about cost or environmental impact because it’s just pixels being drawn on a rectangle. You have so much freedom. But you do also have responsibility. Software should be good. It feels like more and more we see software that just isn’t good at the thing it’s supposed to do. Even products that used to be good don’t seem that good anymore.
We can do so much better.