What is the main task of your application?
Who is your application written for (the customer)?
Supportability is a property of the application that helps to insure that your customer can accomplish the main task that your application is designed to support. Sure your application can do many things, but you should know what the #1 most important task of your application is.
Ok, got it? Now ask yourself these questions:
- What is most likely to go wrong in this scenario?
- Is there a way we could prevent this from going wrong?
- How can we detect when it is going wrong?
- What steps could we instruct the user to take to fix it?
- How could our support staff remotely diagnose and repair the issue?
For example, consider Office Communicator 2007. The main task of this application is to allow people to communicate with people using chat, voice and video. The text chat is easy and well understood but voice and video have significant supportability challenges because of the additional hardware required to support them. Today I want to compare and contrast how Office Communicator and Skype provide supportability. Not surprisingly, Skype does a much better job of handling these issues because for them it is a matter of survival. With millions of people downloading and using their app as a free service they have to get supportability right.
Let's consider some of these questions for the scenario of a user seeking to do a voice chat
Q: What is most likely to go wrong?
A: User cannot hear or be heard
Q: Is there a way we could prevent this from going wrong?
A: Yes - a setup with an audio verification test like the Skype Call Testing Service. This service allows you to "Sanity Check" the configuration by calling a known good automated system, recording a message and then playing the message back. This insures that the audio I/O and network connections are functioning correctly.
How can I know this is working? Sanity Check
Skype supports millions of users. If just a small number of them experience an audio failure and contact support the cost would be incredible. Skype built a call testing service to allow users to know if their connection is working. Every time I install Skype on a new PC I wonder if my first call will succeed or not. Is the microphone set to work correctly? Are the audio levels high enough for me to hear and be heard? The test call allows me to do a "Sanity Check" If everything is working properly I hear my own voice echoed back to me so I know that everything is working. Proving that the system works properly with a test call is critical to the process of elimination when supporting end-users.
Q: How can we detect when it is going wrong?
A: When a voice call is in progress you can check the levels of sound I/O being streamed back and forth. If the levels are too low then it is likely that the user is not getting audio when they should.
In fact, Skype does exactly this. After a few seconds of silence on the line, Skype pops up a notification that it cannot hear you and offers to help (in a subtle and not annoying way). If you click on this banner Skype shows you the selected audio devices and meters to see what the levels are directly within the call window.
By contrast, with Office Communicator there is no way to know if the audio is really broken or not. So what I did is place a call to my own mobile phone to see if I could hear the voice mail prompt and leave a message. When I could not hear, I felt fairly confident that it was not working.
Q: What steps could we instruct the user to take to fix it?
A: Both Skype and Office Communicator use web based help to provide assistance. Office communicator invites you to press the menu button (see my previous post about this). Skype uses a troubleshooter to give the user a guided experience in fixing the problem. The troubleshooter is very detailed with 5 or so pages of things to try. The Office Communicator help simply instructs me to run the Set Up Audio and Video Wizard.
Q: How could our support staff remotely diagnose and repair the issue?
A: I have not dealt with the Skype support staff because I never needed to - I was always able to self-diagnose problems related to audio. However I did deal with our helpdesk regarding my issues with Office Communicator I spent way too much time searching the web and knowledge base. I installed a hotfix for USB headsets to no avail. I was getting nowhere fast and support seemed convinced that the problem was my headset even though I assured them that it worked fine with Skype.
The Final Outcome
I realize that I have been long-winded but it finally came down to this. The Set Up Audio and Video Wizard was helpful in demonstrating that my headset was indeed functioning properly
As you can see, like Skype it offers a meter to show the levels and the selected audio device. However, unlike Skype it is much harder to locate this tuning wizard. Of course, now that the tuning wizard has shown that my headset is working properly what could the problem be?
It was time to go hunting
While waiting for my online chat support agent to figure this out I decided to check every menu, every dialog for something, anything that might help... It turns out that there were six candidates. So we did away with one menu and replaced it with six other menu like things. Hey but it looks cool right?
Finally I stumbled across a dialog related to call forwarding settings. I had previously ignored this because I don't have call forwarding on.
But anything that says Settings gave me hope so I pressed on, and there it was
A setting that had nothing to do with forwarding as far as I can tell. My preferred calling device should be set to Computer. This little gem of information is not to be found anywhere in the docs, on the web, in the help or knowledge base.
But think about it for a moment. The default, out of the box configuration will not work correctly for making calls unless a USB style phone is connected to the computer. What is more, when your Office Communicator is in this invalid configuration (preferred device set to phone but no phone attached) it will happily try to make calls (and in fact does make them but no audio is sent or received). The Set Up Audio and Video Wizard doesn't indicate what the preferred device is or the fact that the preferred device will be used regardless of what device is selected in the wizard.
A Lesson From Frank Lloyd Wright
Frank Lloyd Wright, the famous American architect, believed that humanity should be central to design. Office Communicator, Skype and your application is built for humans. If humans cannot succeed in making your app function at one of it's primary tasks your app is a failure. The relationship of your app to the wide variety of humans that must use it is a difficult one but it isn't something that is entirely unknown. Test the interaction of man and machine. Learn what works and what doesn't so we can all live in peace and spend less time searching in vain to make the main thing finally do it's job.
P.S. I noticed that Office Communicator asks me to provide feedback to make the product better. I thought I would share my insights with the team through this channel. I just had to laugh when I got to the web page where I could leave my feedback.
Give Us Feedback Online
The Online Feedback feature is currently not available.
Oh well... it is time to get back to work...