User Interfaces For Touch Screens?
BSemrad asks: "I am writing a large application that must run on a normal desktop PC and in an industrial environment (again on a PC) using only a touch screen for input. I am looking for suggestions on Widget/UI toolkits that make it possible to write an application where the fonts and controls are expanded by about 200% for the touch screen environment and are normal sized for the desktop environment. Using dynamic sizing for dialogs and screen controls this should be possible, shouldn't it?"
If your application is very simple, you can probably just get away with doubling everything.
But if you're writing something even moderately complicated, you should look at doing custom interfaces for both. Why? A number of reasons.
The big one is that interaction styles in desktop and touchscreen environments are generally pretty different. Early touchscreen proponents ignored this, resulting in a lot of problems, including gorilla arm. Fingers are also much bigger and less precise than mouse pointers. This suggests that touchscreens should work hard to make common choices much bigger, to give more macro-ish buttons that perform common sequences, and generally make frequent activities very easy.
Another important reason is that people sitting at a desk are generally in a very different frame of mind then people at a kiosk or running a big piece of machinery. At a desk, you are generally physically comfortable and familiar with your environment; you're also likely to have fewer distractions and be more familiar with the software. In common touchscreen environments, though, people are usually standing or just stopping for a moment, and they're much more likely to be inexpert users. So with a touchscreen, you should probably make the basic interface much simpler: enlarge or emphasize more important information; shrink or remove less important information; relegate rarely used options to other pages; make on-line help more simple and direct; and so on.
Also, a number of the standard GUI widgets don't work as well in touch-screen environments. You'll note that most kiosks only have buttons, with the occasional radio button or checkbox set; there are no pull-down menus (and especially no hierarchical menus), few pop-up lists, scrolling lists, or tabs. And any text or number entry field has to provide a pop-up keyboard.
But if you really can't afford to develop two UIs, then there's a very simple solution: use the touchscreen monitor at a low resolution. An interface that works pretty well at 640x480 on a 15" touchscreen should be adequate on a 1280x1024 17" desktop. But if you do a combined desktop+touchscreen interface, you must do some user testing. Jakob Nielsen's site useit.com has many good hints, including an articles on doing budget user testing plus boss-friendly explanations of why spending a little money on user testing has big payoffs in the long run.