Visibility as an Architectural Property

"All the wonders of architecture, elegant structure, proper provision for security and scalability amount to nothing if the user cannot make use of the application to accomplish the goal."

Recently Microsoft has decided to save money on telecommunications costs by leveraging voice-over-IP (VOIP) solutions created by our real-time communications team and a product known as Microsoft Office Communicator. Like most instant messaging clients, Office Communicator allows you to chat with friends and colleagues and to be aware of their presence but it goes a step beyond by being well integrated into all Office products and optionally integrated into the corporate phone system. The ultimate end-goal is that I should be able to connect and communicate with my colleagues using IM, email, voice chat or phone conversations using Office communicator as a central hub. What a wonderful goal it is, I'm sure it would save Microsoft a great deal of money, however, I found that most people were simply not using this tool.

clip_image002

A friend recently recommended a wonderful (non-technical) book called "The Design of Everyday Things" by Donald A. Norman. Reading this book sparked in my mind new thoughts about architectural properties of software systems and the particular case of Office communicator.

I travel a great deal which means that integration with my office phone is not particularly useful, however, the ability to have voice conversations over a VOIP network results in substantial cost savings as compared to an international call made on a mobile phone. So I decided to give it a try. I hooked up my trusty Microsoft LifeChat USB headset to the PC and decided to try placing a call from Bangkok to a colleague in Houston who I noticed was online at the moment. Though we were able to chat with text, the voice conversation failed miserably. I could not hear that anything when trying to make a call with the headset. I could however hear various sounds that Windows makes so I knew that the headset was functioning properly.

"Perhaps there is a menu option to select the audio I/O options" thought I so I went looking for a menu.

Now for many years, we have trained Windows users that all applications feature a menu that is in the upper left portion of the window, just under the title bar and it typically features things like "File", "Edit" etc. However you may have noticed that Office 2007 has bucked this trend and gone minimalist on menus. Do you want to know where the menu is on Office Communicator?

clip_image004

In the upper left corner of the window are two controls. A colorful picture that looks like a good candidate yields only a typical window control menu with options like "Minimize", "Maximize", "Move", etc. A small nondescript down arrow beneath a horizontal line provides a very subtle indicator that a menu is lurking beneath. I know this because a tool tip pops up if you happen to hover the mouse over this icon. Now as someone whose age is starting to show, particularly when it comes to my eyesight, this icon is so small, I might not have even noticed it were I not a stubborn geek who was determined to make this work.

"Consider the Supportability of what just happened"

Imagine it is your job to write the documentation to instruct users on how to configure Office Communicator to work with a USB headset. How would you instruct people to even locate the menu option? I was curious about how the Office Communicator team provided for this so I decided to search the help documentation (which most people won't do anyway) to see if there were any instructions about how to access the menu. The only thing I could find was a question in the FAQ

What happened to the menus that were available in Office Communicator 2005?

The menus have been replaced with a user interface that makes virtually all Communicator tasks easily accessible. With Office Communicator 2007, frequently performed tasks, such as starting an instant message or placing a phone call can be accomplished from the Contact List by right-clicking a contact and selecting a menu option. You can also select the Menu button in the Communicator window to view additional menu items.

Oh so the answer is, you don't need a menu. However, there is a Menu button. There is? I don't see any button named "Menu", just that sneaky little down arrow thingy.

Support Chat Agent Irritated Customer
Hello my name is Bob and I will be assisting you today. How can I help you with Office Communicator 2007? Hi Bob – I'm trying to get this USB headset to work with Office Communicator. According to the help topic "Set Up Audio and Video" the Setup Audio and Video process automatically finds and selects the preferred audio and videos device for your application - without requiring you to go through a setup process. The only problem is that my USB headset is not receiving any audio input or output from the chat. However, it does play sounds from windows applications. What can I do?
I'm sorry you are having difficulty with such an automatic process. I'm sure it is our fault. Please accept our apologies. One moment while I ask for help from my lead. Uh… ok.
Have you installed drivers for your USB headset? Yes… the drivers are installed and the headset is working properly.
Ok… Did you try to reboot? … (sigh) no, but I have tried to utilize this feature several times over many days. I'm sure there were reboots in between.
Ok… since the automatic feature did not automatically setup the correct audio input and output, please go to the menu and select Tools / Setup Audio and Video… What menu?
Do you see in the upper left corner a button? Oh you mean that colorful button with some kind of chat icon in it?
No, next to it, if you get out a magnifying glass you will notice an icon unlike anything you have ever seen on any application in the known universe. It has a horizontal bar with a down arrow below it. Wait… let me get my magnifying glass… Oh yes, now I see it. The menu!

 

I'm glad you have a really cool designer who can give your app a fresh new sleek look but there is a principle of visibility that you must account for.  Every concept in your application must be something that people can identify visually and can be described in text such as a support chat or documentation without having to paint a picture

I wish I could tell you that finding the menu was enough to get this working but unfortunately, it was just the first step...