Stop it: UI crime

One of the things that amaze me is:
_Who the frell came up with the utterly idiotic idea that an application doesn’t need to look like it belongs in the operating system on which it is running, or care about the user settings for that OS?_


That utter, total non-conformance, and “coolness” factor, making applications look like a bizarre mix between something that came out of The Exorcist, the Lego factory and Fisher-Price is the reason:
* I threw out Winamp, despite it’s nifty database. All hail “Foobar2000”:http://www.foobar2000.org/.
* I feel like murdering something every time Windows Media player steals my file associations, and opens instead of “Media Player Classic”:http://sourceforge.net/projects/guliverkli/
* I won’t ever install a piece of Windows software from Apple. Quicktime, please drop dead.
* I uninstall ZoneAlarm on any computer I have administrator access to, in protest. The irony of this is of course that I use Kerio, which only vaguely resembles a Windows application.
* I can’t stand 99.5% of desktop software written in Java.
* I am actively looking for a one-stop IM application to replace Gaim (I need, at the very least MSN, AIM and ICQ access). While Gaim may remotely resemble a native Windows application, it sure doesn’t behave or feel like one.
So, let me compress, rephrase and clarify:
No matter how “cool” you may think writing your own widgets and GUI from scratch is, deviating from the look of the operating system under which your software runs is a horrendous GUI choice. There is no excuse for not making a Windows application look like a Windows application.
Some days, I think that there should be a license to program, and developers who fail to meet the UI guidelines for the operating system they are targeting, should have theirs revoked – permanently.
This is one of those days.
Does your application:
* Use the widgets suggested by the user through his default Window settings?
* Respect the user’s colour settings? You know, there _are_ colorblind people who can’t read green on red
* Respect the user’s font settings. You do know that those nifty 8 or 10px-fixed sized fonts are ridiculously small, unreadable and ugly on a 200dpi display?
* Use standardized keyboard shortcuts. There is a reason why Ctrl-C is copy.
* Can your users access menus, windows and tabs the same way they do in other applications, using the input method of choice?
* Look like it’s a Windows application? I’ve seen people that _don’t understand how to use Winamp,_ since it’s so different from their other applications.
If the answer to any of the questions above is “No”, I suggest you throw away your GUI, and start over again. And, if you haven’t read “The User Interface Guidelines for Microsoft Windows”:http://msdn.microsoft.com/library/en-us/vccore98/HTML/_core_the_user_interface_guidelines_for_microsoft_windows.asp (or similar guidelines if your application runs on another OS), go read them.

12 Comments

  1. I would recommend “Joel Spolsky’s”:http://www.joelonsoftware.com/ “User Interface Design For Programmers.”:http://www.joelonsoftware.com/uibook/fog0000000249.html as well. As I’ve said before: “I hate creative developers”:http://virtuelvis.com/quark/archives/199.html.

  2. Peter

     /  2004-11-18

    Well, as a Mac user, I have to find fault with your “Never use Windows software from Apple”, but if I were a Windows user, I’d probably agree wholeheartedly. I remember seeing QuickTime player running under Windows years ago and, even as a Mac user who didn’t run Windows very often, I looked at it and said, “That’s not right…”
    What I thought was more interesting, though, is when you said, “I can’t stand 99.5% of desktop software written in Java.” I agree wholeheartedly and the reason, to me, is the whole cross-platform paradigm.
    While Java and other cross-platform libraries do an okay job of getting the technical issues of fonts, sizes, gammas, etc. worked out, they’re operating on a false premise–that each platform can be broken down to a set of common controls which can be translated for each platform. Thus, all platforms are the same, it’s just that the buttons look different.
    To me, this is the equivalent of saying that French and English are the same language–they just use different words and they put them in different places. However, as an English speaker, if a French person comes up to you and says, “I have heat,” there’s going to be that comprehension thud as you mentally translate the English representation back into French in order to understand that they’re wearing a fur coat in 90 degree (Fahrenheit) weather and they’re hot.
    I remember back in the late 80s and early 90s when lots of companies who made Windows software (this was before PCs automatically started up with Windows, so there weren’t a whole lot of Windows users) decided to port their apps to the Macintosh. They ended up with a bunch of misbehaving Mac apps that nobody bought. Of course, the fault was that there weren’t enough Mac users. But the real problem was that there weren’t enough Mac users who were willing to buy ported software when there was perfectly good “Native” software written by people who understood the Mac interface.

  3. Try Trillian as a replacement for GAIM. Loads of skinning options to both freak you out and please you (look for “classic” skins 😉

  4. Anders: I used to be a Trillian user, when it was free, but I quit using it because of the UI atrocities.
    The “classic” skins may at times vaguely resemble a Windows setup, but it never felt like a windows application.

  5. Anonymous

     /  2004-11-18

    To clarify, Windows is not Gaim’s native platform. It conforms very well with the GNOME desktop (although not nearly perfectly), and it tries its best to fit in on Windows by using a GTK theme that attempts to mimic Windows (and a few other tricks). That can only get you so far.
    As for a replacement, “Miranda”:http://miranda-im.org seems to be fairly popular and Windows is its native (and only) platform.
    _(Ed. note: Typographical edit made)_

  6. I just gave Miranda a try, it feels like less of a native Win32 application than anything I’ve ever tried. I actually think I prefer my mobiles wap interface to MSN than Miranda.

  7. bq.I threw out Winamp, despite it’s nifty database.
    Nothing wrong with WinAmp. Doesn’t it use Windows for the menus? Besides it’s designed to be skinnable. Your main point suggests that no program should ever be skinnable. Otherwise, a skin may be ruined by the blue and sand Windows scrollbars and buttons. It makes sense to change these to match the skin. Or are you saying it’s OK to skin form buttons and scrollbars, but not to totally rewrite them using Java etc? What about Opera’s skin?
    I’m annoyed after upgrading my graphics card drivers. I had to install Microsoft .Net 1.1 to enable a Control Centre to run. This used to be part of Windows, so you could just tab to each page of settings. Now it’s a separate application (with its own GUI naturally) and takes ages to boot up when you need it. I call that regression.
    bq. I won&’t ever install a piece of Windows software from Apple. Quicktime, please drop dead.
    I really like the look of Quicktime. It makes me want to buy a Mac. So much cooler than Windows.
    bq. I uninstall ZoneAlarm on any computer I have administrator access to, in protest.
    Now you are making the mistake of removing a highly useful application just because it doesn’t use the native Windows GUI. I can’t say I’ve ever had any complaints about the one Zone Alarm uses. I would never consider removing it, even if it had a horrible GUI. Once it is up and running, I don’t need to see it.

  8. Chris, I’m not so much arguing against skinnability – if people want to make their OS and applications look like a christmas tree, I won’t deny them. My main gripe with skinnable applications is that they almost _never_ have an option to make it both look and behave like it’s native to the operating system on which it is running. Which is why I use Foobar 2000 over Winamp (There are a number of other reasons as well, such as the ability to play .cue-files, plus the fact that I think it _sounds_ better, when using the KernelStream output plugin, which doesn’t use the Windows volume controls.)
    bq. What about Opera’s skin?
    I can’t particularily say I enjoy the default skin, but there is at least a “Windows Native” skin available (which also respects my colour settings), in addition to actually _behaving_ like a Windows application.
    bq. I really like the look of Quicktime. It makes me want to buy a Mac. So much cooler than Windows.
    If you think Apple’s brushed metal interface looks and feels nice: It’s not that I dislike brushed metal, or anything else Apple, but it feels _wrong_ when I see it in Windows – just as I would say it was wrong bolting wings on to an old VW Beetle.

  9. Chris, you speak of skinnable applications and non-skinnable applications as if there’s nothing in between. There is. It’s no problem to create a native Windows application, behaving the way all Windows application should do, adapting the user’s color settings, font sizes etc., while still being 100% skinnable.
    Microsoft’s System.Windows.Forms allows for this, for exampl; especially in the upcoming version 2.0. There you can just use the default look of the framework which is native Windows. But if you want, you can plug in your own rendering adapters on all controls and make them look like a circus in full action.
    If I’m not terribly wrong, you will even have a set of out-of-the-box adapters that make the controls look and behave like e.g. Office 2003 controls and such.
    System.Windows.Forms is here just an example of what’s possible; native and skinnable applications out of the box, in perfect harmony. This shouldn’t be so hard for Nullsoft, Apple or even Microsoft (with WMP) to gripe, but obviously, it is.

  10. plasma

     /  2004-11-28

    First i think that there is a lot of god and bad code.
    Second i prefere opensource like Linux as OS or FreeBOS .. So if i’ve a problem with the look and fell i could change –
    So there is only one point to say at the end of the storry
    Some users have to be asked “Do you realy want to shutdown your computer” That’s important becourse these users need this stupid questions as they need it, to shutdown the mashine every time they change some system settings.
    //how many reinstalls must a windau do before you can call him a ..//
    No stupid questions comming on my screen -> i think i know what i do ->
    Loosing Data ?? -> think about a backup
    plasma
    – i hate kde its like windoof –

  11. I totally agree with you. I threw out winamp
    and a few more apps, because the GUI made no
    sense.
    I also use Opera for browsing, and Firefox
    for blogging/gmail (because opera won’t work).
    Whoever you are, you got it right, you should
    be working for google.