If you're ever shown a UI design for a new top-level application window, be sure to notice whether the controls on the window happen to perfectly fill up on the available space. This is often a sign of trouble.
Many application windows are resizable. (If a top-level modeless window isn't resizable, it's a reasonable question to ask: why not?) A common mistake when designing resizable windows is to focus too much on some perfect window size that happens to show off the window's controls to best advantage -- a window size that few people other than the designer is ever likely to see. It's important to question how the window is going to respond when the user resizes it. For example, many users commonly maximize the application window they're working in. A surprising number of applications actually look awful when they're maximized on a typical large display: the additional space the designer didn't design for is either wasted or allocated to some control (often a text box or list box) that didn't really need it.
There are a few more gotchas to consider as well:
1. When UI text is translated from English into a non-English language, all the controls that previously fit perfectly are now clipping the text or overflowing into one another. Existing attempts to address this problem either leave a lot of whitespace in the English version making it look daft, or rely on localization vendors to layout the controls themselves and since they tend not to deeply understand the program flow it often ends up as a diabolical mess. Try running a French or German version of an originally US product and look at the dialogs :-(. The UIs that don't have this problem are ones with a flow-based layout (e.g. HTML, but not tables) rather than absolute positioning.
2. Large Fonts. With the wonders of high resolution displays text can get really tiny. Turning on large fonts (in MS Windows at least) really messes up a lot of app's UI.
On a related topic, this is one place where Firefox did a great job, because the text resize feature always works no matter what styles are used in the HTML.
Posted by: Mark Bramley | July 21, 2005 at 01:41 PM