Engineering Windows 7

Welcome to our blog dedicated to the engineering of Microsoft Windows 7

Follow-up: Starting, Launching, and Switching

Follow-up: Starting, Launching, and Switching

  • Comments 83

Lots of discussion on the taskbar and associated user interface.  Chaitanya said he thought it would be a good idea to summarize some of the feedback and thoughts.  --Steven

We’d like to follow up on some themes raised in comments and email.  This post looks at some observations on consistent feedback expressed (though not universal) and also provides some more engineering / design context for some of the challenges expressed.

First it is worth just reinforcing a few points that came up that were consistently expressed:

  • Many of you agree that the Notification Area needs to be more manageable and customizable. 
  • We received several comments about rearranging taskbar buttons.  This speaks to the need for a predictable place where taskbar buttons appear as well as your desire for more control over the taskbar.
  • There were comments that talked about Quick Launch being valuable, but that it could stand to be an even better launching surface (e.g. larger by default or more room).
  • Thumbnails are valuable to many of you, but their size doesn’t always help you find the window you are looking for.  There is interest in a better identification method of windows that consistently provided the right amount of information.
  • Better scaling of supported windows was discussed.  This includes optimizing the taskbar for more windows and spanning multiple displays. 

Data

Several of you asked about the conclusions we are drawing from the data we collect and how we will proceed.

@Computermensch writes “The problem with this "analysis" (show me the data) is that you're only managing current activities surrounding the taskbar. So with respect "to evolving the taskbar" you're only developing it within its current operational framework while developing or evolution of really should refer to developing the taskbars concept.” 

@Bluvg posts “What if the UI itself was a reason that people didn't run more than 6-9 windows?  In other words, what if the UI has a window number upper bound of effectiveness?  Prioritizing around that 6-9 scenario would be taking away the wrong conclusion from the data, if that were the case.  The UI itself would be dictating the data, rather than being driven by user demand.”

As we’ve said in all our posts around the data we collect and how we use it, data do not translate directly into our features, but informs the decisions.  Information we collect from instrumentation as well as from customer interviews merely provides us with real-world accuracy of how a product is currently used.  The goal is not necessarily to just design for the status quo.  However, we must recognize that if a new design emerges that does not satisfy the goals and behavior of our customers today, we risk resistance.  This is not to say one should never innovate and change the game—just that to do so must be respectful of the ultimate goal of the customer.  Offering a new solution to a problem is great; just make sure you’re solving the right problem and that there is a path from where people are today to where you think the better solution resides.  With that said, rest assured that our design process recognizes the need for the taskbar to scale more efficiently for larger sets of windows.  This would allow those who possibly feel “trapped” in the 6-9 window case to more comfortably venture to additional windows, if they really require it.  Also, the improvements we make to the 90% case should still hold benefits to the current outliers. 

Notification Area

With so much feedback, it is always valuable to recognize when customer comments converge.  The original post called out the problems with the Notification Area and these issues were further emphasized with your thoughts.

@Jalf writes “Having 20 icons and a balloon notification every 30th second taking up space at the taskbar where it's *always* taking up space is just not cool. By all means, the information should be there if I need it, but can't we just assume that if I don't actively look for the information, it's probably because I don't want it.

Jalf’s comment is particularly interesting because it speaks to both the pros and cons of notifications.  They certainly can be valuable, but they can also very easily overwhelm the customer as many of you note.  A careful balance therefore must be reached such that the customer is kept informed of information that is relevant while she continues to remain in control.  Since relevant is relative, the need for control is fundamental.  Rest assured we are aware of the issues and we are taking them very seriously.

Multi-mon Support

It comes as no surprise that many of you wrote to discuss multi-monitor support for the taskbar. This is a popular request from our enthusiasts (and our own developers) and was called out as an area of investigation in the original post. 

@Justausr is very direct with this comment: “The lack of multi-monitor support is just about a crime.  We've seen pictures of Bill Gate's office and his use of 3 monitors.  Most developers have 2 monitors these days.  Why was multi-monitor support for the taskbar missing?  Once again, this is an example of the compartmentalization of the Windows team and the lack of a user orientation in defining and implementing features.  The fact that this is even a "possible" and not an "of course we're going to..." shows that you folks STILL don't get it.”

At least in this particular case we tend to think we “get it”, but we also tend to think that the design of a multi-mon taskbar is not as simple as it may seem.  As with many features, there is more than one way to implement this one.  For example, some might suggest a unique taskbar that exists on each display and others suggest a taskbar that spans multiple displays.  Let’s look at both of these approaches.  While doing so also keep in mind the complexities of having monitors of different sizes, orientations, and alignments. 

If one was to implement a taskbar for each display where each bar only contained windows for its respective portion of the desktop, some issues arise.  Some customers will cite advantages of less mouse travel since there is always a bar at the bottom on their screen.  However, such a design would now put the onus on the customer to track where windows are.  Imagine looking for a browser window and instead of going to a single place, you now had to look across multiple taskbars to find the item you want.  Worse yet, when you move a window from one display to another, you would have to know to look in a new place to find it.  This might seem at odds with the request to rearrange taskbar buttons because customers want muscle memory of their buttons.  It would be like having two remotes with dynamically different  functionality for your TV. This is one of the reasons that almost every virtual desktop implementation keeps a consistent taskbar despite the desktop you are working on.  

Another popular approach is a taskbar that spans multiple desktops.  There are a few third-party tools that attempt to emulate this functionality for the Windows taskbar.  The most obvious advantage of this approach (as well as the dual taskbar) is that there is more room offered for launching, switching and whispering.  It is fairly obvious that those customers with multiple displays have more room to have more windows open simultaneously and hence, require even more room on their taskbar.  Some of our advanced customers address this issue by increasing the height of the taskbar to reveal multiple rows.  Others ask for a spanning taskbar.  The key thing to recognize is that the problem is not necessarily that the taskbar doesn’t span, but that more room is required to show more information about windows.  So, it stands to reason that we should come up with the best solution to this problem, independent of how many displays the customer has. 

We thought it would be good to just offer a brief discussion on the specifics of solving this design problem as it is one we have spent considerable time on.  One of the approaches in general we are working to do more of, is to change things when we know it will be a substantial improvement and not also introduce complexities that outweigh the benefits we are trying to achieve.

Once again, many thanks for your comments.  We look forward to talking soon.

- Chaitanya

Leave a Comment
  • Please add 1 and 1 and type the answer here:
  • Post
  • I'm happy with all you are doing to make the notification area more customizable, but please do think of the system engineers dealing with imaging and desktop configuration, make every setting transparent and easy to configure e.g. don't pack them up in an unknown reg_binary key with tons of other settings.

    Just think of the quicklaunch bar in Windows xp :-)

  • Would it be possible to implement some sort of OS-level API for showing things like notification balloons and "toast"? Every app that sits in the system tray tends to have their own implementation, not all of them pleasant to look at.

    A unified API would take some time and pressure to get developers to use, but it would be better for the users in the long run. The user would then have the option of suppressing notifications of any kind. As time went on, and more developers utilized this functionality, the value would increase.

  • If Windows 7 will be as good, as this blog, it will be the best OS ever made.

  • @dreimanis

    SURE!!!

    Sinofsky and Windows Team are fantastic.

    26 day for PDC . (pls video for consumer)

  • hi, i'm a both Mac os and windows user. If you have ever used osx you know that there isn't a notification service, and most of the mac users install growl, that is a little app that allow you to customize witch notification will be showed and where in your desktop. I'd like to see a little program like growl built right in windows 7!

  • The main reason why I use two monitors is exactly to separate my workspaces and keep things from detracting from my workflow. I have my IMs and my music on the second monitor, and my work on the first one.

    I use a 3rd party application called UltraMon that extends a "fake" taskbar onto any additional monitors. With it, when I drag a window, it shows up in on the correct taskbar - just as I would expect it to. I suppose it's because I see monitors as individual workspaces - not parts of a larger, spanning workspace - but I just don't see how it even makes sense for me to have to switch my attention to a different monitor to select a window on the one I'm currently working on.

  • My friend use OSX all the time. One of his big concern with OSX that IM new message notifications does not span virtual and remote desktops. Make sure that Windows 7 has virtual desktops and that there is a customizable way to set which application can "cross-notify".

  • I agree with Alex Jerebtsov. I use two monitors to do seperate things. Therefore two taskbars which show only the windows belonging to "their" monitor would be the implementation I'd use.

    And you have a third option: Make the behaviour configurable. I imagine most multi-mon users know how to handle configuration switches. Even if it's only present in the registry.

    But what Windows is missing (regarding multi-mon support) is support for maximized windows that span multiple monitors. nVidia's 2000/XP drivers supported this - their Vista drivers can no longer do this. Today I have to "restore" a window and then fiddle around with its borders to get a window that spans multiple screens. But there are several applications that benefit from spanning over multiple monitors: 3D applications, video editing, image editing, IDEs, ...

    After moving and resizing some apps several times you soon wish each window had a "maximize to n x m screens" button.

  • There seems to be some bug in the MSDN blog system where it does not accept long comments (3-4 paragraphs) or comments containing some specific characters (dunno which ones) because of which the comment gets rejected and the page is simply redirected to the main blog URL upon clicking Submit. The message does not even show up: "Thank you for submitting...if the comments are getting moderated..it'll take some time before they show up". It is simply rejected. Can MS verify this? It happens in any OS, in any browser, IE, FF etc.

  • I am also a multi-mon user. My setup depends on my task, however I will often have different programs running on separate windows when studying or researching. When using Dreamweaver, Premiere or Photoshop (and a few other programs) then I will have then spanning two windows (content on one and tools on the other).

    Having a taskbar that spans the monitors would be wonderful (I currently have 12 window open and will often go as many as 15-20). Personally I wouldn't care too much whether it was one taskbar or two separate ones, though if there was two then I'd be very cautious as to what functionality was duplicated.

    But regardless of which way you go, I want to have pretty much full control of what appears, where is appears and how is appears. I have experimented with 3rd party software such as object dock, but would prefer the OS to natively support this level of flexibility.

  • Some UI's are one-click, e.g. QuickLaunch, and some are double-click, e.g. Desktop.  

    So when folks double-click items in a one-click UI, they can spawn twin instances of something that should be run only once - and often the two instances run into race conditions that defeat attempts to ensure only one instance is running... remember the DOS mode "Specify a new" .pif bug in Win9x?

    Another problem that contributes to this, is "smudgy" mouse clicks and double clicks that are interpreted as drag-and-drop-in-the-wrong-place or separate clicks.  XP enjoys TweakUI that UIs the ability to increase the pixel range threshold for such events, but Vista's still waiting for similar.

    A bigger problem is that there is no UI feedback to indicate that a desktop or QuickLaunch icon has been double-clicked.  Please, not another "singing pigs" animation!  A simple "detent" or "glow" would suffice  :-)

  • The scalability problem with the Start Menu can't really be solved by re-designing the UI, and bypassing it (e.g. via Search) isn't the answer either.

    The problem arises because of the way the Start Menu is populated, i.e. typically:

     - some vendor you've never heard of

       - a single useless per-product fly-out

         - an icon that launches

         - an icon that nags to "register"

         - an icon for Help or ReadMe

         - an icon that destroys (uninstalls)

    Repeat this for 50 applications, and you have a real mess.  If you're sloppy in negotiating this ponderous UI, you have a 1 in 4 chance of getting what you usually want (run the app), 1 in 4 chance in destroying (uninstalling) the app, and a 50% chance of wasting your time.

    So what one does, is edit the Start Menu into something more useful, e.g.

     - category (e.g. "Graphics")

       - Help (all the help and ReadMe's)

       - Extras (all the other fluff)

         - (launch) graphic app A

         - (launch) graphic app B

         - (launch) graphic app C

         - (launch) graphic app D

    Now I don't have to care who wrote what app; if it's a graphic app, it's under Graphics.

    Software vendors can't be expected to code their Start Menu items for this, even if they wanted to be helpful (rather than obsessed with "brand awareness").  I don't expect them to get this right - instead, I want a better UI so *I* can arrange my Start Menu the way I want it, and without going through a hundred separate UAC prompts for the AllUsers menu.

    The trouble is, the Start Menu is edited in this way, uninstalling the apps will not clean up the Start Menu icons that have moved.

    So what needs to happen, is for Start menu changes to be tracked by the OS (as already happens in other contexts), so that when the uninstaller removes the icons, this will still work even if their location and name have changed.

    Finally, as end-users, we need to control applications that re-assert Start Menu icons that we have purposefully changed or deleted.  Bundleware DVD players come to mind (PowerDVD).

  • Forgot to add last time that personally for me the search function in the start menu is wonderful. If saves me so much time trying to navigate through the rest of the start menu.

    The other function that is often useful to me is the address box in the taskbar. If allows me to quickly reference files and folders (though this speed is partly due to my meticulous filing system)

  • "Imagine looking for a browser window and instead of going to a single place, you now had to look across multiple taskbars to find the item you want.  Worse yet, when you move a window from one display to another, you would have to know to look in a new place to find it"

    That sounds like underestimating the user. In my opinion, as pointed out by AlexJerebtsov and d_e above, if someone uses two monitors, it probably is because they need to arrange their windows that way, which means that in their minds *they know* where the windows are because the windows are exactly where they need them to be. One could see it as using two different computers instead of just two monitors.

    Perhaps a good idea could be to have one taskbar per monitor, each with their own set of corresponding windows, plus a "master taskbar" (visible after pressing some hot key or small visual gadget) that could show all windows arranged by monitor, so the users can use it to quickly find the windows they've lost. An extended Alt-Tab implementation?

    By the way, d_e's "maximize to n x m screens" idea sounds great. Perhaps something that shows up in the maximize control using the right mouse button or after pressing and holding it for a short time?

    Being as we are in the multiple monitor discussion, what about letting the user choose one screen saver per monitor? Many screen savers don't support multiple monitors nicely, so it would be nice if the OS gives the user an alternative.

    Finally, I adhere to cquirke comments about the start menu.

  • @kettch: Look at the Shell_NotifyIcon API - it's the system API that allows an application to insert itself into the notification area.  It also has support for tooltips and balloon notifications.

    In my experience most applications that live in the notification area use it (I'm not aware of another way of inserting an icon into the notification area).

Page 1 of 6 (83 items) 12345»