The craft of UI design: flow|state

Date:November 29, 2005 / year-entry #366
Tags:other
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20051129-00/?p=33163
Comments:    41
Summary:You can tell right away that Jan Miksovsky's flow|state is about user interface design. I've had the pleasure of working with Jan when he was at Microsoft. Whereas I focus on the mechanics of making a user interface happen, Jan looks at the bigger problems of design and interface architecture. For example, in this entry...

You can tell right away that Jan Miksovsky's flow|state is about user interface design. I've had the pleasure of working with Jan when he was at Microsoft. Whereas I focus on the mechanics of making a user interface happen, Jan looks at the bigger problems of design and interface architecture. For example, in this entry he considers the issue of asking the user unnecessary questions and highlights some ways you can avoid hassling the user with a barrage of questions while still giving the user the ability to answer the question if they choose to. Good stuff.


Comments (41)
  1. >you can avoid hassling the user with a barrage of questions while still giving the user the ability to answer the question if they choose to

    basically the secret is to default common values to the required fields, so that if the user doesn’t bother answering the questions, we can still have the best (and most accurate to the action that is being performed) scenario possible

  2. AC says:

    Eber: No, the secret is "no dialog at all". Like the "New folder" example. Let the user do something, and let him then easily adjust what he did.

  3. Gabe says:

    I don’t think this adequately explains why the name of a new folder defaults to "New folder". I think it’s safe to say that approx. 100% of people do not want this as the name of any folder, yet somehow these folders pop up all over the place — usually empty. I suppose this is an example of where a user SHOULD be required to answer a question before getting a result. I’ve never seen an application that saves documents as "Untitled" by default and then lets you rename them; all applications require you to provide a name before saving for the first time. Why isn’t it the same with folders?

  4. greenlight says:

    Gabe: Probably because the original Mac OS always had a folder called New Folder on the disk, and to create a new folder, you’d rename it to something else, and a new "New Folder" would pop up. In some revision they changed it to require "New Folder" to be selected from a menu first, since the "New Folder" folder was confusing people. Then everyone else just ripped off Apple without understanding the history.

  5. AC says:

    Gabe: On my W2k, when I select a "new folder" from the menu, I can immediately type the name of the newly created folder. I consider that as an example of a good UI. If the user doesn’t understand what he did (what to do with the folder), he would understand even less with the dialog.

    However, I know one reason for empty "New Folders". The permissions: a non-admin user has a big chance to have the "read" and "create" permission but not a "rename". However the resulting behaviour of Windows is broken. He should be allowed to rename the things he personally created (as he has the "create" privilege anyway). It shows once again that even MS developers don’t test enough without admin privileges. How’s Vista in that regard?

  6. I think the main reason for empty New Folders is that the user used it as a temporary container for some operation, and then it forgot to remove the now empty folder (I often do this when operating with compressed archives for example).

    Anyway I think the UI behaviour is fantastic in this case.

  7. Brian says:

    In my experience, the ‘new folder’ behavior is one of the most confusing things for new users. I’ll often go to a persons computer and on the desktop, they’ll have ‘New Folder’, ‘New Folder (2)’, ‘New Folder (3)’ and when I ask where their document is, they’ll say, "I think it’s in folder 2…"

    Just last week I was trying to show a person like this how to rename the folders, but he ended up renaming some random shortcut on his desktop instead (he was a sloppy clicker too). He eventually decided to just leave the default names.

    A simple "enter folder name" dialog when you select "new folder" would make life easier for a lot of people, from beginner to advanced.

  8. Lance Fisher says:

    I like how Windows handles creating new folders. I am forced to use GroupWise at work, and in order to create a new folder in my mailbox, I have to go through a three-step wizard. This continues to annoy me every time.

    However, what does annoy me with creating new folders in Windows, is when the focus is stolen while I’m creating one. Then I end up with something like "vacat" when I wanted "vacation". Easy enough to fix, but annoying.

    I like that somewhere between Windows 95 and XP the shortcut changed from:

    right-click | ‘n’ | ‘f’

    to:

    right-click | ‘w’ | ‘f’

    This way I can envoke the command with my left hand and the mouse.

  9. boxmonkey says:

    I agree that a dialog would be nice. I deal with novice users constantly and there are new folders blank through 5, all empty, on just about every desktop at least once until I teach them how to delete them, and how to properly create one.

    Having the focus stolen stucks big time when doing this, or any other time. What’s the deal with that? Windows has a setting to prevent applications from stealing the focus, which I have turned on, but it still happens.

    Last explorer UI complaint of the day: a "slow double click" should not be translated as "I want to rename this file". I can understand why you would not want to treat it as a regular double click, because then how slow is too slow? But you could just ignore it. Who renames files by slowly double clicking? My novice users are constantly confused by this behavior.

  10. and more on folders says:

    Let’s not forget that sometimes when you right-click; "New Folder", the actual folder location can appear off screen so you can’t even see where you are typing.

    Even more annoying then that is when you accidently name a folder with the wrong character (this in itself is a silly "user" restriction), and it deletes the entire name.

    Many many times I’ve typed a name like:

    "Important Documents: for XXX proj, 1-Jan-2005 #nnna34"

    Only to have all that typing lost because of the colon.

    Honestly, the folder naming system could use a re-working. It’s ridiculous that it is used a shining example of what is "right".

  11. and more on folders says:

    lance:

    " right-click | ‘w’ | ‘f’

    This way I can envoke the command with my left hand and the mouse."

    This doesn’t work if you have a shell item in there that also begins with "f". The focus will initially be on "new folder", but upon pressing "f" it changes to the shell item.

  12. Moz says:

    and more on folders says:

    > deletes the entire name.

    I think that’s an "on any error discard all user input" bug. It normally happens to me when I already have the name present, or any other error. Bah!

    There’s also a really bad implementation of "undo" here – if you accidentially create a new folder, that operation cannot be undone using Undo. Worse, if you create then name, the name operation can be undone but not the create so you get "New Folder" sitting there.

    I use undo on the filesystem a bit, because I often move files by dragging… and Explorer has delightful habits wrt scrolling and opening folder trees when you pause (specifically, which one it does seems to be random), and if I release the mouse button at the wrong time my dragged files end up in an unknown (to me) location. Undo is great at that point.

    Undo however is only 8 steps or so, and at least some bulk operations are split by the undo handler – bulk renames generally can’t be undone, but bulk moves can be.

  13. JamesW says:

    ‘A simple "enter folder name" dialog when you select "new folder" would make life easier for a lot of people, from beginner to advanced.’

    Please, please, please: if anyone from MS thinks the above is a good idea please go to Cupertino for reprogramming. Dialogs popping up and getting in the way of WHAT YOU WANT TO DO are an enormous usability turn off. Windows is not bad with new folders – making the new folder name editable immediately is a good thing. OS X gets it better by having a sane keyboard shortcut to create new folders (or a button in the Finder window).

    Now for my UI bete noir: VC6. Click on the ‘Compile’ button by mistake – you reallly wanted the adjacent ‘Build’ button:

    VC6:

    blah.C

    This file is not included in the project. Would you like to add it?

    ME:

    NO!

    VC6:

    blah.C

    Cannot compile this file because it is not part of the project.

    ME:

    *&$*%#!!!! Why rub in the fact that I made a mistake and popup redundant crap like this? I said NO, now let it be.

    The folowing is to whomever designed this UI on the off chance that I don’t meet them at an NYC party: ‘I hate you’.

    Oh, and sticking animated dogs in the ‘Find’ dialog of XP ***PROFESSIONAL*** must be close to the ultimate UI nadir.

  14. Gabe says:

    Actually, I’m pretty sure that putting up a dialog box for a new folder is a *good* idea. Why do people think it would "get in the way"? What would it get in the way of? All folders have to have a name, just like all files must have a name.

    The proposed dialog would say "Enter the name of the new folder:" and have OK and Cancel buttons. The only people this could possibly confuse are those who don’t want to make a new folder in the first place, in which case it allows them to cancel the operation. If you actually want to create a new folder, you would type in the name and hit Enter, which is exactly the same as now — only hitting ESC doesn’t leave you with useless detritus all over your desktop.

    Right now there is no way to cancel the operation, so everybody who clicks "New folder" thinking that they are going to be creating a new file just ends up with a bunch of "New folder"s all over the place. Additionally, it is not exactly clear to a novice user that the first thing they should do is start typing in the name of the new folder, so many people often end up just putting their files in places called "New folder".

    So the dialog box requires no additional steps, allows one to cancel the operation, and makes it obvious that one is supposed to type in the name of the new folder immediately. How would it be confusing? How would it get in your way?

    As I said before, I have never seen an application that saves new files by calling then "Untitled" or "New document", so why should new folders behave this way?

    The whole point of not hassling users is that most questions have some reasonable default that 90% of the users will want anyway. Since 0% of users will ever want to name a folder "New folder", it does not make sense to default to that instead of just asking the user up front.

  15. Virgulino Ferreira says:

    Mr Jan is out?! Bad news…

    Like MANY others, I’m ANXIOUSLY waiting to see some good documentation on Inductive User Interfaces.

    The only remotely useful document is that one, that we are reading and re-reading since 2001:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/iuiguidelines.asp

    That, and MS Money.

    As I understand, the IUI approach to GUI is used pervasively in Vista, and MS hopes that ISVs do the same, isn’t it?

    http://iwce.calanza.com/content/CLI304_Milsovsky.ppt

    Don’t you think that MS is VERY late in providing that documentation to the ISV community?

    Best regards.

    PS: The current "Windows Vista User Experience Guidelines" is not enough.

  16. Anonymous Coward says:

    Actually, in many ways WindowsFS (which, last I heard, has been postponed) would solve this issue in an entirely different way.

    Instead of worrying about folders, classify your files by what they are and what they’re related to. Instead of a fixed hierachy, you can tag your files related to a project, to a department, by who created them, by what the file is for, and so on, then get all the folders for a project that were created by a specific guy.

    In the current scheme, if your top level is ‘type’ then the project’s files are scattered, and if the top level is ‘project’ then the type (spec, manual, internal comments, etc) are scattered. Add in distributed work and, well, we all know how passing Word documents around a team can easily get confusing without a lot of attention to process.

    I appreciate that large numbers of people are now taking blood pressure medication because they’re afraid of this, and I admit to a great deal of skepticism that the interface to this was going to be all that great, but still the real solution to problems with folders is to ask if folders are the right idiom to be using in the first place.

  17. and more on folders says:

    Anonymous Coward:

    "but still the real solution to problems with folders is to ask if folders are the right idiom to be using in the first place. "

    Real life uses folders; and it works quite well. Drop the idea to dramatically change things, or to come up with something funky and new just fix the broken interface!

  18. :: Wendy :: says:

    Totally agree with Jan’s postion about not putting every single user-preference decision as one the user must make.

    Jan’s first analogy is striking to me because it was SO ONEROUS when I first arrived in the US. You can’t just order something

    e.g. a coffee without completing a detailed set of questions which assumes prior knowledge about the options and the ‘scales’ – size (ounces? Grande?) milk type (2% whats that?) number of shots, extra flavours, whether your taking it away or not.

    My experience of the UK is that your order the food – get stuck with what-ever you get, and next time you know to ASK.

    UI should solve the main goal and provide the options for the user to ‘ask/find’ the optional stuff.

    I still prefer just being given my English breakfast without HAVING to specify how my eggs are done…

  19. Rob Kennedy says:

    Boxmonkey,

    It’s not really a "slow double click." Rather, it’s a single click on something that already has the focus. You only need to "double-click" it slowly if it’s not already selected. If it’s selected, then just click it once. And therefore, there’s no such thing as "too slow."

    So how slow is slow enough? It’s simply however long it takes for the regular double-click time to elapse. That’s something you can configure in the mouse control panel.

  20. and more on folders says:

    "Remember Raymond keeps telling us that users don’t read dialogs! If these users are too cluless to name folders, then the system popping up dialogs with scary text isn’t going to help them."

    How can you draw that conclusion? You are saying never provided the user with an entry box cause that won’t read what it is for. That is not true at all.

    The user has, by accident or not, clicked "Create new folder"; A form popping up with



    Create New Folder ->

    Enter Name: [_________________________________]

    [ok] – [cancel]

    Is perfectly acceptable and valid behaviour. Not to say the current system is all that terrible; it just has problems. But the suggestion that you can’t ever ask the user to answer a question and have him read your message is silly.

  21. and more on folders says:

    "Remember Raymond keeps telling us that users don’t read dialogs! If these users are too cluless to name folders, then the system popping up dialogs with scary text isn’t going to help them."

    Sorry to double-post; but heck, this form even already exists and is in use!!

    Use the file-management common control to choose a file; click the new folder icon. Surprise Surprise you get an entry box, and not a myserious "New Folder" creation.

  22. Jonathan says:

    How HSM-compliant (or just any slow filesystem, say a remote share) is the current New Folder behaiour? Suppose I create a new folder, and want to rename it – do I have to wait for the "New Folder" to be created? What if it’s after a 15-sec authentication process?

    I propose 2 modifications to Explorer’s new folder implementation:

    1. Create the folder on AFTER the user finished the rename, or clicked out of the rename box.

    2. If user hits Esc, don’t create the folder at all.

    Boxmonkey: I rename by "slow-doubleclick" – actually select and single-click. I agree it’s problematic – click too fast, and you launch the file.

    Actually, the single-click-to-rename is problematic in other cases too. I’ve seen people wanting to launch a file, ending up in the rename, and then not knowing what to do. Even right-click won’t save them – the get edit-related stuff (Copy, Paste, RTL stuff, etc).

  23. JamesW says:

    ‘But the suggestion that you can’t ever ask the user to answer a question and have him read your message is silly.’

    I’m not advocating never asking questions of the user – just that if you can avoid it please do. They annoy people who know what they’re doing and scare the clueless.

    Yes, a dialog with a focused edit field is semantically the same (although the cancel button deleting the folder isn’t) – but I find dialogs popping up really distracting. In particular I have to read the dialog to confirm it has something to do with folders and not some other app spewing up a warning at the same time.

    ‘Use the file-management common control to choose a file; click the new folder icon.’

    Which control is that? I’ve been pushing ‘New Folder’ buttons on the common file dialog, folder browser and explorer windows – they all create a folder with an editable name which is ‘New Folder’ by default.

  24. and more on folders says:

    Seems to be a "newer" feature.

    I’m seeing it in Outlook 2003/Word 2003 etc; but not in Textpad.

    From word:

    File -> Open -> Click "Create New Folder" icon (has a star).

  25. Tim says:

    "…a coffee without completing a detailed set of questions which assumes prior knowledge…"

    I think it was some comedian or other that said this is to make people feel good about themselves. I mean, you’re in Starbucks, you haven’t even got to work yet, and already you’ve made 4 or 5 decisions on your own about your life without having to answer to/consult anyone else :-)

  26. kiwiblue says:

    "…a coffee without completing a detailed set of questions which assumes prior knowledge…"

    Q) Do you want your coffee in plastic or paper cup?

    A) Paper one

    Q) Made from normal or recycled paper?

  27. Tim Dawson says:

    Jonathan posted my suggestion, but I’ll reiterate it anyway.

    It is by no means required that Explorer create the folder before adding an item to its listview that you can rename. It would wait until AFTER you rename the item to actually create the folder. That way, if the user presses escape, it cancels the operation. Currently Explorer does not cancel the operation, it leaves empty folders lying around.

    This is just so basic – I can’t believe it doesn’t already work that way.

    While I’m at it, renaming a file or folder – if you accidentally give it an identical name as something else, it helpfully tells you so, but then erases EVERYTHING you typed leaving you to start from the old name again. Great.

  28. JamesW says:

    ‘Actually, I’m pretty sure that putting up a dialog box for a new folder is a *good* idea. Why do people think it would "get in the way"? What would it get in the way of?’

    It gets in the way because it forces me to take a certain couse of action. Say I want to create five folders: Monday, Tuesday, Wednesday, Thursday and Friday. Presently I can: create them one at a time and name them as I proceed; or I can create all five and rename them afterwards; or I can create one, copy it four times and then rename them. The point is the workflow is up to me: this means it works the way I want it too – a good thing. A dialog popping up after each folder creation nagging me for a name NOW DAMMIT! would be obnoxious.

    ‘The proposed dialog would say "Enter the name of the new folder:"’

    Remember Raymond keeps telling us that users don’t read dialogs! If these users are too cluless to name folders, then the system popping up dialogs with scary text isn’t going to help them.

  29. A legal alien says:

    Real life uses folders

    Real life also has plenty of situations where they are less than ideal, as well. For example, when I get notice of dividends paid from stocks I own it makes sense to put it in my investments folder, doesn’t it? Except then at the end of the year I need to root through that file to do my tax return, the other information for which is in my tax return folder and a bunch of others as well. Real life is messy like that, so using it as the sole basis for UI models is a mistake, IMO.

  30. Just thinking says:

    Couldn’t the Create New Folder operation go like this:

    Menu —————————

    Create New Folder > | Edit box for foldername |

    —————————

    The edit box pops up as part of the menu item. The user types the name in and the folder is created.

  31. John Topley says:

    Just thinking: Users often don’t understand sub-menus. Also, menu items are for selecting things – how do you select a menu item that’s an edit box?

  32. uber1024 says:

    Anyone else find the irony that a blog about UI design would be so hard on the eyes to look at? It took me about 15 seconds for my eyes to adjust to looking at anything else after I read 1 article on that blog.

    I was half-expecting some animated .gifs of the flames and the zooming email.

  33. boxmonkey says:

    Rob,

    I described it as a slow double click because that’s when users experience the problem, when trying to double click on an item, but doing it too slowly. Sure you can configure double click time in the control panel. How many novice users who can’t even regularly double click at the default speed are going to be able to find that setting?

  34. Aaargh! says:

    One of the things that annoys me about WinXP is the over-use of informational balloons, especially when using a wireless network. About every 3 minutes it feels the need to inform me about the link status of the network. I really don’t care that much about what the quality of the network connection is. If I need to know what the link quality is I look at the little tray icon, which displays the exact same information without being annoying.

    Try the same thing with Mac OS X, note how it never, ever, pops up a annoying message, about anything.

    Try plugging in e.g. a USB MIDI keyboard, I’ve got a MIDI keyboard that works with the default OS-supplied drivers in both MacOS as well as win XP.

    Plug it into the OS X machine and it’s instantly usable, no messages, balloons, nothing.

    Plug it into the Win XP machine, and you get several messages: first that a keyboard just got plugged in (I *know*, I just plugged it in myself) then a few messages that it’s looking for and installing the driver (I don’t care, I just want to use the keyboard).

    The most difficult thing about designing UI’s is making it easy to use without treating the users as idiots, because if you treat someone as an idiot, (s)he will behave like one.

  35. Chris Moorhouse says:

    A lot of this discussion seems to be centred around advanced user vs novice user tendencies in UI useage. Something that’s always struck me is how difficult it must be to come up with truly novice UI testers. After all, those who have no experience with computers at all are unlikely to be the kind of people who want to work in software testing.

    In any event, it seems like this New Folder behaviour ought to be configurable, complete with a "Don’t show this again" setting. I’ve often wondered how a "Don’t show any dialogs" setting during install would fare during testing with advanced users…

    I find the "floating categories" mentioned by Anonymous to be interesting, mostly because I disagree with the statement made by More On Folders; that we use this paradigm in real life. I propose that this is not so, as I find it difficult and cumbersome to stack five folders one inside the other. Nor do my office tools reside in folders in my filing cabinets… I don’t think the question is so much if we are using the right paradigm, but more likely what paradigm suits any given task. This discussion makes me think that the filing system ought to be completely independant of the UI, and that we should be able to fluidly change from one to another.

  36. Inferis says:

    I find it odd that people compare this to applications where you have to provide a filename before you can save your data… Because what the New Folder behaviour does is exactly the same!

    New folder (in Explorer):

    1. Choose File

    2. Choose New Folder

    3. new folder pops with default name "New Folder", the name is in a focused textbox with the full name selected, so you can start typing right away

    4. Enter new name or press Enter for default provided name

    New document (Word):

    1. Open Word

    2. Choose File

    3. Choose Save

    4. Dialogbox pops open that allows you to specify WHERE to save the document, and it provides a default name of "doc1.doc" (or something).

    5. Change location or leave it as is (My Documents)

    6. Change name or leave it as is

    7. Press Enter to save the file

    This is exactly the same, except for the added steps of choosing the location to save the document to. Explorer doesn’t need this because you’re already there, so it would be silly to ask for a location anyhow.

    IMO, the New Folder behaviour is quite perfect, for both novice and advanced users. The only thing missing is indeed a "Cancel" action. Pressing ‘Escape’ would be ideal, removing the new folder like it never existed.

  37. DOT net says:

    Why is it impossible to create a new folder which name starts with a dot with File Explorer? Always when I need to create a folder named ".net", I have to use the command line console.

    The error-message is: "You must type a filename". FILENAME??? I’m creating a folder!

  38. frustrating "feature" says:

    The single most irritating thing with naming/renaming file & folders is that: If the typed name isn’t valid (usually due to a conflict with another file’s name), the gui replaces what you typed with the original name. Please changed this in vista, pleeease.

  39. Dick Balls says:

    I have a suggestion which MS often uses in other situations: If the user presses any shift button when creating a new folder, show "expert gui", else use "noob gui" (with rover wagging his tail if it’s applicable).

    There is technical problems (pointed out by other people here) with first creating a folder and then renaming it afterwards. These two operations is not equivalent (from a file system standpoint) to create a folder with the right name in one atomic operation.

  40. Puckdropper says:

    The optimal solution, IMO, is simply to not do it graphically.

    mkdir folder

    How do you implement the suggestion? Turn the address bar into an address bar/command line. It’ll be transparent to the "normal" user while power users will be able to just click (or use a key sequence such as [CTRL] + [L]) and type their command.

    I know… I just solved the problem by avoiding it. Most the options and changes discussed previously, though, I agree with.

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index