Hi. My name is Steve, and I write software for Windows. Unfortunately, I can’t talk about too many specifics yet, but I can say that the team I joined back in March has been working on stuff to ship in Vista. By the time the PDC roles around, I should be able to talk freely about things.

If you’ve been reading Furrygoat for awhile, you’ll already be aware that one of the topics I’m particularly passionate about is the ’software experience’. I’ve gripped about everything from  inconsistencies between media libraries, bad software experiences, to being thrown up on by my newborn. To be honest, it all comes down to my parents and my in-laws: If they can finally figure out how to use software and feel like they can accomplish anything (i.e., Kathy’s "I Rule" feeling), that’s when I know my job is done, and I can go sell ice cream and forget this whole software thing.

Now, here’s a problem that I face more often that I should: Consistency vs. User Experience.

On one hand, I have a set of common controls provided to me by Windows. Every developer (and end user) is familiar with them. When I say ‘common’, for me that not only includes the set of controls that almost every app is built upon, such as TreeView’s and ListView’s, but I’m also talking about common dialogs, user preferences and themes, etc. The idea behind them is simple: every application should have consistency between the control set. Applications should respect a users color choices, even if it is ‘Hot Dog Stand’. Can you imagine a world if every application had a different "Save" dialog? Total chaos.

Here’s the problem though: what if a common control just doesn’t cut the mustard? Or what if a users current COLOR_WINDOW is ugly (it’s bone white by default) or someone decides, well, you should ignore the fact that menus usually have a gray background and put a gradient in instead? Do you disregard user preferences and system standards in the name of ‘eye-candy’ and ‘user experience’? It’s a really tough call: side with consistency or go your own route? End up looking like MS Word, which is as ‘basic’ Win32 as you can get, or go down the ‘Inductive’ User Interface route and look completely unlike anything else in Windows and end up like Encarta or MS Money. Or even more to the extreme and end up like Kai Power Tools.

To be honest, I’m not sure of the right thing to do. Some days, I feel that keeping with ‘consistency’ is the user experience, while others I feel like I just need to break something to do what makes the best end user experience.It’s a tough call - I’d be curious what people think is the right thing to do.

One last note: Someone (ANYONE!), please update the Microsoft Inductive User Interface Guidelines and the Microsoft User Experience Guides. No one has touched these since 1999 and 2001.



6 Comments

    Phil Ringnalda (August 7, 2005 @ 11:26 pm)

    Depends. Most of what you’re talking about, people who pick ugly colors, or the boring old menu appearance? Don’t even think about messing with them: if you want to shine and be pretty and different, do it in whatever your app’s equivalent of a content area is, and keep it out of the chrome, where your goal ought to be invisibility: if the user doesn’t even really notice that she’s using a menu, you’ve won.

    But, the common controls that don’t cut the mustard? That’s a little different. I don’t know its name, but there’s one directory picker (the one that Firefox uses if you choose to install in a custom directory) that’s so evil that you’re almost better off with just a textbox to type a path into. There, you can’t possibly be more confusing by writing something nobody’s ever seen before.


    Jason (August 8, 2005 @ 8:59 am)

    I have to say, I hate programs like Windows Media, Encarta or MS Money. It takes too long to learn how to use new software as it is. I can’t be bothered trying to figure out how to do basic, common tasks like save, open, cut, edit, paste.

    It is one of my biggest software grievances. I can’t believe it when Microsoft breaks their own rules in programs like the examples listed above.

    I totally agree with you that that ‘consistency’ is the user experience. That’s the best way to get mom and dad using my software. It’s got to be predictable.

    If one must do it differently, then there should be skin options, which are easy to find.

    My humble opinion.
    Jason


    Dave (August 9, 2005 @ 6:27 am)

    So many angles to come from.

    I agree with Jason, those Encarta/MS Money interfaces are nasty. Ok, so they look nice, but they fail the Mum test (her mouse wanders around as she learns and eventually gets tired of it all).

    If Microsoft was continually updating the UI and including new tweaks for common controls, we’d be in the same dev pattern as Red Hat/Mandrake/every other linux GUI. I think the difference between 95/98/2K/XP reflects the learning curve of the masses. Most people say they aren’t good with computers and it takes them a while to feel at home with a complex GUI (don’t laugh) like Windows. The people that push for change, usually want something that makes their life easier…unfortunately, they rarelly consider that their understanding may be better than the masses.

    I guess this is where the MS IUI docs come in. You’re right, they really do need to be updated. If the person/team who does it, does it right, they’d be making great leaps for Vista. Having seen some of those technology previews of various interfaces (you know the ones; the longhorn movie of a factory production line), I’m confident MS will eventually make all GUIs consistent - but the next consistent has got to include some fundamental changes (remember we discussed the media center ideas?) for Vista to stay dominant.


    Mark Finkle (August 10, 2005 @ 10:28 am)

    I think you need to factor in who you’re writing the software for: technical users or normal users.

    Normal users benefit from the IUI methodology more than technical users. Normal users can’t effectively navigate horizontal, nested menus. Having command/action choices in full view and based on the current context makes life easier for normal users. I find that website usability concepts are also effective for desktop applications. IUI is a nice framework for implementing website-style concepts in Windows apps. I have been involved in several usability test over the past months, and I have seen the frustration of normal users trying to use features implemented in conventional ways.

    Technical users may not like the feel/look of MS Money, Encarta, Quicken and Turbo Tax; but normal users find them easier to use than their conventional counterparts.


    Derek Potter (September 28, 2005 @ 5:13 pm)

    No-one needs any of that bullshit. Shove your skins, preferences and toolbars and view options! Make me an app that works properly, doesn’t f*** with my system, is easy to learn and works with existing file formats. If you can’t do that, get the hell out of software and take a real job which might justify your existence on the planet.


    Derek Potter (September 28, 2005 @ 5:15 pm)

    No-one needs any of that bullshit. Shove your skins, preferences and toolbars and view options! Make me an app that works properly, doesn’t f*** with my system, is easy to learn and works with existing file formats. If you can’t do that, get the hell out of software and take a real job which might justify your existence on the planet.


Sorry, the comment form is closed at this time.