Since I’ve always been a geek, I got excited a couple of years ago when IBM’s Watson beat the two best human Jeopardy players on the planet. Of course, when I watched the “behind the scenes” show, I realized that the size and scope of the project that brought Watson to the winner’s circle meant that this capability wasn’t going to be available to me for quite some time. Instead, I have Siri”
Me: “How many miles to Newton, Mass?”
Siri: “Do you want to know the distance to …Mc Nab?”
(a woman in my address book who works in Florida.
Me: “No.” “How many miles is it from here to Newton, Massachusetts?”
Siri: “Do you want directions to Newton Pizza?”
Me: (hoping that Newton Pizza is in Newton, MA) “Yes”
The directions indicated that I had about 35 miles left to drive.
If Siri was more Watson like, maybe she would have considered that I was in motion, heading east on a highway that had an exit near Newton, MA. She could have gone the extra mile, as it were and discovered that it was raining, that traffic was moving slowly and that I had an appointment in less than an hour (in Newton, MA). All of this information was available to Siri, but she just isn’t sophisticated enough to take advantage of it. Either that or she’s lazy.
The inability of computer-based systems to consider the context in which they are working is one of the things that has always made me sad about my chosen profession. Today, we have the technology to consider context, in fact the whole “Social-Local-Mobile” SoLoMo mantra is aimed at using all the information that a person’s device can offer in order to make their (buying) experience more personal. But what about my non-buying experience, what about my already-bought experience?
While visiting Pittsburgh, PA, my daughter and I let my recently updated GPS guide us from our hotel to the closest pizza restaurant. Unfortunately, the restaurant had moved. We called and the person who answered gave us the new address. Unfortunately, again, in giving us that address, she used the name of the main road that most people would understand, but which technically ended a few thousand feet before the restaurant, where its name changed. Faced with a dilemma, my Garmin Nuvi set our destination to the middle of a bridge with the same name as the main road. As we looked out over the Ohio River, the GPS proudly announced “arriving at destination, on right” (toward the water).
The over-zealous accuracy of a GPS is the reason that later in that same visit, we were instructed to use a specific address (or coordinates) so that we would arrive at the Pittsburgh Zoo parking lot and not its administrative offices (where the exhibits are much less interesting – see the accountant in his/her native habitat…). Is it too much to ask my GPS to guess that I might be one of the 950,000+ people who visit the zoo each year?
Siri is still learning, my GPS is an extension of the technology that guides missiles, so maybe it isn’t a good idea for it to start guessing my intentions. That’s fine, but sometimes these glitches seem more like personal attacks, like I’m staring in the Twilight Zone episode “A Thing About Machines.” For the two years that I owned my last Windows Mobile smartphone, it would suggest “Danger” when I would type ‘Dan’ and it would suggest “Murder” when I would start to type my wife’s name – maybe it knew more than it was telling me.
In all the years I spent working as a programmer, I saw tons of error messages but I can honestly say that the error message that bothered me the most is ORA-00996. For the non-programmers out there, concatenation is a programmer’s method of joining bits of text and program operations that return bits of text. For example:
[“The baseball team in “ | selectedCity | “is “ | selectedCity.baseballTeam]
would result in
“The baseball team in Pittsburgh is The Pirates”
Well, it would if I were controlling the selection. The ‘pipe’ character ‘|’ is a common concatenation operator, but not for Oracle. I could deal with an error, but Oracle seemed to show a little personality when it responded:
ORA-00996 the concatenate operator is ||, not |
Every time I would see that error, I would think “if you know that concatenation is my goal, why not just accept it?” Of course, the answer was/is that Oracle had no way of knowing if I wanted to concatenate two strings or if I meant to type “\” (the lower case value of the same key). But how hard would it be to figure that out?
Really Apple, now that’s just dumb?