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 1 and 3 and type the answer here:
  • Post
  • There are a couple of window management features I think might be useful, if you can throw them into the melting pot.

    1 - Snapping window edges - Holding down CTRL while resizing a window makes the edges snap to the edges of the screen or any other windows that are open.

    2 - Stitched edges - When one window edge has snapped to another, those edges resize at the same time. This would be paired really well with 'show windows side by side', especially on widescreen computers.

    3 - Some kind of 'Auto Arrange' for windows. An toggle state that manages the size of the window. If it was the only window available, it would be maximised. If another window was opened, the first one resizes and they take half the space each (with a stitched edge so you can change the ratio).

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

    How will you download Firefox if there is no browser in the package at the first place?

  • Enhancements to Window Management should also be made in the dev division for libraries like .NET and all the others because stuff like multimonitor support has to be done mostly by the dev instead of a standardized framework...

  • Add an easy way for work with glass to the .NET Freamwork so we can build apps they look bether on Vista and will look better on 7

  • @lyesmith

    You don't download Firefox, you just install Opera from you're memory stick ;-)

  • @bluefisch200

    "every software should be Live and not in the OS"

    As long as it is not in the OS its OK. Then you have a choice, you will probably choose Live, I might choose something else ;-)

  • The trouble with removing media player from the OS is that things like live preview of files depend on it, so that functionality would have to be removed.

    I have to say though, that I've found media center is the most impressive part of Vista for me, as I'd never seen it in action before.

  • @yeehaamcgee

    Its OK if the functionality of preview of files depends on another piece of software.

    You can't vieuw movies if you don't have the program for it :-)

    If that other piece of software is no part of the OS, other parties will perhaps make things you like. That can be onde program like for example medioplayer, but that can also be two programs. One for playing movies and one with wich you can Preview-files. imo thos programs can easily be different programs.

    But I hope that Microsoft will write an separate article about what to put in W7, and than we can blog and discuss there?

    Regards Knipoog

  • > 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...

    each technology is going to be obsolete in some moment. 95 was build in "a little" other architecture than 3.11, NT was different than 9x. People don't like Vista. Do you think, that another system built on it will be really (much) better ?

    > "IE and Mediaplayer should NOT be part

    > of the operating system, and can therefore

    > remain outside this discussion ;-)"

    > How will you download Firefox if there is

    > no browser in the package at the first place?

    Mediaplayer and IE can be installed by default and available from box, but they should be separated from "real" OS parts (they will be treat like normal apps). if it will be done, many problems will be automatically removed...

  • > The trouble with removing media player from

    > the OS is that things like live preview of

    > files depend on it, so that functionality

    > would have to be removed.

    Windows directory = kernel, drivers, runtimes for various types of applications. Not available for ordinary apps.

    Program files = explorer, IE, Media Player (can use from some runtime components for displaying some media), etc. Each application separated from each other.

    Nobody speak about removing some functionality, only about making visible borders and adding security on more levels (for example IE can't modify explorer or kernel, etc.).

  • Another thing I'd like to see in Windows 7; Please allow changing the color of the taskbar and start menu glass and the windows start orb. Different colors like a black start orb and white taskbar and start menu and so on would look real nice. (I posted this before but it never got posted so I'm posting again.)

  • One thing that disappointed me with Explorer (starting with Windows 95) was that you removed the split pane windows.  I remember with Windows 3.11 I was VERY effective & fast moving files around with two split pane windows.  It's definitely the reason why tools like TotalCommander (shareware file management tool) still exist and get high ratings on reviews.

    Also, with the whole MDI vs SDI debate, I really wish SDI was still an option with all your development tools.  I'd rather have 5 windows all in front of me, 2 being different windows (of code) in Visual Studio, 2 being different pages in SQL Server Studio, and one browser.  All Open.  All Visible.  Being able to have that many (or a LOT more) windows open and today's large 20+ inch montitors would be great.  It would be much more productive than having to Alt-Tab, Ctrl-Tab all day long.

    I've got a co-worker that uses dual monitors, maximizes Visual Studio across both, and still uses the Tabbed layout.  It looks horrendous as far as UI Window management.

  • I tried a few of the virtual desktop programs mentioned in this blog. With all of them I get the idea that it is some kind of trick and not properly supported by the OS. Many programs pops up windows on other desktops than they reside on. If you launch a program , you have to wait for it to fully open before switching to another desktop, otherwise it ends up on the wrong desktop etc.

    But I must say, I liked the concept and is using it now, it is great. Hopefully better API will be added in 7 to help 3d party tools do a better job, or even better, it will be part of the 7.

  • Try this link. Microsoft Research has already studied ways to improve the experience when working with large displays and multi-monitor configurations. Most of our suggestions get a mention here.

    http://research.microsoft.com/users/dcr/work/publications/2005-Robertson-CGA-LargeDisplayUserExperience.pdf

  • "@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."

    I would like to support this feature. While widescreens are getting more common, I still consider them unfriendly since they don't provide a good working area for maximized windows (text becomes to wide to read).

Page 6 of 9 (121 items) «45678»