Slashdot Mirror


Microsoft Vista User Interface Guidelines Published

SEMW writes "Microsoft has published the preliminary Official User Interface Guidelines for Windows Vista. Highlights include Top 12 Rules for the Windows Vista User Experience — and the use of screenshots from Windows XP as examples of what not to do. The full guidelines are as yet incomplete, but what is there makes for interesting reading."

11 of 269 comments (clear)

  1. Breaking your own rules by Allicorn · · Score: 3, Insightful

    So I guess we can take these rules as a fairly good indicator of what interface features the next version of Office will NOT follow. It's been my impression that whatever interface guidelines MS publish, they always seem to very rapidly diverge from them in the own applications.

    --
    OMG!!! Ponies!!!
  2. To do it right... by jcr · · Score: 4, Insightful

    Step One: write an app for the Mac.
    Step Two: get your UI reviewed by Apple's user interface evangelist, John Geleynse.
    Step Three: make all the changes recommended by Apple.
    Step Four: write a windows app that comes as close as you can get to your Mac version.

    Or, you can do what the people who wrote Visio or that guy who ripped off Delicious Library did, and just laboriously copy an existing app knowing that you'll never make it quite the same on Windows.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  3. Integrity? by medoc · · Score: 4, Insightful

    From the article:

    Perception is reality, and if your customers don't experience quality in your product throughout, they may conclude there is lack of quality everywhere. A visual bug seen by all your customers might do more damage to your program's reputation than a rarely occurring crashing bug.

    Mind your icons, not your buffer overflows. Great! Will exploits follow the Vista guidelines too ?

  4. Two things catched my eye by Sun · · Score: 5, Insightful

    The first - the design guidelines (10 out of the 12 listed) are focused on appearance rather than on functionality. Making sure your icons look great (#4) comes long before producing a clean interface (#10).

    The second is that this document carries a severe undertone of "make sure your app only works on Vista, and looks out of place on anything other than Aero". The entire document keeps saying "use Vista only API whenever you can" and "visually design the application to look out of place when not using the Vista UI" (with a few exceptions).

    I guess this is how MS are trying to fight the competition formed by previous OSes being good enough. They try to make sure new applications don't work on them any more.

    Shachar

  5. Just wrapped it up tonight by sporkme · · Score: 3, Insightful

    Vista user experince... for crap. I spent the past couple of months testing this OS, and when my gaming XP boot feels like a safe haven, I know that something is definitely wrong. For migrating XP users, the interface feels counter-intuitive. Even more telling, my college-going roommate has only ever known Red Hat (thank you very much, he has only ever known linux on the front-room computer), and for him the simplest task, like installing Firefox (where's the package?) was torture (not to say there has been a change here). I became so frustrated with ctrl-esc,r yielding a "r" in the ever-so-laggy search sub-start dialogue (instead of a run window) tonight that I just blew out the whole partition. I actually wanted to run iexplore for once! I am downloading Mandrake 64 now, thank the creator.

    I found Vista to be too heavy on the eye candy, and it seemed that "power tools" and control panel received heavy design attention, while the ~deeper~ apps like regedit and msconfig are the same old barf. Vista = skinned XP != new OS. Meh. Shiny? Yes. New? No.

  6. Re:Thank You Microsoft! by Jedi+Alec · · Score: 3, Insightful

    Sorry, but I very much appreciate either a help or a readme to tell me what to look at if I can't get something working. Yes, I am perfectly capable of finding the readme.txt in the folder where the program was installed, but why hassle? If I really wanted to get rid of it I can always delete the shortcut, right? Same goes for links to websites that deal with troubleshooting. If the program doesn't work, you can't access the built-in help or links.

    --

    People replying to my sig annoy me. That's why I change it all the time.
  7. Yes/No dialogs again by roskakori · · Score: 5, Insightful

    One of the worst misfeatures of Windows (and its developer community) is the retarded design of dialogs. AFAIK the pre-Vista API has a bunch a simple functions to do Yes/No and Ok/Cancel dialogs, but nothing to label buttons sensibly. So it's quite common to have a dialog with "Yes" and "No" buttons, and and huge text explaining what these options mean. Despite the fact that every at least semi-decent article or book about dialog design recommends to use verbs for button labels.

    I recently read that Vista finally offers an API to easily change the button labels. Yeah! And guideline 5 (Use task dialogs for new or frequently used dialog boxes and error messages) specifically recommends:

    Use positive commit buttons that are specific responses to the main instruction instead of generic labels (such as "OK"). Users should be able to quickly grasp the options by reading the button text alone. Always start commit button labels with a verb.

    Yeah again!

    However, above this guideline we can see a screenshot of the classic, super retarded Windowesque "Save changes? Yes/No/Cancel" dialog.

    I suggest for the final document they just copy this dialog from any random Mac OS application and put a Vista theme on it.

  8. I have one for Microsoft by Greyfox · · Score: 3, Insightful
    Don't let the application handle the window frame. Even their latest OS feels sluggish and unresponsive when retarded applications (Like Outlook) stop processing Window frame controls because they're syncing from the network or some other bullshit. I should always be able to move, minimize and close an application immediately no matter what that application is doing. This has been a pet peeve of mine ever since I was first exposed to Windows back in the 3.0 days. OS/2 actually had the threaded OS before Microsoft did and you could always tell the shoddy knock-off ports of Windows 3.1 software from the code that was actually written for OS/2 because proper OS/2 code at least made an effort to process events in threads, while the knock-off ports would hang the entire OS up when they stopped processing events to index disk and stuff and the system input queue filled up. At least Microsoft got that right and most of the time a misbehaving application will only lock up its own window.

    Now if an application were written properly this wouldn't be an issue -- the application would have a thread dedicated to UI work and in theory the interface should be highly responsive, but you're trusting all the application developers to implement their programs properly and not even Microsoft is capable of setting a good example. Their OS would almost not suck if they'd just fix this one design flaw and I'm going to keep blowing this horn until they do.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  9. Re:The Rules: by kestasjk · · Score: 3, Insightful

    If you're replacing a 97 Wizard, you should use an Aero wizard. If you're writing a new app, please do not use a wizard. They're obnoxious, and send the message: "We didn't know how to organize your options in any sort of logical way, so here's a powerpoint that lets you fill in the blanks, masquearding as a UI."

    Wizards are like many UI constructs; they are often abused but they can be very useful. Access data import Wizards, installation Wizards, Visual Studio database creation Wizards, etc.
    Whenever you need the user to enter a series of logically grouped options before you can begin to do what the user wants a Wizard is the way to go. It's either going to be a Wizard, or a large unwieldy dialog box.


    I think Microsoft's suggestions here are all good, but of course if you're the sort of developer that has to read them you're probably the sort of developer which doesn't care about the UI and won't implement them anyway. Which is a shame, because the UI can go a long way to make your program better.

    --
    // MD_Update(&m,buf,j);
  10. Don't dumb it down. Not all your users are dumb. by oyenstikker · · Score: 4, Insightful

    Present choices * and settings in terms of user goals, not technology. Use everyday words when you can. This is especially
    effective if you are explaining a complex technical concept or action. Imagine you are looking over the user's shoulder and explaining how to accomplish the task.

    Technology-based:
    * Enable Internet Connection Sharing host
    * Manual Duplex

    Goal-based:
    * Allow other network users to connect through this computer's Internet connection.
    * Print on both sides of the paper.


    This tendancy annoys me more and more with ever release of Windows, for many reasons:
    1) Most everybody knows what "duplex" means. Why not let those who don't learn what it means instead of pretending the word doesn't exist, and encouraging people to forget.
    2) When I am on the phone with a user, I can say "look for the options that says something like "Internet Connection Sharing". Most users will not find the goal-based option, as it does not include the word "sharing".
    3) I know what I'm looking for. I know what it was called in NT4, 2000, and 2003 server. Now I have to read paragraphs and guess that "Allow other network users to connect through this computer's Internet connection" is Internet Connection Sharing and not Web Proxy.
    4) It encourages the user to not learn about the very complex piece of equipment he just bought. If you provide a good searchable manual instead of dumbing everything down, the program will be easier to use, and the user will learn more.

    Imagine if your grill didn't say "Ignite" above the red button, but "Make the fire start", or if your toaster didn't say "Toast", but "Make your bread crispy", or if your car didn't say "ABS", but "Automatically remove and reapply pressure on the brake so your car doesn't skid. Don't pump your brakes".

    This is slashdot, so I need to reference either Orwell or Rand:
    Or are they trying to reduce English to a smaller set of simple words that everybody can understand? Double-plus ungood.
    --
    The masses are the crack whores of religion.
  11. Re:This made me laugh. by ChronosWS · · Score: 3, Insightful
    For brevity I am only quoting the rules you stated, not your responses to them.

    Don't provide unnecessary details. A well-labeled progress bar provides sufficient information, so provide additional progress information only if users can do something with it.

    Error log files should be provided for these cases. The single line of rapidly flashing text will either be ignored by most users or be cause for alarm (because a lot of very important/cryptic stuff is happening rapidly.) IT pros are already used to log files. I have, in fact, noticed more and more applications are providing logs of what occurred during lengthy operations and these have the capacity to provide much more useful information than a status bar. MS is right on this one, what they forgot to say was where such additional progress information should go.

    Present choices and settings in terms of user goals, not technology.

    I agree that from a helpdesk perspective, this is going to cause issues, but from a 'can the user get themselves through the first hour without reaching for a book of computer terminology' perspective it's probably more of a win. I am not sure which choice is better - it feels to me like either way you go you get problems. But given the general design theme MS is trying to achieve (not alienating the user with cryptic text) this rule is at least consistent.

    While the minimum Windows Vista screen resolution remains at 800 x 600 pixels, resizable window layouts should be optimized for 1024 x 768 pixels.

    "Optimized for" is not equal to "design only for." This rule is treated more completely in the detailed rules for Vista UI design. 800x600 is really, REALLY low resolution these days - you'd be hard pressed to find a Vista-capable computer that couldn't display 1280x1024 and be sold with a monitor to match. I suspect this particular element was influenced in part by the possibility that Media Center PCs would be hooked up to TVs or some other such case. I'd imagine the chances of a general application actually being constrained to this requirement is very small.

    Don't accompany error messages with sound effects. Doing so is jarring and unnecessary.

    This should probably read "Only use sound effects for critical error messages, not for less important notifications and warnings which do not require immediate user response." On the other hand, MS may have decided that if the user really cared about the operation, they'd be sitting at the machine actively tending the UI, and making undesired sounds would interrupt their other activities. I personally find the flashing window notification method in the task bar to be suitable when I am at the machine, even if I am reading a book. Again, if the immediate completion of the operation is important to me, I'll watch it. In the corporate IT environment perhaps this requirement is different.

    Don't use the warning icon for routine questions. Doing so is counter to the encouraging tone of Windows Vista and makes using your program feel like a hazardous activity. Assume users understand the consequences of cancelling a task before it is finished.

    MS is clearly trying to make computers "feel" less opaque than before, even if to the tech-oriented person that feel actually obscures the underlying operations. There is also an underlying meaning in this rule that the application developer should design their software such that cancelled operations have user-predictable outcomes. For instance, cancelling an install should NOT leave the application half-installed - it should revert any changes it has made. Cancelling the copying of a file shouldn't leave half of a file copied. On the other hand, users are expected to know that cancelling a format will not revert their drive to the previous state - this is why such irreversib