Thursday, 7 May 2009

Night of the Long Spoons

This story concerns a store in northern England where someone went to buy some teaspoons and was required to provide proof that they were over 18. Here's the link:

http://nannyknowsbest.blogspot.com/2009/04/dangers-of-teaspoons.html

Now why would someone be expected to prove their age before purchasing a teaspoon? Bear in mind this was not some secret Ninja assassin's teaspoon or a giant spoon you could beat someone to death with. No, this was the humble little spoon we use to stir our tea.

To answer a question that someone in the US asked, this was not in response to some law. There's no law in England requiring proof of age for spoons, though there is one for knives.

I don't for a moment buy the story given by the store that someone somewhere was killed with a teaspoon or that this would be a reason to require proof of age. I think that's just an employee making something up rather than saying "I don't know". Quite apart from the improbability of anyone other than Humpty Dumpty being done in with a teaspoon, any store that asked for proof age for anything that someone, somewhere had managed to get killed with, would soon be out of business. Where would we buy candlesticks, lead piping, rope. So I think this is pretty unlikely.

So there are really two possibilities, neither of them very impressive. Either the store is being over-zealous in their application of the law, as often happens in these things, or there has been some programming error. However, As a technical friend of mine pointed out:
Since the message is automatically provided by a computerized checkout system,
there is absolutely no chance that it is associated with that item by error.


This is right of course: computers never, ever commit errors. I'm not being facetious; it's really in the nature of a computer not to make mistakes. What they do do, more often than not, is do things wrong. It's not the computer that makes the mistake, it's whoever set it up to do whatever it was supposed to be doing. The system that asked for proof of age for a teaspoon may not have been making an error, but most likely a mistake was made, perhaps due to inadequate modeling of the data. Maybe for instance the store system was programmed to flag up all shiny metal things as knives, or perhaps all cutlery. Whichever way we look at it, this has the hallmarks of some ghastly ontological mishap.

So what is ontology anyway? Contrary to what some might think, it is not some new buzzword, some Web 3.0 technology. In fact, every computer system has an ontology anyway, whether or not anyone knows what it is or whether it was thought about very clearly when the programming was going on. Every system manipulates data about things in the real world, and so there is some implied view of the real world itself, underpinning the data in the system. That's all it is - there's no magic to it.

The ontology of a given system may be muddled or it may be clearly thought out, but either way it's there. For example, here is a suggested ontology for spoons:



More accurately this is a taxonomy (like the famous taxonomy of species) since we have not shown any detailed facts about our knives, forks and spoons. If we added facts about the shapes of our pieces of cutlery or the purposes they were designed for, then this would be an ontology.

Each level in the diagram shows a kind of real world thing, with facts about it that make it what it is. At the level below, each thing "inherits" characteristics from the thing above it (notice for instance the runcible spoon, which is a long spoon with prongs, for getting pickles out of jars). This is the model of reality that may or may not be faithfully reflected in a computer system.

Now there is a law in England that requires anyone who buys a knife to show some proof that they are over the age of 18. So if you were to create a point of sales system that could flag up when the teller should ask for some proof of age, where would you put that requirement in the above? Against cutlery or against knives? In fact we could extend our ontology sideways to include camping equipment, kitchen utensils and so on, some of which are also knives. Then you could individually identify each of the things for which the law requires proof of age. Or you could simply define a logical union of all the things identified the relevant law, and apply the proof-of-age thing to that.

It may seem that I am being picky here. Why can't the anonymous programmer of some store be a bit vague about how they program their stuff?

The shop that held itself up to such ridicule is no small country store but one of the most mature and well managed of the UK's major supermarket chains. If they can't get it right, what will happen when we start to trust someone less sophisticated, a government for example, with more sensitive data than the meaning of spoons. We are seeing more and more intrusions into our lives by increasingly zealous governments, determined to protect us at every turn, and while few would argue about the dangers of knife crime, we need to insist on a lot more thought about computer systems and data before things continue in this vein. Otherwise we will probably see mistakes of greater impact than someone having to show their age to buy a teaspoon.

Meanwhile the least we can do is laugh at firms when they make these sorts of blunders, whether these blunders are a result of overzealous officialdom or wooly ontological thinking. If laughing at them doesn't work, we may find ourselves march on Westminster bearing the apparently deadly spoons.

Night of the Long Spoons anyone?

No comments: