Windows User Interface Gripes

| | Comments (10)

Ok, fair is fair. I went on a rampage about what things bother me about Apple's user interface (and in the process, I've seen the power of Mac bigots in large numbers. lol). Now it's time for me to bash the Windows user interface for the stupid things that it does. Something tells me that the general reaction from my blog readers won't be to inundate me with 200+ comments telling me I need to get laid...

  • Hiding keyboard mnemonics until the user presses the Alt key has got to be one of the more stupid things you can do. Especially given the fact that not all keyboard mnemonics require Alt to be held down, and the accelerator will still fire, even if the mnemonic is not visually underlined. To make matters worse, the behavior is inconsistent with itself! When the mnemonics start off hidden, and you hit the Alt key, they are shown. You release the Alt key, and the menu mnemonics are hidden again, but all others stay shown for that view. Sheesh!
  • Speaking of hiding things...Microsoft had the genius idea to hide uncommon menu items. This forces the user to go down to the little widget at the end of the menu which then shows all the menus items (with the hidden ones having a slightly different look). The idea is laudable -- they want to reduce the number of options to scare users with. But in practice, this is a bad idea. Users don't like the idea that they might be missing something. If they know the options are there, then they want to see them, because one of those hidden items might be what they're looking for. For example, I've seen users open up the File menu, mouse over the little widget to display all menu options, and then choose Save (which was already on the menu to begin with!). Of course, I still prefer this over the Apple-way of holding down the Option key to change the menu's meanings since this at least provides the user with some UI to let them know the menu can change.
  • I could go on for hours about what a stupid idea it is to promote skinned application interfaces like the one Microsoft provides with Windows Media Player. The entire purpose of having interface guidelines is for consistency. Once you decide that skinning an application is the way to go, your application is now 100% foreign to users. It's a horrible idea, no two ways around it. Yeah, it may look pretty, shiny and cool. To a 12 yr old. But it nullifies almost everything a user expects from an application, and is more likely to be inaccessible to anyone with a disability. I realize this isn't so much the fault of the OS as it is the fault of application designers, but it still aggravates me to no end.
  • I think the entire idea of AltGr as the only way to enter international text is stupid. Quite honestly, this is one thing Apple got right. I don't use international keys terribly often (usually only when being a goofball and writing in Spanish), but even I was able to figure out how to enter an ñ -- something I've never accomplished once on Windows without having to look it up/copy and paste it. Further more, AltGr eliminates an entire keyboard modifier that could be used for keyboard shortcuts. As it stands, people just use Ctrl+Alt as a keyboard shortcut (on English systems) and don't realize what a mess they are making for international users.
  • Keyboard navigation with the Tab key is only as good as the software which uses it. Since a lot of people (professionals and amatures alike) don't pay attention to the tab ordering, it's quite easy to get inconsistent applications. However, on Linux, the window manager is responsible for enforcing tab ordering, and it doesn't do it based on control creation. Instead, the window manager enforces a top-down, left-to-right tab ordering that you have to work hard to break. So by default, all applications behave correctly -- it's only the ones that have some really strange UI that break the mold. If you're going to have a concept that's so pervasive like tab ordering, then you should try to enforce it by default.
  • Window grouping in the taskbar has to be one of the most annoying features I've run into in a while. The entire point to the taskbar is to provide the user with an easy way to see all open document windows and switch between them (assuming they don't know about Alt+Tab). Now with window grouping turned on (by default!), you can only know which applications are running. Switching between windows is a larger PITA. I group this in with the "hiding things" complaints -- there's no reason to hide document windows on the task bar until the bar becomes so littered with windows that there's no other way.
  • While I agree that the wizard design pattern has a valuable place in user interface designs, I think that some places take it overboard. For instance, I've run into a number of one and two page wizards where the only real point to the wizard is to attempt to educate the user on how to do something. I'm sorry, but if the only way to accomplish the goal is via a wizard, then the user doesn't need or want education since they can't actually use it. It's a terrible waste of time and space. What's more, the standard wizard design has two entire panels of uselessness. The first one is the "Welcome!" one, which is a waste of time which is rarely read. And the final page just says "we're done now" and is also a waste of time. Wizards have their place, but Microsoft has gone overboard with them. For instance, when the user goes to a help file for the first time, there's a two-page "wizard" which asks the user whether they want to optimize for speed (recommended) or size. Um.. who cares? At the point in time at which the user is going to a help file, they want to get HELP. They could care less about a "help file(s) (database)" and really just want to accomplish their original task. Since there's a recommended setting, just use the damned thing.

I know there are a whole bunch more that I could talk about, but I think you get the point. Just like Apple has some very stupid UI decisions, so does Microsoft, and so do the various Linux distros. Every OS has some things they do well, and some things which they don't do well. The good news is that all OSes are striving to provide a better user experience and that's what really counts.

10 Comments

I, personally, like skinning. I think an application is just a bunch of code with the standard UI...but once you put your heart into a specialized look, then it's a work of art. Not saying I like every skinned app I've ever seen ( quite the contrary, actually ), but I do like to see some genuine originality in an application.

I know that goes against the UI Guidelines, I know it makes a lot of developers angry, but I think a lot of non-tech users with few to no disabilities enjoy their skinned applications ( Yahoo! Messenger, for example ).

I also feel that even when skinning, it's important to follow certain UI design rules. Tab-Order, OK/Cancel button locations and focus, etc. Just simple things that make it a bit easier for anyone to just pick up and run with, while keeping your own look and feel on the iface.

:: Prepares for a flogging ::

The trouble with skinning is that the cool factor is offset by the "where the heck is this" factor. It provides such a drastic inconsistency with "normal" applications that it tends to wear on the user. It may look pretty, but little annoyances add up to frustration. It's not just for people with disabilities either -- regular users get annoyed too.

I'm not saying it's impossible to skin an app and still have a good user interface. I'm just saying that the vast majority of people can't do it properly. Skinning an application should only be done very rarely, for very good reason and only by people who truly understand UI design.

Here's something which a lot of developers forget: no one cares. The vast majority of users out there really DON'T care about looks and so on. They care about whether it gets the job done and gets it done well. The ideal application is one where a user forgets that they're using a computer. They get into the "zone" and everything just works and they don't have to THINK about how to get something done. *That* is a good user interface. And that's almost never one which has been skinned, since the skinning means they have to think about where's this thingy and how do I do that whatsit.

I have XP and 2000 (both PRO) installed on my machine but I use 2000 99.9% of the time - I don't like XP! I only use XP to test if my developed applications are working as expected.

I also don't like the hidding of keyboard mnemonics, hidding of menu items and the window grouping in the taskbar. As for AltGr I don't have any problem with it on my non-english keyboard - the only problem I had with AltGr key was with RB when I couldn't use it to type some chars ;)

Aaron said: The vast majority of users out there really DON'T care about looks and so on.
It depends on the target market! If you're going to develop an application for teenagers you better do a cool skinning application even if there's no competitors on the market ;-) What I think is that skinning applications should provide also a non-skinning version. I prefer non-skinning applications.

About the Wizards, Microsoft has made good modifications for Vista. They address some of your concerns on using them - for example they say "Unnecessary Welcome and Congratulations/Finish pages have been removed to increase efficiency" ;).
Here are some links for the Vista UI guidelines:
Wizards:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Windows/Wizards/Wizards.asp
Top Rules (check "Rule 6: Use Aero Wizards"):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Resources/TopRules/TopRules.asp
Top Guidelines Violations (check the "Wizards" section):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Principles/TopViolations/TopViolations.asp

@Carlos -- true about the target market. I was speaking in general terms since most people target markets which can afford to pay for software. ;-) And you're right, Vista has gone a long ways towards improving the user experience, and I'm well aware of the current set of Vista UX guidelines. :-)

So what don't you like about XP that keeps you in 2k? And does Vista address your issues?

@Aaron, I agree about the "Where the heck is this..." factor. I tend not to use applications which mangle the general feel of how a program should operate ( with Nero being the only real exception ). When I think of Skinning, I think of an interface that matches the UI guidelines in most key areas, but allows for changes that make it purty. For instance, make your app with all of the generic controls, strictly following the UI guidelines, then go back and replace pushbuttons, and bevelbuttons with a custom button control. Do the same for any other controls, colors, etc...but keep the iface as easy as possible.

@Carlos, I've always hated thos blasted blabbering pages in wizards...glad they were removed. Any other really nice changes in the UI sphere going on int Vista ( no, I've not used it yet )?

@Aaron:
What keeps me with 2K instead of XP? Mainly because XP is mostly a 2K version with a "decorated" UI with some bells and whistles that I don't need ;)

But it's more a personal preference - I find 2K much more easier to use (and config) than XP. On a side note, maybe the fact of having a MCSE for Windows 2000 has also some influence ;)

About Vista, from what I've seen and read (also on your blog) I'm sure I will use it much faster and more than XP. But it will not replace my 2K machine with XP - I will need to have both 3 for developing purposes.

One question about Vista and RB: If we develop a RB application on Vista, will it work on previous Windows versions? I think if developed on XP or 2K it will work on Vista, the opposite I think I never read about it.

@Anthony: I also never used Vista ;) What I know is from reading their UX guidelines that are very useful for anyone developing applications for Windows (any versions) - just follow the links I posted and you'll find very good info.

@Anthony -- the skinning I'm referring to is more like WinAmp, where there's no consistency even between skins on the same app.

@Carlos -- I'd imagine dev work on Vista will be the same as dev work on XP in that regard. When you dev on XP, you can still run on 2k or 98. So when you dev on Vista, you should still be able to do the same thing.

@Aaron. Gotcha. :D

My biggest gripe about skinned apps (and OS's for that matter) are how much resources are wasted just making it look "pretty". And what some skin authors think is "pretty" is drastically different from my version :P

I prefer consistent, organized UIs. I hate that Media Player went skinned, what a waste. I also can't stand the UIs for RealPlayer, iTunes, and QuickTime Player (obviously I'm on Windows XP). They don't look like they belong and appear like misfits that forced their way onto my screen.

Even XP itself is inconsistent in how it applies its own "theme". Developers have to specifically target the "new themed" controls and have their app fall back to the "old" controls if the new ones are not present. Why the heck couldn't MS make sure the new controls replaced the old?

My personal feeling is that too many developers with skinned apps tend to put more quality code into their skinning engine than the product itself. All sizzle and no steak! But what can you do? Too many users are intrigued by pretty colours, icons, and pictures and too often choose a "pretty" application over a useful one (much to their dismay later).

[End rant] :P

Leave a comment

Disclaimer

I'm currently an employee of REAL Software. My blog is mine. The opinions represented in this blog are mine as well and may not represent my employer's opinions. All original material is copyrighted and property of the author.

REALbasic® is a registered trademark of REAL Software, Inc. REAL SQL Server™ and Lingua™ are pending trademarks of REAL Software, Inc. All rights reserved.