Dan broke the bad news last week that these satanic machines have spread around the world.
If you recall, my voyage into hell began when I tried to use a supermarket self-checkout machine and couldn't get the thing to stop shouting at me.
After my most recent battle, I decided to do something very unusual: make eye contact with and speak to another person in a busy shop in London.
No. I hadn't gone out of my mind... this person worked there. But still.
I asked why the machine was so demonstrably rubbish and he made a useful observation: the machine takes some time to register that an item has been placed in the bagging area.
This means that if you want to remove a bag, you have to wait for the item to be registered and then remove the bag.
I tried his idea and, sure enough, if I waited a second or so, the item would be registered. Then, if I lifted off the bag, it would still shout at me but one of the options was to tell it that I had lifted off the bag.
I think I also understand why the machines work in this way. The question is... is there a better way?
Consider the design meeting.
Requirement: "All our customers are thieves so we need to be able to detect if somebody places an item in the bagging area if they haven't scanned."
Now... an "obvious" solution to this is to put in a sensor that reacts when an item is placed in the bagging area. If an item is registered without a preceding scan operation then something dodgy is going on.
So far, so good.
But there's a problem: different customers will scan in different ways.
Sure... some of them will "scan, bag, scan, bag, ..." and this detection mechanism will work.
But some of them will pick up three items, scan all three and then put two of them in the bagging area and hold on to the other one because they know it's fragile and they want to put it in last... and then they'll scan two items and put both in together at the same time.... (you get the idea).
This means that it would be impossible to tell whether somebody had placed an unscanned item into one of these batches and the requirement could not be met.
Now, the solution they chose to employ was simple and cheap. They simply enforced the "scan, bag, scan, bag, ..." approach in the most clunky way possible.
However, it's interesting to think about what else they could have done.
One user-friendly idea could have been to add a set of scales to the side of the machine where the unscanned items are kept prior to scanning.
If the total weight of the "to be scanned" items equals the total weight of the "scanned" items at the end of the process then they would know there had been no skulduggery. (I can immediately think of a few problems with this approach, however...)
Either way, I still hate those machines.