GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers

Throughout the software industry, software engineers develop user interfaces with little sometimes no support and guidance from professional user interface designers. For example, some software is developed by individual freelance programmers who lack training in designing user interfaces or access to people who have such training, and then is sold to a company that markets it. Even when software is developed by sizable organizations, there may be no developers who have user interface expertise. Some companies do have user interface professionals, but not enough of them to cover all the development projects needing user interface design skills.
The marketplace of software products, software-controlled appliances, and online services is therefore full of programs designed entirely by people who, though they are professional programmers, are user interface amateurs. Such software is a drag on the success of the entire industry.
As a user interface consultant, I am often called in late in the development process to review or test software that was developed by people who have little user interface design experience. Such software is typically full of design errors. Many of these errors are extremely common, occurring over and over in projects across companies and even within companies.
A programmer at a client company once told me, "You're our lint for Uls," referring to a Unix utility program that checks C programs for common programmer errors. To a large exent, that's a pretty fair description of how many client companies want to use me: as a filter...