Ambiguity is a problem often faced by software designers. If a program requests a single record from the database, and multiple records meet the criteria, then we have an “ambiguous” result. The designer must anticipate this possibility, and provide measures to resolve the ambiguity.
I winced the first time I heard the verb “disambiguate,” in December 2002. I was working at Route One, where one of our dealer identifiers was found to match more than one of Ford’s. The speaker was R.J. Bussone, and for all I know the coinage was original with him. The term has since entered common usage, at least among software designers.
At MenuVantage, we found that we could not precisely identify the model of a given Ford Truck from its VIN alone. The error message “ambiguous model” was despised by our customers, not only because it placed a burden on them to resolve the ambiguity – but also because few car dealers seem to recognize the term. One called our help desk wanting to know if an “ambiguous” vehicle was one that could run in the water.
MenuVantage is based in Fort Lauderdale, and it happens that tour-bus operators here use amphibious vehicles called “ducks”.
“Look,” I said to my lead developer, Jeremy, “there goes one of those ambiguous vehicles.”
“It is ambiguous,” he replied, “I can’t tell if it’s a truck or a boat!”