Cunning UI Design for Embedded Systems

By paul ~ January 14th, 2009. Filed under: Announcements, Systems Engr., Tips & Tricks.

I guess we’ve all encountered gadget user interfaces that were less than optimal, if not outright stupid.  Huge numbers of embedded devices with touch screens are appearing on the market.   Given this flood of tactile deprivation, I was thankful to see Niall Murphy’s recent article on with some very helpful UI “design tips”.  If you’re designing an embedded system and considering the use of a touch screen, please, please read his article.

Something Niall does not mention in his article is the role that virtual prototyping can play in getting your user interface design right.  If you’ve read the Digital Imaging With ARM and Voice Interactive Nav/Com case studies, you’ve seen some examples of how Foresight can be used to help.  In the former, Altia Design is used to prototype a digital camera interface.  In the latter the device is voice interactive and the UI behavior is entirely handled via audio.

The power of this approach comes from the fact that not only the placement and type of controls (or voice commands) can be visualized, but the behavior of the system can be accurately simulated.  This enables Human In the Loop simulations where a user can interact with the system in real-time.  Experiments with alternative interaction strategies, control placement, etc. can be rapidly performed in a virtual environment resulting in quick convergence on a graceful solution.  Mechanical prototypes can be linked to the simulation in the same way in order to evaluate a UI with mechanical controls.

For very complex systems with training requirements, the resulting virtual prototype can be used in the development of training materials and training delivery.  Foresight’s CoderC++ product makes it possible to compile simulations into stand-alone executables that can be easily (and freely) delivered for evaluation and training purposes.

Human-Machine Interface (HMI) design using virtual prototyping is really part of an overall model-based systems engineering flow and can be invaluable in flushing out all of those tiny little interaction requirements that are often overlooked.  Creating a user interface that meets the basic IO requirements is easy.  Creating a user interface that users coo over is an entirely different matter, and that’s what we really want to accomplish.

2 Responses to Cunning UI Design for Embedded Systems

  1. paul

    OK, I know it’s tacky to comment on your own post, but immediately after writing this I came across this review of the 2010 Prius audio system:

    “Loading CDs is a little counterintinuitive the first time around. Pressing the audio button does not bring up an Eject command. Pressing the Close button does (sort of like clicking the Start button in Windows to shut the computer down). Then a screen appears with the present CD displayed, and and Eject option or two, depending on how many CDs are loaded. Touching Eject on the screen evoked the “wow” factor as the screen moves up and tilts forward, revealing the CD insert/eject slot behind it. After loading CDs, pressing Close restores the screen to its viewing position. MP3 folders and tracknames can be read from the display as in the 2nd Gen Prius, although the graphics and layout are different.

    The next wow factor comes in using the steering wheel mounted switch clusters. Placing your thumb over the switch causes an image of the switch cluster to appear on the dashboard display, beside the speedometer readout. The button that you are touching is illuminated, and will change as you move your thumb around the four quadrants of the switch, so you know exactly which switch you are about to push without looking at the steering wheel. The volume can be changed, and the track being played can be advanced or moved back. Pressing and hold the track advance switch moves to the next CD. In short, the problem of dim steering wheel switches has been solved with a brilliant leap of technology.” Doc Willie at

    HMIs clearly matter. The HMI here received as much attention in the post as the audio quality!

  2. NiallMurphy

    Your post reminds me of a CD-ROM drive in a PC that I had, where pressing the open/close button would make the tray come out above the button. This meant that the button was quite difficult to find and press unless the drive was eye-level or higher (which would be rare I think). The drive probably looked great in the CAD drawings, but sometimes 5 mins of real use tells a different story,