User interfaces
User interfaces for embedded systems vary wildly, and thus deserve some special comment.
Designers recommend testing the user interface for usability at the earliest possible instant. A quick, dirty test is to ask an executive secretary to use cardboard models drawn with magic markers, and manipulated by an engineer. The videotaped result is likely to be both humorous and very educational. In the tapes, every time the engineer talks, the interface has failed: It would cause a service call.
Exactly one person should approve the user interface. Ideally, this should be a customer, the major distributor or someone directly responsible for selling the system. The decisionmaker should be able to decide. The problem is that a committee will never make up its mind, and neither will some people. Not doing this causes avoidable, expensive delays. A usability test is more important than any number of opinions.
Interface designers at PARC, Apple Computer, Boeing and HP minimize the number of types of user actions. For example, use two buttons (the absolute minimum) to control a menu system (just to be clear, one button should be "next menu entry" the other button should be "select this menu entry"). A touch-screen or screen-edge buttons also minimize the types of user actions.
Another basic trick is to minimize and simplfy the type of output. Designs should consider using a status light for each interface plug, or failure condition, to tell what failed. A cheap variation is to have two light bars with a printed matrix of errors that they select- the user can glue on the labels for the language that she speaks.
For example, Boeing's standard test interface is a button and some lights. When you press the button, all the lights turn on. When you release the button, the lights with failures stay on. The labels are in basic english.
For another example, look at a small computer printer. You might have one next to your computer. Notice that the lights are labelled with stick-on labels that can be printed in any language. Really look at it.
Designers use colors. Red means the users can get hurt- think of blood. Yellow means something might be wrong. Green means everything's OK.
Another essential trick is to make any modes absolutely clear on the user's display.
If an interface has modes, they must be reversible in an obvious way.
Most designers prefer the display to respond to the user. The display should change immediately after a user action. If the machine is going to do anything, it should start within 7 seconds, or give progress reports.
If a design needs a screen, many designers use plain text. It can be sold as a temporary expedient. Why is it better than pictures? Users have been reading signs for years. A GUI is pretty and can do anything, but typically adds a year from artist, approval and translator delays and one or two programmers to a project's cost, without adding any value. Often, a clever GUI actually confuses users.
If a design needs to point to parts of the machine (as in copiers), these are labelled with numbers on the actual machine, that are visible with the doors closed.
A network interface is just a remote screen. It needs the same caution as any other user interface.
One of the most successful general-purpose screen-based interfaces is the two menu buttons and a line of text in the user's native language. It's used in pagers, medium-priced printers, network switches, and other medium-priced situations that require complex behavior from users.
When there's text, there are languages. The default language should be the one most widely understood. Right now this is English. French and Spanish follow.
Most designers recommend that one use the native character sets, no matter how painful. People with peculiar character sets feel coddled and loved when their language shows up on machinery they use.
Text should be translated by professional translators, even if native speakers are on staff. Marketing staff have to be able to tell foreign distributors that the translations are professional.
A foreign organization should give the highest-volume distributor the duty to review and correct any translations in his native language. This stops critiques by other native speakers, who tend to believe that no foreign organization will never know their language as well as they.
Examples of embedded systems
- automatic teller machines
- computer printers
- disk drives
- cellular telephones and telephone switches.
- inertial guidance systems for aircraft and missiles.
- medical equipments
- video game consoles
- industrial machinery use programmable logic controllers to handle automation and monitoring.
- engine control computers and antilock brake controllers for automobiles
- wristwatches
- household appliances, including microwave ovens, washing machines, television sets, DVD Players/Recorders
- home automation products, like thermostats, sprinkler, and security monitoring systems
- network equipment, including routers and firewalls
See also real-time, real-time operating system, microprocessor