The world is increasingly moving towards a point where with

the exception of a few specialized tasks, the bulk of the mid and high end jobs

will involve nearly continuous use of some sort of computing device. While this

may strike most people as being a Good Thing, it is important to understand

that a significant number of intelligent, skilled people are going to be left

behind in the computer age.

Designing interfaces (both hardware and software) that work

well for all (or nearly all) users, not just the large part of the bell curve

is a daunting task. There are a wide variety of handicaps to be aware of (blind

users, deaf users, colorblind users, just to name a few obvious ones) as well

as physical issues (how does someone with Arnold Schwarzenegger’s thumbs use a

Treo?) to take into account.

As it is, we have a lot of potential computer users being

locked out because of these problems, and I fear that it will only get worse.

The interfaces of the future like enhanced touch screens, 3D displays, and so

forth seem to me to be a complete nightmare to someone with a physical handicap

or disability. Currently, we have people who have a difficult time with

computer displays. My sister, for example, has seizures when she uses a

computer for more than an hour or so. Many workers have carpal tunnel syndrome,

repetitive stress injuries, and other problems caused by prolonged computer

usage which limit the amount of time that they are able to work on a computer.

These people are going to be left behind while the rest of the industrialized

world moves to computers as the primary work tool.

Programmers can do their part to reduce these problems. For

one thing, they can be conscious of making sure that their software has

multiple access methods for every function: menu bars, buttons, and keyboard

sequences. They can also make sure that they put as much work as they can into

making sure that their software is usable by users with color blindness or who

are using a screen reader. They should be putting special effort into not using

text in images as well as sticking to medium-sized, high contrast font

selections that scale with the user’s preferences. Web developers need to be

particularly careful of these factors, since current “hip, cool, stylish, and

chic” Web design tends to be only usable by people with perfect vision and good

monitors. It is sad to say, but command line/text mode interfaces tend to be

more usable and readable than most GUI programs out there.

This is a really important issue for me. If there is one

thing that I find upsetting, it is seeing people who are unable to live up to

their full potential because of something like software that is not usable.

Imagine not being able to do your job because your thumbs are just too big to

operate a handheld device, or because the information you need to understand is

differentiated merely by the colors green and red? Putting 15 years building a

career, only to go into early retirement or a career change because you cannot

type for more than a few minutes without having your whole arm go numb or

having a seizure? These problems are real but too many programmers,

device designers, and employers refuse to see it.

It is up to each individual programmer to be aware of these

issues. A future in which smart, educated people are flipping burgers because

they are unable to operate a computer or use the needed software is not a very

good future if you ask me. I have believed for some time that too many IT

people focus on the flashy and ignore the basics. Usability is one of the critical

basics, right next to reliability, scalability, security, and data concurrency.

None of these are very sexy topics, except for security. When was the last time

a programmer told a project manager, “look, that system that we are working on

has some really sweet features, but displaying all of that data that way is

going to crush our servers, the needed libraries are still not stable, the

authentication is still cobbled together, and people who do not use a mouse

will not be able to operate it”? The last time I said something along those

lines, they stared at me like I had a third arm sprouting from my shirt. No one

wants to hear it. But it is still important. No one likes to hear uncomfortable

truths, and usability is one of them.