Consistency in user interface behavior

This post was originally published here.

I know I can’t be the only person that gets annoyed by this, but the developers of Windows Messenger and Office Communicator must have been on crack when they determined behavior for the “Close” and “Minimize” button.  Every application I have ever used closes when I hit “X” and minimizes when I hit “_” in the title bar.  Tray icon applications are even smart enough to minimize to the tray when I hit “_”.  But they still close when I hit “X”.

For some reason MS wants to be above this.  When you hit “X”, it doesn’t close Communicator.  No, you didn’t REALLY mean to close (exit) it, you just wanted to minimize it to the tray icon.  For some funny reason, 99.9% of all tray icon applications actually CLOSE and EXIT when I hit “X”.  Even other MS tray icon applications follow this rule.  I use Virtual PC 2007, and when I hit “X”, it exits the whole application.  When I hit “_”, it minimizes to the tray.  But now I have to think twice when I have VPC 2007 open.  I have to wonder, is this one of those MS applications where close means minimize?  Oops, I clicked “X”, and that was really “Close” for this one.  Time to start over.  So now with MS tray icon applications I always click “_” first to try and minimize to tray, and if that doesn’t work, I’ll click “X” next.  Forever a two-step process, thanks a bunch.  Real intuitive.

Lack of consistency in the behavior of common tasks such as clicking the “X” button just kill me.  You may want a New and Improved Way of doing things, but if you violate the consistency and expected behavior of an operation, you’ll likely infuriate your end users no matter how great the new behavior may be.

Another reason to love ReSharper