Deprecated: Function split() is deprecated in /home/tbriggs/public_html/s9y/plugins/serendipity_event_metadesc/serendipity_event_metadesc.php on line 101

Tom's Fifth Law: User Interfaces Should Look and Feel Native

If you're building an application that will run on Windows, it should look, feel and behave like a standard Windows application. If you're building an application that will run on some flavor of *nix, it should look, feel and behave like a standard application for that flavor (Gtk, KDE, X/Motif... whatever). If you're building a command line application for a given platform, it should take look, feel and behave like a standard CLI app for that platform (argument styles, argument names, output destination... whatever). Etc. etc. etc.

Why? Because when using a certain system, one expects applications to look, feel and behave a certain way. Accordingly, you expect to start them up and put them to work. When they don't look, feel and behave like the other applications that run on that system, however, you are forced to focus on the application's interface rather than on its functionality. This makes the application more difficult to use, which makes it less functional, less useful and ultimately less desirable.

So put away those spiffy widget sets and the customized controls, and stick to what everybody's used to. Your customers may not thank you for it, but your potential customers will notice if you don't.
Trackbacks

Trackback specific URI for this entry

No Trackbacks

Comments
I'm not a Mac lover but but isn't it the first rule of Mac applications interface design?

To do all UI in one, consistent style.
I can't say, as I've never developed a GUI app for the Mac, but given Apple's general emphasis on UI usability it wouldn't surprise me.
Amen.
In my opinion this is why Java based GUI's never went mainstream (among other reasons).
Amen brother. Couldn't agree more. Even the Windows "theme" for... Swing, was it? was a poor approximation.
Add Comment



Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.