I had an on-line chat with a robot named Betsy last night.
It all started when I broke my digital camera. I dropped it while it was powered up, and the lens and shutter jammed in the extended position.
So, I did what all geeks do. My camera was an HP product, I logged onto the HP web site.
After a quick read of the FAQ’s, ( finding nothing helpful) I pointed my mouse to “more help…” and clicked.
I was immediately offered the opportunity to ‘chat’ on-line with an HP technician.
I gladly accepted the invitation to chat. This seemed to be a technically savvy and creative way for a consumer to solve a problem. Having someone with problem solving experience on a specific product would be the most efficient way I could think of to diagnose and fix a problem.
The chat connection was established, and a message followed that said Betsy would be the HP technician joining me in chat.
Now, let me break off this saga about my broken camera for a minute to tell you another story that happened 25 years ago.
In the 1980’s a flurry of articles appeared in the computer trade rags concerning the coming of Artificial Intelligence software (AI). AI was being touted in many computer magazines as software that your computer could use to make decisions based on human knowledge by performing analysis that could eliminate the need for human intervention in the decision process.
In those days when articles on new products gained a certain ‘critical mass’ in the trade magazines, you knew that this might be the ‘next big thing’ in the software industry. It was my practice to obtain demo or beta versions of these products in an effort to keep up with the rapidly evolving software support industry.
My position, at that time, was manager of an IS/IT Department that supported both the Engineering Department that designed and modified a number of custom-built products, and the Manufacturing Department that built and shipped products based on specifications from Engineering.
These were products with a wide range of configurations, but with various design and safety l requirements constraining the combinations of choices. The products had severe legal liabilities and potential safety issues if an incorrectly engineered product failed at a customers site.
You could select any size unit, for instance, but once the size was determined, there would be a load factor. The thickness and type of steel selected depended on the size, the load, and the process for which the customer wanted the unit. These interrelated permutations and combinations of the selections quickly pyramided with regard to length, motor size and a host of other product specifications.
So out of myriad possible combinations- only a hand-full could actually be manufactured. Of the (almost) unlimited types of units that could be configured, there were safety and structural requirements that reduced the usable products to less than 100 styles.
Our first attempt was to write a traditional table driven software system that would aid our Engineers in providing specifications. The program design quickly devolved into complex decisions tables. The decision table paradigm was too slow, complex and cumbersome to build , and was prone to errors both as program 'bugs' and in the products as well.
The product errors were not the usual programming ‘bugs’ for which you could test. The traditional decision table approach would allow the specification of a product that either could not be manufactured or (worse) was dangerous and should never be built for a customer to use in their facility.
The traditional table approach was meant for decisions that were linear. That is, each outcome was the result of following a single path through the tables. For this specification generator program to work, decision tables would have to be constructed for every conceivable style of product that we had ever built or might build in the future. There were no ‘linear decision paths’ for this product.
The decision tables we had to work with at that time were all single choice, one direction, and limited scope when multiple options were included. The state of 'programming decisions' would now be considered a ‘typical telephone answering menu” style of programming. In other words, pick “X” from a list- and leads you to the next list. Pick “Y” from that list, and so on. Only a very few of our products could be designed in this flat table model. We needed a multi-dimension table to provide for variations in constraints.
Since we rarely anticipated some of the configurations requested by customers, this meant that any order for a new style would involve rebuilding our complex tables if we continued with the traditional flat decision table model.
[Even worse, the initial program requested by the Engineering Department was for all product lines. Our initial programming tests were based on a single product. The complexity of the design for one product meant that each product was going to require a completely new version of the programs with additional cost and development time – and little reusable code from previous program versions.
Our attempt at homegrown software was further constrained by the difficulty of any future changes to the specifications of existing products. The initial programs and decision tables were so intricate that a disturbance in one section of code or one table could make pieces of code elsewhere fail- and often the failure could not be uncovered in testing. The program might work even though the product it specified did not meet safety or liability requirements.
We told our Engineering management that the ‘traditional approach’ to making a decision tree program was of no use on this problem. The selections were not linear and there was no foolproof way to insure the integrity of the interconnected selections because of the sheer complexity of the decision making process.
That is when I had the Department investigate the possibility of using AI software that promised to create rational and correct decisions from complex and, and often, unanticipated relationships in data.
The time and effort to develop AI software on the tools then coming into the computer marketplace was not so much programmers time as it was of verifying that the Engineering design specs were accurate and complete. This project bogged down when the Engineering Department could not allocate engineers to validate specs. This was assigned to their most experienced personnel- they were also the most valuable in supporting sales efforts.
For a change, the programmers were not the ‘bad guys’ in the missed project deadlines.
Got it?
OK. Fast forward to today’s world, and let’s pick up my broken camera problem.
Shortly after I accepted the HP web page offer to chat with Betsy, the technician, her chat window became active:
Betsy: “Hello, my name is Betsy. What is your Name?”
A brief exchange followed while I provided my name and the serial number and model of my camera. And this is where I think the AI ‘robot came into the picture:
Betsy: “Please explain in detail the problem you are having”
Me: “My camera is jammed”
Betsy: “Let me see if I understand your problem correctly”
Betsy: “Your camera lens is jammed in the opened or closed position?”
And so the conversation continued.
Each time I provided information on the problem, Betsy gave me a test to perform.
As I reported the outcome of the testing, I was led to more complex steps.
As the stilted questions continued- blank and emotionless- and I threaded through the ‘technicians’ assistance – I got the feeling that I was chatting with an AI program generated by a computer (robot if you will) not a real person named Betsy.
This became more evident as Betsy and I worked our way through the trouble-shooting list. I could see how an AI program could narrow down a problem in the way this was being done. And it was obvious, as a business decision, that paying a person to do this over and over was not cost effective.
This had all the requirements for a classic AI program.When Betsy asked me to push the reset button on the camera I informed ‘her’ that I could not find the reset button, She presented me with a product selection list and accompanying diagrams in a separate window. I was led through a diagram of my camera to find the reset button (cleverly hidden on the camera body).
Her detailed instructions sounded like this:
Betsy: “Did you properly locate the reset button”?
Me: “Yes”
Betsy: “Did you press the reset button as instructed?’
Me: “Yes”
Betsy: “ Is your problem fixed?”
Me: “No”
And when none of her further ‘expert advice and suggestions’ resulted in resetting my lens and shutter to the closed position, she went through another process for having the entire camera replaced. No one repairs electronics equipment any more (Betsy told me that).
How do I know there was not a person on the other end actually chatting from a script?
Clue number one is that I am sure in the past 20 years AI programs have not only become more sophisticated in their processing, but they have now been given standard ‘chat response’ interfaces and can connect to web chat software so that a human is no longer needed on the manufacturers end of the chat ‘conversation’.
Just as ATM’s replaced bank tellers, a machine (robot?) could deliver the same technical support that was once delivered by humans. It just makes good business sense to me.
But more to the point is the artificial look and feel of the chat conversation itself. If you saw the movie “2001” you know there was a supremely intelligent computer named HAL that ran the spaceship while the astronauts were in a deep sleep for their long space trip.
This conversation with Betsy had a HAL-like quality to it.
Verb tenses were sometimes out of sync with the tense that a human responder would have used. The syntax was often very stilted and structured. Not like people normally speak (or chat).
In addition, several years ago I used a similar HP support web site for a PC problem. The technician was a real person and the phraseology and interaction of the ‘chat’ had an entirely different feel and rhythm to it.
I guess the interesting aspect of this is that in the manufacturing world in which I worked most of my career we always considered robots as huge machines that knew how to properly position and weld a truck frame with amazing accuracy, or monitor precision tooling operations well beyond the ability of human operators. There was a lot of talk around early manufacturing robotics about ‘lights-out’ factories: entirely operated by robots.
But in the interactive, web delivery world of today, ‘robot’ has come to have a wider meaning. With on-line chat (voice response in the future) we will not only see the precision results of robot help in manufacturing, but also find that we deal with robots in the most unexpected places every day when on the web.
My feelings about Betsy the robot were confirmed when Betsy ‘asked me’ when a telephone call would be appropriate to set up the logistics for the return of my camera for a replacement. That pretty much meant, to me, that Betsy was a machine. I gave ‘her’ a time on the following day for someone to call and make the arrangements.
In a very awkward way, Betsy asked about changing my requested time:
Betsy: “Is it possible that this telephone call could be taken within one to one and one half hours from this time?”
That question ‘felt’ like a computer program had checked the queue of waiting calls for the human operators on duty and calculated a maximum 1.5-hour wait time. (That is akin to the message when you use a telephone menu and are told, “The wait time for the next representative is 90 minutes”. The syntax of Betsy’s response sounded like the wait time was loaded into a script as “one to one and one half hours”.
If Betsy had been a person instead of a machine I would have expected a less structured and stiff presentation of the question and the response. Actually, had Betsy been a human it would have been more efficient to process the details for the return of the camera at that time and not defer to a phone call at a later time.
The odd part is that after Betsy’s help I felt that - although I would have preferred a more immediate solution- the problem had been resolved to my satisfaction. I was pleased to have a ‘fix’ for my broken camera. And I was doubly pleased that I got immediate response when I logged on the web site- instead of waiting on hold for a human being to become available to chat.
So, my robot friend, Betsy, was quick, responsive, efficient and knowledgeable. Not a bad customer support package, I’d say. Since I was a very satisfied HP customer my last chat comments with Betsy-the-robot went like this:
Betsy: “I am glad I could be of service. Thank you for choosing HP. Have a good evening”.
Me: “You have a good evening too”
Betsy: “Thank you”
I still can’t believe it. I wished a machine ‘good evening’.