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.


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 3 and 4 and type the answer here:
  • Post
  • I wish I had seen these blog posts sooner, I have some great feedback about how I work and about a new feature idea for focusing on the window(s) you are currently using.

    First about window management: It would be nice if Windows had a configurable cascading direction when new windows open. When I work, I typically arrange my windows so that the upper left corner of a window is *always* visible. For e.g. while doing web development work, Explorer is in the bottom left of the screen, to the right are various browsers cascaded up and to the right, and on the far right of the screen filling the whole height is Eclipse where I do most of my work. This means that in a small target area of the top left quadrant of the screen I can single click on any open application to switch to it quickly and easily. When windows open and cascade down and to the right I always have to move the window so that part of it will be visible behind other windows, because the right edge or bottom edge of the window is useless to me! Cascading up and to the right is much more effective :) (Though I have to be honest, it's usually Windows Explorer and Internet Explorer that I'm pushing around because I'm more likely to have multiples of them open - sometimes on different desktops, but I'll get to that below).


  • Second, about virtual desktops: we *really* need a solution to manage groups of applications. At the moment I use DeskSpace for virtual desktop management, and while it has a few small bugs occasionally it works great on the whole - I can't live without it now. I simply use 2 virtual desktops, the first for email and general browsing and other tasks (shortcut key: Win+Q) and the second desktop for development work (shortcut key: Win+W). I can quickly switch between desktops and have a clutter free work environment (otherwise I'd constantly have 12+ windows open all on the one desktop - not cool!). Windows 7 *definitely* needs to address virtual desktops.

    Lastly, but most importantly is an idea I had on focusing on the task or window(s) that you are currently working in. I actually wrote a blog post on it yesterday, which seems like convenient timing :)



    The basic idea is that you could have a "window shroud" that uses a dark transparency to mask the parts of the screen that you aren't using at the time, letting you focus more clearly on the task at hand. This is a similar effect to Lightbox.JS (and others), or the Vista Secure Desktop. Maximising windows isn't a good solution for "focusing" because sometimes you need to change windows quickly, and moving the mouse all the way down to the taskbar sometimes isn't feasible - windowed applications can be managed much more easily. The post goes into a good amount of detail about how it would work, including some configuration options for the opacity level and a dynamic opacity level based on mouse events, as well as support for having multiple windows above the shroud and stuff like that. I've given this a test with a "dumb" AIR app and it was refreshing to work with such clarity, but obviously without all the necessary smarts built-in to the product it requires an extra click every time you change windows, and I'm all for productivity gains not losses!

    I'd really like to hear what people think about the idea, because it's a feature I'd really like to have. Feel free to make comments on my blog :) (That includes you, MSFT'ies!) Or comment here, I don't mind checking back.

    Anyway, I also wanted to say it's great seeing things like this somewhat open to discussion. I really hope it makes a difference so that Windows 7 rocks.



  • One thing about managing windows I've found out is that it's great to have two screens.  However on say my laptop I simply don't have that option and with a lot of people they simply don't have two monitors to hook up to the same computer to begin with.

    I've noticed in certain linux distros they have the ability to have to desktop spaces that you can use a hotkey to switch back and forth between and it's almost like having twice the desktop space.

    I really like that feature because I can have two things open and not worry about alt tabing to the right window when I know i have it up on my other workspace.  I'd love to see something like that adopted to windows in some way.

  • In Vista, the right click context menu breaks. A lot. When it does, you find yourself keeping a lot more windows open than you should. For example, I have nine explorer windows open right now, one solely for dragging and dropping music, as right click > add to media playlist doesn't work in many cases.

    I keep several program setting windows open because it's easier just to always keep the explorer window open then go up one directory, right click, send to desktop as shortcut, then wait for Vista to hang while it tries to show the desktop.

    I keep several downloaded file directories open because I frequently need access to those directories. Again, it's faster for my workflow to just keep the folders open and switch back and forth through the course of my day.

    I keep one window open for the program I'm working on, and several other windows for source directories related to that program. Generally, I'll copy the location, use the Computer shortcut to open a new instance, then paste the location in. It's faster for me to switch via the taskbar than it is to remember all the history in back/forward, or repeatedly switch directories manually.

    I *love* the new windows explorer in Vista (my favorite part of the OS).

    I *hate* not being able to expand groups in the taskbar. There are times when I only have two windows grouped together and it's frustrating to try to remember what has focus and what doesn't; the extra click feels very unnecessary, especially when I need to view both programs/directories side by side for easy switching (note that I like the grouping feature and don't want to disable it. I just want to have better control over how I manage my taskbar programs).

    I *hate* how some folders have a "new folder" icon and some don't. This inconsistency is always jarring.

    I *hate* even more how difficult it is to move files between folders. The Vista copy/paste options are great (have been loving them in firefox for years) but there is very right clickable space in folders now, particularly for the detailed list view, which is the one I use most. Oftentimes, both when dragging or right click copy/pasting, I'll inadvertently send a folder to the wrong directory.

    Likewise, I hate having to drag multiple windows around when I want to view content in more than one window at once. I can't use tile or since I generally have many windows open, and cascade ruins my window positions, which are usually assigned to a specific area of screenspace while I multitask.

    I would *love more than anything* to have a tabbed windows explorer, with the tabs functioning much as they do in Google Chrome (draggable into new windows).

  • "I would *love more than anything* to have a tabbed windows explorer, with the tabs functioning much as they do in Google Chrome (draggable into new windows)."

    I think we do that all...i hope that also the taskbar will work like tabs...

  • A follow-up to my earlier post (Wednesday, October 08, 2008 6:17 AM):

    4 - Auto-fill available space - Similar to snapping edges. Holding CTRL while moving a window causes a red box to jump around the screen (based on where the mouse is), suggesting what size the window should be when you release the mouse.

    ie, if there are no other windows open, the red box suggests the window you're moving should take up the whole screen. If one window already exists taking up roughly half the screen, press CTRL and the red box jumps to the empty half, suggesting the window you're moving should take up that available space.

  • Windows could be more friendlier when I need to attach files to an e-mail message, to a sharepoint server, to a website...

    Imagine I have just finished working on an Excel file, and it is still open.

    Normally, I need to save it somewhere to a filesystem, and then I need to go to my e-mail message, sharepoint site or a website and click browse, browse tiringly to a place where I saved my file, and then attach.

    Wouldn't be much easier in Excel to press a "similar to save" button, which asks which open window I want to choose my file to go to. If I chose an e-mail message window, it would attach to it, if I chose an internet browser window, it would try attaching to it - no need for that file system.

  • You should look less at what you can easily provide like the bullet pointed list above. I do understand that this probably needs to be provided for release around 2009. However, for Windows as a productivity system (competing with contender Linux) you need to lead the way or have Windows develop into a contender even though this has not happened yet. You wrote so yourself that the taskbar was an old concept from Windows 95. We can add the taskbar is mainly concerned with window functionality and less with workflow. So you should not add to that - but allow the taskbar to change - at least for productive users. If you provide new APIs for that it would be great. This will be clear soon. At least the PDC have some indications that you may actually be providing that. So that job could be delegated to application developers to address specific flows. For consumers, well its a different and you could probably just almost remove the taskbar. Anyway, when it is there consumers will be concerned with its looks.

    But finally, important to lead the way beyond "taskbar is about apps" (wrong reflection of a kind-of-task concept today). Its more than that ... so prepare for a new layer in your architecture. Hope to see some reference solution for that kind of behaviour in the new APIs.

  • When installing Vista, we Vista's Aero like interface but rather bitmaps. It's much better than Vista's sick basic theme. So it would be better if basic themes were like that.

  • *Mistake: When installing Vista, we see Vista's Aero like interface (dialog box) but rather bitmaps. It's much better than Vista's sick basic theme. So it would be better if basic themes were like that.

  • Well yes, vista home basic has aero with out transparency, that should be the aero basic.

    Also whats the deal with the windows 98 theme being in vista? Hope this is removed. the 2000 one is all you really need.

    Better yet, ditch the 2000 theme and develop a new modern them that doesn't have all the eye candy for pro users.

  • One of the things that I really like about *nix, is the multiple workspace options..

    OS X has done a great job of nicking this feature and making it work..

    I'd really like to be able to compartmentalize my windows desktop, into email and browser (workspace 1), coding, compiling and testing output (workspace 2) and whatever else I wanted with the additional workspaces, maybe chat (workspace 3) and whatever else..

    I personally have an issue with concentration when all these things are open and operating on my single/linear windows desktop..

    If I'm trying to concentrate and get some work done, I'd prefer to wait till I check in with workspace 1 to reply to that *urgent* email as it alerts me in the taskbar :)

    The rotating workspace experience could potentially be great through Aero!

  • A few random musings...  These may have already been covered. Too many comments for me to plow through, but you have a zillion PMs.  So here you go:

    - Don't even let a popup from another app steal my focus.  This happens all the time, if you are busy typing, you lose work.  If a background app wants focus w/o direct user interaction (including on startup), it should simply flash in the taskbar.

    - If an app has a modal popup, it should still minimize if you hit Windows-M.  Otherwise it is too hard to get to your desktop.

    - Alt-Tab should work.  The order of the windows should remain constant (unless you allow the user to re-order).  Right now once you de-activate a window it goes in some strange place.  I typically have 30 windows open, but alt-tab between 2 going back and forth, the current model makes this very difficult.  I don't care what you do in the ridiculous ctrl-tab model... Fix the alt-tab.

  • The killer feature for me would be a Mac OS X Spaces like feature.  Maybe brand it like Windows Scenes or something.  A cool 3D cube effect would make it shine.  Also, if you dragged an application to an edge of the screen, the cube would appear and you could drag it where ever you want it.  That would be awesome!

Page 7 of 9 (121 items) «56789