Engineering Windows 7

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

Follow-up: Managing Windows windows

Follow-up: Managing Windows windows

There’s a lot of great discussion from the window arranging post.  This really shows how important these details are to people.  Being able to arrange how apps are shown on screen is key for productivity because it impacts almost every task.  It’s also very personal – people want to be in control of their work environment and have it set up the way that feels right. 

One thing that should be clear is that it would not be possible for us to provide solutions to all the different ways people would like to work and all of the different tools and affordances people have suggested--I think everyone can see how overloaded we would be with options and UI absorbing all the suggestions!  At first this might seem to be a bit of a bummer, but one thing we loved was hearing about all the tools and utilities you use (and you write!) to make a Windows PC your PC.  Our goal is not to provide the solution to every conceivable way of potentially managing your desktop, but rather to provide an amazing way to manage your desktop along with customizations and personalizations plus a platform where people can develop tools that further enhance the desktop in unique and innovative ways.  And as we have talked about, even that is a huge challenge as we cannot provide infinite customization and hooks—that really isn’t technically possible.  But with this approach Windows provides a high degree (but not infinite) flexibility, developers provide additional tools, computer makers can differentiate their PCs, and you can tune the UI to be highly personalized and productive for the way you want to work using a combination of thos elements and your own preferences. 

One other thing worth noting is that a lot of the comments referred to oft discussed elements in Windows, such as stealing the focus of windows, the registry, or managing the z-order of windows—a great source of history and witticisms about Windows APIs is from Raymond Chen’s blog.  Raymond is a long-time developer on the Windows team and author of Old New Thing, The: Practical Development Throughout the Evolution of Windows.  This is also a good source to read where the boundaries are between what Windows does and what developers of applications can choose to be responsible for doing (and what they are capable of customizing).

With that intro, Dave wanted to follow up with some additional insights the team has taken away from the discussion.  --Steven

We saw several pieces of feedback popping up consistently throughout the comments.  Paraphrasing the feedback (more details below), it sounds like there’s strong sentiment on these points:

  • The size of windows matters, but wasting time resizing windows is annoying.
  • Just let me decide where the windows go – I know best where my windows belong.
  • Dragging files around is cumbersome because the target window (or desktop) is often buried.
  • Desire for better ways to peek at the running windows in order to find what we’re trying to switch to.
  • Want a predictable way to make the window fit the content (not necessarily maximized).
  • Want to keep my personalized glass color, even when a window is maximized.

For each of these needs, there’s a lot of great discussion around possible solutions – both features from other products, and totally novel approaches.  It’s clear from these comments that there’s a desire for improvement, and that you’ve been thinking about this area long enough to have come up with some fairly detailed recommendations!  Below are a excerpts from some of the conversations ongoing in the comments.

Put the windows where I want them

It’s super interesting to see people discussing the existing features, and where they work or don’t work.

For example, @d_e is a fan of the existing tiling options in the taskbar:

Arranging windows in a split-window fashion is actually quite easy: While pressing CTRL select multiple windows in the taskbar. Then right-click them and select one of the tiling options...

But that approach doesn’t quite meet the goal for @Xepol:

As for the window reorder buttons on the taskbar -> I've known they were there since Win95, but I never use them.  They never do what I want.  If they even get close to the right layout, its the wrong window order.  Since I have to drag stuff around anyways, its just easier to get exactly what I want the first time.

@Aengeln suggests taking the basic idea of tiled windows to the next level in order to make them really useful:

A very useful feature would be the ability to split the deskotop into separate portions, especially on larger screens.  For example, I might want to maximize my Messenger window to a small part on the right hand side of the desktop and still have the ability to maximize other windows into the remaing space. Non-maximized windows would be able to float across both (all) parts of the desktop.

It sounds like there’s agreement that optimizing the screen space for more than one window would be super useful, if it would only let you stay in control of where windows ended up, and was easy and quick to use every day.  The current tiling features in the taskbar give hints at how this could be valuable, but aren’t quite fast and easy enough to be habit forming.

Open at the right size

We saw a lot of comments on the “default size” of windows, and questions about how that’s decided.  Applications get to choose what size they open at, and generally use whichever size they were at the last time they were closed (or they can choose not to honor those settings).  One of the cases that can trip people up is when IE opens a small window (websites will do this sometimes), because once you close it that will be the new “last size”. 

@magicalclick suggested a solution:

I wish I have one more caption button, FIXED SIZE. Actually it is a checkbox. When I check the box, it will save the window state for this application. After that, I can resize/move around. When I close window, it will not save the later changes.

@steven_sinofsky offered this advanced user tip that you can use to start being more click-efficient right away:

@magicalclick I dislike when that one happens!  Rather than add another button or space to click, I do the same thing in one click with a "power user" trick which is when you see the small window open don't close it until you first open up another copy of the application with the "normal" window size.  Then close the small one and then the normal one. 

Of course this is a pain and close to impossible for anyone to find, but likely a better solution than adding a fourth UI affordance on the title bar.

–steven

Finding the right window

The word being used is “Expose”:

@Joey_j: Windows needs an Exposé-like feature. I want to see all of my windows at once.

@Dan.F: one word - expose.  copy it.

@GRiNSER : Expose has its own set of drawbacks: Like having 30 windows on a macbook pro 1400x1050 screen is really not that helpful. Though its way more helpful than Crap Flip 3D. Expose would be even more useful with keyboard window search...

Regardless of the name, there’s a desire to visually find the window you’re looking for.  Something more random-access than the timeline approach of Alt-Tab or Flip-3d, and something that lets you pick the window visually from a set of thumbnails.  This is very useful for switching when there are a lot of windows open – but some current approaches don’t scale well and it is likely scaling will become an even more difficult problem as people run even more programs.

Dragging files

There were several comments (and several different suggestions) on making it easier to drag between windows:

@Manicmarc:  I would love to see something like Mac OS's Springloaded folders. Drag something over a folder and hover, it pops up, drag over to the next folder, drop it.

@Juan Antonio: It would be useful that when I´m dragging an object I could to open a list or thumbnail of the windows ( maybe a right- click )to select what window use to drop the object.

On this topic, I loved @Kosher’s comment on the difference between being able to do something, and it feeling right.

The UI could be enhanced quite a bit to make it much easier to do things. It's not just about how easy it is but it's also about how smoothly the user transitions between common UI workflows and tasks.  This is a bit like explaining the difference between a Ferrari and a Toyota to someone that has never driven a Ferrari though, so I don't know if it will ever happen.

In designing Windows 7, we’ve really been taking the spirit of this comment to heart.  I can’t wait to hear what car Windows 7 is compared to once it’s available for a test drive.

- Dave

Leave a Comment
  • Please add 8 and 1 and type the answer here:
  • Post
  • First, thanks for the great blog! It's great to have a place to rant and rave. I just want to throw my vote in with mikejng and Ted Howard. Focus stealing is the single most annoying glitch I've come across, and it's the quickest way to take me from productive work to raging frustration. A few seconds of repeated focus stealing, capped with a mis-click, completely interrupts my thought process. Remember how bad pop-ups used to be? MS blocked those through IE, how is focus stealing any different? The windows should adapt to the user's way of doing things, what they are intending or attempting to accomplish. If they switch applications, surely they have a reason.

  • Here's a simple solution for Microsoft: Bundle StarDock's ObjectDock.

  • Some people most likely already had some exposure to Microsoft's own product - Visual Studio. It already has a great mechanism for managing many windows at the same time. The key features there are: docking (with docking placeholders), pinning and auto-hiding. I wonder if Microsoft is considering implementing this mechanism in Windows. A virtual desktop can be the hosting window with its own task bar. And, the task bar can contain a Windows menu icon (e.g. tile, stack, minimize or hide all, reset, allow/disable docking). The reset should disable docking and restore default positions and sizes of windows, if these have been persisted through Windows (may be necessary to troubleshoot issues). All the windows will need a pin button when they are docked, and a pin menu (e.g. hide, show). There would be no need to display window shortcut in the task bar as it should be always visible in the docking bar. However, a few questions arise. How docked and non-docked windows should behave? Shall Windows disallow having non-docking windows in the docking mode? How about windows that have minimum and/or maximum size enforced?

    Currently, there are probably many applications that would not be fully capable of being docked, but if the docking become standard, this would change with time.

    I would be glad if this idea became true. It would make me want to have such OS just because of the increase in productivity it may offer.

  • What would be cool would be features that are found in the Xneat Windows Manager (http://www.xneat.com/). One I absolutely cannot do without is the "Always on top" option, which, as the name suggests,  keeps a particular window on top of other windows at all times.

  • A suggestion.

    When a program pops up a modal dialog, do not bring it up above all other windows, but make the program flash in the task bar (or change color, animate, etc). This can resolve many complains.

  • I'm looking into all these comments and I can agree with people writing, that WIndows 7 will be another Vista. I started to create own blog (see URL), which will comment some things put here by Microsoft and people...simply because we don't have here more "problematic" topics.

  • URL is http://www.gammu.org/wiki/index.php?title=HydePark:Thinking_about_Windows_7

  • I agree Windows 7 will be another Vista, like XP is like 2000, like 98 is like...  well it doesn't mean anything, new cars still have 4 wheels and an engine...

    My opinion is the next Windows will be better than Vista, and even more if there is more API for customizing the desktop. The lack of customization will make Windows 7 one of worst OS because everyone want to design their desktop how they want.

    There is a lot of propositions about how the taskbar and windows (and focus) supposed to react. With APIs, YOU decide how it react, that's all.

  • Some things I'd like to see in Windows 7:

    1. More Aero.  Make cmd.exe/powershell (i.e. console windows), wmplayer, explorer, like the 'add gadgets' window so that they are all glass. Glass is nice, but it's hardly used. At least an option for this would be nice.

    2. Make IE so that instead of making it so that all active-x are blocked for a zone, make it configurable so that you can block some active-x plug-ins but not others.  For instance, silverlight could run on the internet zone but not flash. I have a game (ea crysis download manager) that requires active-x in the internet zone, and setting active-x to disabled or even prompt in the internet zone causes the app to abort, but I hate running with active-x in the internet on because flash has so many exploits and doesn't run in low integrity level like IE.

    3. There is an annoying bug in WMPlayer where if you add .mkv/.mp4 videos to your library and play them from the library the seek bar is stuck at 0 and you can't fast forward or rewind, this bug disappear if you play the files from explorer.

    Thanks if you would consider these.

  • I think Expose is amazing.  The usefulness does decrease after a certain number of windows open, but flip 3D is even more unuseful.  Alt tab is better because you can bring up the menu and then click on an application, you don't have to go in any particular order.  You can do this with Flip 3D as well but not w/ a large set of windows.  I prefer to see all three options on the computer and let me choose which ones is best at the moment.

  • Please give us keyboard shortcuts for EVERYTHING! I have to echo the above comments--window management, *especially* panes and the new HTML-based configuration pages, is nearly impossible with the keyboard.

    Why not take a fundamental look at the assignment of shortcuts in all of Windows? The goal should be make everything as keyboard-accessible as possible. That means:

    1. giving everything a shortcut

    2. making those shortcuts easy to remember and use

    There's so much potential. Look at the ribbon in Office! Look at the unused F-keys in Explorer and Internet Explorer! Look at the single-key shortcuts in Opera and Winamp!

    This isn't only an issue for power users. The relative keyboard-friendliness of Windows is the #1 reason why I use it and not a Mac. I suffer from carpal tunnel. I have to use shortcuts. And I'm not alone: at my workplace, nearly 40% of employees are experiencing symptoms of severe RSI. It's a looming productivity and insurance disaster, but what can we do? WE can't design Windows to be accessible. Only Microsoft can. So please do it! If Windows 7 can improves keyboard accessibility even modestly, it will make a huge difference to our health, happiness, and bottom line.

  • Virtual desktops again are a good idea. I recently started using VirtuaWin v4.0. While it doesn't do everything as I want or how I want (and I haven't had time to write my own mod to fix these issues) it has made life a lot easier when managing several projects at once. Building the windows management with virtual desktops and the ability for 3rd parties to create their own solutions would be a win-win situation from my perspective.

  • i just want my windows media center become gadget.. run in small window on the right

    playing music and slideShow

    btw...when we will move to 3D space ?

    maybe

    Managing Windows On 3D Space

  • @VistaLover

    IE and Mediaplayer should NOT be part of the operating system, and can therefore remain outside this discussion ;-)

  • @Knipoog

    Yes i hope for a Windows Live Browser and Windows Live Media Player or somehing...and a remove of the browser and the media player from the os...every software should be Live and not in the OS

Page 5 of 9 (121 items) «34567»