Several years ago when my son, Alex, was a sophomore in high school we were having our morning breakfast with his best buddy, Dillon, at a bagel shop prior to the start of their school day. The shop bustled with folks rushing to grab a coffee before work while more leisurely groups enjoyed a bite as they discussed the day ahead. In the midst of this scene, Alex says “Dad, we’re going on a field trip today with my science class.” Intrigued, I naturally inquired where he was going. “To the waste treatment plant on Falls Lake,” he replied. “Oh! Do you need some money for the souvenir shop?” I quipped. He casually replied “No” as the adults sitting around us laughed out loud. Alex and Dillon continued to eat as if nothing humorous had happened.
Adding a bit more levity to the story, Alex approached me that night and said, “You know, there really is no souvenir shop at the waste treatment plant.” To which my wife and I had another good chuckle.
So why did the adults find humor at the situation while the teenagers didn’t get it? It has to do with how we view the world. People see things in different ways based on many factors: age, culture, education, etc. These all affect the way people perceive their environment. It particularly impacts how different people interact with technology.
Time and again, I’ve seen scenarios where a CFO purchases a financial system because he loves the sophisticated user interface. But the chosen system falls flat at implementation because his operational staff – those who sit in front of their workstations for 8 hours each day – hate the interface because it is too laborious; they can’t get their work done effectively.
As software developers, we face the difficult task of designing applications for a myriad of users, each with different value systems. Our daily challenge is to build a user interface that allows the casual user and the expert to perform their tasks on the same system. It isn’t always easy!
The casual user wants a simple, intuitive interface that walks them through the process and enables them to complete their task without any confusing or ambiguous icons, links or instructions. The expert, or power user, deals with the application for hours each day and wants quick shortcuts and easy access to functions.
There is no middle ground; the novice expects to be led step by step through each function and feature while too many clicks and too much detail will frustrate the expert. As we start a new decade (another topic for debate: is 1/1/2010 or 1/1/2011 the start of the new decade) the challenge we face as developers is designing an interface that satisfies all.
To illustrate how difficult this can be, I went to Barnes & Noble and looked at books about Microsoft Excel. What I found was staggering. Excel 2010: The Missing Manual is over 800 pages and Excel 2010 Inside and Out is more than 1,000! And Excel is only a software tool to help you get your real job done. Has anyone ever read the entire text? Original versions of Excel, I’m sure, were simpler and required shorter manuals. But as the software evolved and more people started using it for different functions, it became more complex. Today, as the CFO uses it to balance a company’s budget, the project manager uses it to track a multitude of tasks. Different types of professionals need to know how to navigate the same software; therefore the 1,000 + page How To guide is born.
Our society today is filled with technology that has great benefits. We can get more done with our limited time each day. The cost, however, is frustration and, at times, the feeling of stupidity with the surfeit of user interface models we encounter in our daily activities.
My experience with a self checkout machine at a local mega hardware store last month is an example. Accustomed to the self checkout interface at the grocery store closest to my house, imagine my surprise when I accidentally pressed the French button on this unfamiliar system. Since I don’t know a lick of French, I had no idea how to cancel the transaction and start again. Five people were waiting impatiently behind me in line and I had this thing speaking French to me. I eventually got through the transaction, and all the people waiting were likely expecting me to speak in my most alluring French accent. They were a bit surprised when I turned to them and, in my best New York inflection, said “Sorry for taking so long.”
This embarrassment brings to mind the story of a new computer user who had just received a PC-DOS computer (remember them?) with a rather vaguely written installation guide. As he attempted to assemble the components, his frustration at the manual got the better of him. He called customer support for help, which only reinforced his feelings of ignorance. After several fruitless attempts to solve the problem, the support rep – who was obviously on a different experience level than the caller – claimed to have identified the problem.
“Great,” replied the customer.
The support rep said “Stand up in front of the computer parts.”
“Okay, I am,” replied the customer.
“Is your front door to the right or left?”
“To the left,” the customer replied.
“Good, start walking to the left and tell me when you are by your front door.”
“I’m there now.”
“Open the front door,” the support rep commanded.
“Door is now opened.”
“Good,” the computer expert on the other end of the phone paused. “Now step outside and shout: DOES ANYONE OUT THERE KNOW HOW TO USE A COMPUTER?”
What’s the point? During our different ventures in software development, we will encounter both pro users and novices. The trick is to find a way to make both feel like they’re getting a great experience, one that’ll make them want to come back again and again. That’s what makes software development challenging – in a good way. Technology continually evolves, making new techniques and methods available so we can design a user experience that satisfies all participants.


