There is one thing that really pushes my buttons, one thing that is sure to send me off on a rant on life, the universe, and everything. I have a 21″ widescreen 1680×1050 display – which might not be large to some of the real geeks in here, but to me, it’s pretty huge. With so much screen real estate, why oh why do my friends all still insist on maximising every window they come across when they sit down behind my computer? This – and more – is the subject of the latest post on Microsoft’s Engineering 7 weblog.
The entry, written by Dave Matthews, program manager on the core user experience team, deals with how people manage windows. However, where the previous article focussed on how people use the taskbar and how Microsoft could possibly improve it, this article deals with windows and how users move and arrange them. After a short history on the window (I will cover the window in our ongoing Usability Terms series too), Matthews gives some interesting statistics about how people manage windows on Windows.
Regarding the history of the concept of the window, Matthews makes some interesting notes. He touches on the subject of tiling versus overlapping windows, but also on a debate we often have here on OSAlert and other forums: where do we put the menubar? Apple style, or rest-of-the-world style? “Early on this was a big debate because there was such limited screen resolution (VGA, 640×480) that the redundancy of the menu bar was a real-estate problem,” Matthews notes, “In today’s large scale monitors this redundancy is more of an asset as getting to the UI elements with a mouse or just visually identifying elements requires much less movement.”
Moving on the usage data Microsoft has collected, the results are quite drop-dead obvious. As you can see in the below pie chart, 89% of Windows users have one or two windows visible on the screen – despite the fact that most users have roughly 6-9 windows opened at any given time.
This obviously reflects what I ranted about in the introduction: most people maximise their windows. For some types of applications, Matthews notes, this makes sense; a spreadsheet application can really use all the estate it can eat to show as much information as possible. However, some other applications, mostly those with free-flowing text, don’t really benefit at all from having maximised windows (lines become too long), and as such, usage data shows that users fiddle with window sizes until the text is pleasantly readable. “Since Windows doesn’t have a maximize mode designed for reading like this, people end up manually resizing their windows to make them as tall as possible, but only somewhat wide,” Matthews explains, “This is one of the areas where a common task like reading a document involves excessive fiddling with window sizes, because the system wasn’t optimized for that scenario on current hardwarwe.”
Another use case where users need to fiddle and fumble about a lot with window sizes is when they need to compare two windows side-by-side. Even though Windows has some nice options to achieve perfect side-by-sideness (select multiple taskbar entries using control-click, right click, select “Show windows side by side”), these options aren’t very discoverable. Manually resizing windows is actually quite a difficult task; it requires quite some precision mousework, and precision mousework needs to be avoided at all costs. As Matthews puts it, “in terms of task efficiency, the best click is an avoided click.”
Considering the data, Matthews explains some of the goals for Windows 7:
For Windows 7 our goal is to reduce the number of clicks and precise movements needed to perform common activities. Based on data and feedback we’ve gotten from customers, a number of scenarios have been called out as important considerations for the design. As with all the designs we’re talking about – it is important to bring forward the common usage scenarios, make clear decisions on the most widely used usage patterns, address new and “unarticulated needs”, and to also be sure to maintain our philosophy of “in control”.
Combining this latest entry on user interface design with the previous entry on the taskbar, it becomes quite clear that Microsoft is seriously working on improving the graphical user interface of Windows. Seeing Windows 7’s first public release is on its way (at PDC later this month) we won’t have to wait much longer.
Because unless what they are doing requires viewing more than one Window at a time, multiple windows are just an annoying distraction.
Next up at Usability Central: “Rethinking Unreadable Microscopic Fonts in MSDN Blog Pages”
Edited 2008-10-05 16:49 UTC
Um….the font on that page looks perfectly fine here, size-wise. (Chrome/win32).
In Epiphany 2.24 and FF3, with the default font size set to 12pt, the actual font on that page is 7pt.
Update: Same thing with Epiphany-Webkit
Edited 2008-10-05 19:24 UTC
Both Chrome and FF3 have the fonts at normal size here.
Edited 2008-10-05 19:38 UTC
I’ve actually commented on this before.
Part of the reason it looks like ass is the way linux does font rendering, and/or the default sans-serif font that is set on the system just doesn’t scale down. Freetype tends to spaz on anything but the most basic of jobs.
The logic behind setting a font at 0.9em is sort of weird in the first place though. You are basically saying you are respecting that the user set a base font size, but you want to display your text at a smaller size then they want to read it at. If you want absolute sizes, you should be using px, which should look the same on all systems. em is for relative sizing. The only reason you should be going for lower then 1 is for something like a caption, or for copyright text, not for the main type size on the page.
What is supposed to happen when you put a ‘font-size: 81%” for body and then proceed to use a lot of ‘font-size: 0.8em’ for individual elements in the body? Are you supposed to end up with 0.8 * 12pt = 9.6pt or 0.81 * 0.8 * 12pt = 7.8pt?
And I thought this was obvious enough not to have to mention… but to the people who aren’t getting 7 pt, what is your base font set to, and what is your minimum font size set to?
I’m not at all sure that this can be blamed on FreeType.
CSS gets overridden the lower you get. So if you have a style on the body and a style on an element, then element level will override the body level. If you are interest in this sort of stuff, I highly suggest firebug on FF, best web dev tool out there for CSS/JS.
Default config of FF3 on Vista is 16pt Times New Roman.
Like I said before though, if you are going for a fixed size, you should be using px, exactly for this reason. If you are going for a relative size, 81% is just silly, because you are deliberately saying “Make this smaller then what the user set as an ideal font size.”
I’m not saying it is all freetypes fault. I have just noticed that reading MSDN stuff in particular on a default linux install is pretty much illegible, which is why I mentioned it.
You are not completely right here.
Absolute values like px or pt overwrite inherited values, yes. But em is a relative value. It is dependent on the inherited font size (1em == the width of letter ‘m’). Therefor, indeed another shrink happens, as sbergman assumed.
I also want to add that px is not, as you claim, the right unit for font sizes, even if you want to give a fixed font size. You should instead use pt, which at least (while not following the user’s preference for base font size) respects the screen’s DPI.
You learn something new every day I didn’t realize that, and I fancy myself pretty good at css.
The only problem with pt is if you are not using ubiquitous fonts like Arial or Helvetica. When the user fails over to another font, you could end up with a dramatically different looking page then what you want, as some fonts are bigger then others at the same pt.
This is all pretty academic anyways, since em is the correct unit in the overwhelming majority of cases. I would say though that in the odd case where you do need to override the users choices, chances are you will want to override their dpi choice too.
Perhaps a linux/freetype quirk of some form? It’s definitely not scaling down to 7 here, and I’m at font size 12 for system fonts also.
I’m using Liberation fonts for my defaults in most applications. Although the text is a little small on my screen, 17 inch 1280×1024, it’s very legible. I have hinting turned on, and my default font size is 16. The default is so high because my slowly dying motherboard had me trapped at 800×600 or less for a few months, and everything was huge to me. Now, everything looks small if I put it on my usual 12 or 14. If not for Firefox’s zoom feature, I’d have given up using Slashdot
It seems to me that the very first thing every webdesigner does is to add a “font-size: 90%” clause to “body” in the style sheet. Cause yea, we users don’t know what size is best for us.
Next up at Usability Central: “Getting rid of annyoing and unnecessary fixed pixel(!) width constraint on OSAlert”.
And did I mention the beauty of this combined with some strange font size problems/inconsistencys on OSAlert?
http://fopref.meinungsverstaerker.de/div/osnews.png
“I have a 21″ widescreen 1680×1050 display – which might not be large to some of the real geeks in here, but to me, it’s pretty huge.”
Possibly because there is no reason for that much screen real estate to begin with? 21″ wide screen comes in handy for gaming or watching widescreen movies. Beyond that it is overkill IMO. Reading Comprehension..notice not just reading..requires the human eye to focus. 1 window visible at a time makes a person more productive IMO.
It is not unnecessary at all. In fact it is very usable. There are many times that I am reading a text and working on something related to that text. a large wide screen monitor makes that workable (the best solution is two monitors, but that can be expensive.)
Plus, with the wide screen, the vista sidebar is available all the time and gives me access to lots of nice information and resources with out having to leave my current work. (the MSDN search bar is the most useful , though I like the app launcher and piglet too)
I stand corrected. I have never seen anyone actually use it like this. I use a 2 monitor setup, as it was cheaper for 2 19″ flat panels than for a single large flat panel at the time.
Writing web applications. Bluefish with the file selector in the sidebar. A browser window next to that. And a terminal window running the application server under that. I do not find my 22″ monitor to be excessive for that use. But for normal tasks… I maximize my windows like everyone else.
“Writing web applications. Bluefish with the file selector in the sidebar. A browser window next to that. And a terminal window running the application server under that.”
Good use of it. I use 2 monitors for the same type of thing, but never thought to make that equivalent to a widescreen flat panel. My bad.
I’m a Visual Studio developer, and I find my 21″ flat panel alongside my 17″ laptop screen a real boot to my productivity.
Maximizing everything has a lot to do with how windows is designed… The window management is very poor, and most apps are seemingly designed to be full screen while being used as a result…
By contrast, many unix and mac apps are designed to run alongside other apps on the same screen… The windows photoshop has all its toolbars inside a large window, on the mac the toolbars float as separate windows above your background or other apps, even the msoffice apps work this way on mac too.
The presence of multiple workspaces on unix, and since leopard, mac too also helps, you can lay the applications out how you want in each workspace and flip between your sets of applications at will, very convenient and i couldn’t use a system which lacked workspaces. windows ofcourse, still lacks this basic feature by default.
I find that kind of window management borderline unusable. I don’t want to see a bunch of unrelated or semi-related windows visible on my screen at once. It’s confusing and difficult to manage, no matter how fancy your window manager is. There’s nothing wrong with maximizing windows and focussing on one task at a time. In fact, mentally speaking, this is a *good* thing.
I’ve been trying to live with Mac OS X’s style of window management for 6-8 months now and I still hate it. I gave it an honest shot, but it just doesn’t fit my mental picture.
Last time I used them, the OS X toolbox windows disappeared when switching to another application, and reappeared when switching back; so there wasn’t really any extra clutter from other applications when you switch to something else.
The thing I don’t really like about Windows’ style of window management is that, as the g/p post stated, it seems to have encouraged a lot of MDI applications, which really reduces the usefulness of multiple monitors.
This is perfect example of different usage patterns of users… I for one absolutely HATE that on OSX, earlier Photoshop versions and other apps cannot take over the whole screen. I don’t want to see my wallpaper and icon clutter when I work in Photoshop. I want to focus on my single task. That’s why Apple Pro Apps (FCP, Motion…) and even Photoshop now include a mode which obscure the desktop much in a way Windows does. Mac OS mode introduces unwanted visual noise and can in fact shorten attention span – you just check everything all the time, because you can see everything all the time…
Reading all the comments about stealing features from Linux/Compiz (snap to borders, virtual desktops, always on top etc.) is nice.
It seems that Linux innovation is picking up speed. (Although some might say that it was about time.)
I can’t wait until Linux gets the stuff OSX and Win have for some time like Kernel mode setting, Vsync etc.
Good times ahead.
Edited 2008-10-05 17:38 UTC
and DRI2!
Lol. Virtual desktops date back to the early eighties at least, they have nothing to do with Linux. “Always on top” has been a window property on Windows for many, many years, so I’m pretty sure it wasn’t invented by the “Linux/Compiz community” either. Heck, nothing you wrote made any sense at all – you probably referred to the “X community”, but even then that’s really innacurate…
Where did I write “invented”?
I guess you have comprehension issues.
I just said that Linux has all these features and that people on that blog asked for them.
If Linux did not invent them, then it can hardly be classed as “stealing from Linux” now, can it?
So how exactly can I make any window on Windows be on top? All the programs that do not support it requires me to install some mini-application for it. Like this one: http://rosafamily.org/software/pushpin/ or this one: http://www.fadsoft.net/AlwaysOnTopMaker.htm
And it does not even work for all windows.
I got a 21″ display, too.
But I got a Mac, MacOS X keeps the windows just as big as they need. That means, if you “zoom” a window, MacOS resizes the windows in a way that there are no scollbars anymore. That means, you can see every content of the window, but it doens’t fill out your hole screen.
I think this is very clever.
I think it’s very annoying. Since what I’m looking at now is often not what I’ll be looking at soon, and what I’m looking at soon may be bigger than what I’m looking at now. Thus I have to ‘maximize’ my window again when I switch to looking at the new thing. When I ask to maximize my window I expect it to do that and not try to guess how big I really want my window to be.
I’m not saying the Mac approach is necessarily useless, but it should definitely be offered as well as and not instead of proper maximization.
The Macintosh has had the ability to resize a window based upon the content area since the early 1990’s, when it appeared in the Finder of System 7. It is a handy feature in that context because you are almost always dealing with multiple windows.
But the question arises: does this sort of feature make sense, or is it more of an annoyance. I’ve found that “how do I maximize a window” is a fairly common question among new Mac users. They click the correct button, but it doesn’t behave how they want it to. That is a pretty good implication, in my mind, that they actually do want the window to fill up the entire screen.
Why would they want that? It’s probably as many people have already suggested: running an application in full screen improves the user’s focus. In some case it is out of necessity (e.g. “I have to get this done”), and sometimes it is for pure pleasure (why would you want windows cluttering your screen when you’re trying to enjoy a movie).
Also, given that some studies suggest that multitasking reduces productivity, you probably want to do everything that you can to discourage people from multitasking. In otherwords, Microsoft is being evil yet again by creating better window management features.
Actually this was a very big source of annoyance for me when I switched to Mac.
I can’t work with more than an application at once. And in the rare case that I need to see two applications side by site I can arrange them by hand.
It’s so damn annoying. Luckily a lot of applications maximize properly when you click the (+).
I said it many times here already, but I would like tiling window management to become mainstream. It’s already proven by programs like Eclipse or Blender, so there is no need to invent something new. The only next step required is to make it global for all applications.
Oh, and btw, I also use all the windows maximized. And I would very welcome an easy way to tell computer “display me the following 2 or 3 windows nicely taking all the screen”.
Windows already allows this, as I explained in the article.
Select all the taskbar entries you want visible (control+click, as you would select multiple files in Explorer). Right click on one of them. Select “Show windows side by side”.
Not easy, and it violates the unwritten rule of how options should never only be accessible via context menus, but it’s better than nothing.
I’ve been using Windows for god knows how long and had no idea that this was possible. I’ll certainly be using this.
Now if only they’d add the option to tile 2×2 or 1 horizontal and 2 vertical it would be even better.
I love some of the anti-discoverable features in windows. Like shift-right click in a folder on vista enables the “open command prompt here” menu item. Very useful for a sizable percentage of the user base, but how the hell are you supposed to know its there?
What’s a command prompt, and why would I want to open one?
Edited 2008-10-06 02:15 UTC
not sure if you are being fasicious or not, but its a terminal emulator. In gnome its gnome-terminal, kde is konsole, windows its command.
Well, I was really just passing on a question from my mom, my aunt, my brother and his wife, my friend Jay, and my cat, Katarina. Oddly enough, Shadow, my dog, is becoming quite the bash expert, and is showing real promise in Python. He seems a bit put off by Ruby, however.
Man, do I feel like an idiot. I had no idea that was there. When did it show up? Has it really been there since win 95? That *really* would have saved me hours of work. Why isn’t there just a keyboard short cut to do that with the open windows? Ala expos~Af^A(c)?
The article talks about how window resizing requires precise mouse movements, but doesn’t actually jump on the obvious solution that linux window managers have had for ages. Make moving and resizing easier.
Hold a key (windows key!) and left click drag anywhere on the window to move it, hold a key and right click drag on any part of the window to resize it. Just those two enhancements are a large part of the reason I like working on Linux better than on windows. I tend to move windows around a lot and this saves so much time. Window snap also helps.
Instead of trying to be smart and annoying for users (like the false minimize on OSX), just make the window management tasks easier.
I agree that maximized windows are a bad waste of space. I was, however, pleasantly surprised at the number of people reporting 2 windows open–I would have expected even that percentage to be vanishingly small, considering that most Windows applications open maximized by default.
Screen resolution is important as well. Laptops are now outselling desktops, and their most common resolution is 1280×800. Two is probably a perfectly reasonable number of windows on a machine with that limitation.
(Off-topic warning!) I feel like a bigger issue, space-wise, might be found on the other side of the platform fence: Gnome (at least in my Ubuntu) defaults to ridiculously huge fonts. This can be easily adjusted, and much easier than in Windows, but in many themes, buttons and tabs don’t look right when you reduce the font size.
This pushes my buttons too. It’s almost always that you see somebody working in a Windows application and like 90% of the display is blank white space. Talk about using the screen effectively. But people got used to it, much as they got used to viruses and instability and annoyances and everything else that comes with the Windows platform. After moving to Mac for a while these people still try to do the same with Windows, but sooner or later they learn the idea of using multiple windows, and that helps productivity since they also learn the notion of drag and drop which is almost nonexistent on Windows. Expose sure helps too. So actually I’d say the switch is a catalyst or an excuse for users to start considering desktop paradigms that are actually useful – i.e. it’s just not gonna happen on Windows even if they finally get the window management right.
No, it doesn’t help productivity. It adds too much information and confusion for the user. Drag and drop is rarely needed, honestly. And when it is, you can do the same thing in Windows as you can do on the Mac: just resize the windows so you fit multiple ones on the screen, or use the special window arrangement menu options to tile or cascade the windows. Linux window managers are even more advanced. The Mac window manager, however, provides a one-size-doesn’t-fit-all approach. You either follow Steve Jobs’s workflow, or you can f–k off. Real userfriendliness there!
I have always wondered what’s wrong with osx doing window-max/min function like it would be flawed but now I see why it’s working like it is working after reading this. It actually makes sense not to see any bigger window than what’s it’s nesseary for it’s content…
<quote> why oh why do my friends all still insist on maximising every window </quote>
Giving these people a brain was a waste, a Spine would have sufficed
Microsoft could just take a leaf out of their own research book and reduce vista’s resource usage by just installing ratpoison. For 98% of windows users this also would suffice :~)
Not that there’s anything wrong with ratpoison mind you!
Hopefully they’ll think about CLIPBOARD management as well, since a lot of times, the reason why people switch back and forth between windows is to copy/paste multiple lines of text scattered throughout a document.
And in 2008, why does the Windows clipboard only store one kind of item at a time? Sure, there are 3rd party clipboard utils to solve this problem, but this should be built in, along with a Firefox-like multiple select option across ALL applications, and the ability to minimize windows to the system tray.
“where do we put the menubar? Apple style, or rest-of-the-world style?”
Under the mouse pointer, a la RISC OS. So you don’t need to travel across vast amounts of screen space to find it.
Click the middle mouse button (aka menu button) and there’s the menu, ready to use, at your mouse tip.
Coupled with the facility to right-click to select but keep the menu open (so you can easily select multiple options) makes a very comfortable menu system.
I maximize Windows and I have a very large widescreen monitor. The functions I use most often are maximize, and minimize-all. I maximize for the following reasons:
1. Ninety-nine percent of tasks I perform don’t require multiple windows to be open side-by-side. I would argue that most tasks don’t require multiple windows to be open side-by-side. Why fiddle around with windows when you don’t need it.
2. When you maximize a window, you can close it simply by shooting the mouse up in to the upper right-hand corner and clicking (the X button becoming an ‘infinite’ target when maximized). To close a non-maximized window you have to carefully click on the X button, require additional time and effort.
3. Generally, the more screen real estate you can dedicate to your current task, the better.
I mostly agree, especially if you are using an app like a web browser that clearly benefits from more screen space. But it just depends, of course, which should be pretty obvious too. The smaller the task and the app, the less desktop space you usually need for it, like when checking some system monitor or configuring small things only. Also, it may just be easier to, for example, copy and compare stuff in several windows, if they are both open side by side.
But – if you need to use several big applications simultaneously for a long time, and without using a tiling window manager – it can simply take too much time and energy to arrange and resize several windows, side by side, and make them use all the desktop space effectively. It can be much easier to navigate from a maximized window to another (or from a virtual desktop to another), by, for example, using the Alt + Tab method, or just by clicking the taskbar.
It should be made easier and faster to tile windows on desktop environments and operating systems (Linux, Windows etc.) by just pressing a button. Still waiting for that.
Your problem seems to be that you have bought a huge, over-sized display. The most elegant solution to this problem would be to buy a smaller, reasonably-sized display.
Another poster in this thread has already recommended Ratpoison, but a good idea is worth repeating. I honestly think that Microsoft developers should take a look at how application windows are managed in Ratpoison. (Also, the way Ratpoison eliminates unnecessary mouse clicks is something Microsoft could learn from.)
Ratpoison’s way of managing application windows is modelled after GNU Screen. By default, Ratpoison starts all new application windows maximized, but you can use a keyboard shortcut to easily split the screen (horizontally or vertically) in order to view two equal-sized application windows at the same time. And each of those two application windows can be further split (horizontally or vertically) in order to view even more windows at the same time. All this, and more, can be done in Ratpoison by simply hitting a couple of quick keyboard shortcuts.
http://www.nongnu.org/ratpoison/doc/Frames.html
Why not let there be an invisible grid, a lot like Visio, that windows will automatically snap to when resizing them? This would allow you to easily resize windows so they align with each other or the edge of the monitor without having to introduce any new features/functions to existing users.
You should be able to disable “Snap To Grid” and fine tune the dimensions of the grid to whatever you desire but I think this would solve most of the problems with resizing, snapping to the edge of the screen, etc.
(taken from my comments on this very blog)
Hi,
The multiplication of tabs in various apps (web browser, file browser, IM, terminals, text editors, etc.) is quite redudante. That’s in fact a limitation of windows managers. Google Chrome even merge title bar and tab bar.
When will windows manager provide tabbed windows as mainstream ? This will save codes and screen space. I’m waiting for tabbed Gimp image, tabbed document, tabbed spreadsheets, etc. All the same way.
~Af^A‰tienne.
Well, Ion3, for instance, can do tabs, Gimp included:
http://imagebin.ca/view/eLBX2M.html
Rotate the screen.
Yes, window management is one of the reasons I stay with MorphOS.
On MorphOS active windows can stay in the backgrund, you can specify each application how the window should be opened by default. You can open as many screens as your memory allows, you can specify on which screen (and which resolution) an app should open, you can pass easily one app from one screen to another.
You can configure the window mangement very much: simple click brings window to front or double click brings window to front, double click on title bar full screens a window (maximize does not necessarily be full screen) and so on and on; the list is really long.
Plus, all window management gadgets are on the top right of an window except the close – and only the close – gadget, which is on the top left.
Really, MorphOS may be lacking a lot (apps and some other (important) stuff), but window managment is best – at least to my taste and knowledge (that, apart from MorphOS, includes Windows, OS X, QNX and Linux).
Note: On AmigaOS and AROS it is virtually the same.
A feature that I have seen and liked on kde is to ability to maximise a window vertically. If you click on the maximise button with different mouse buttons you get different effects.
Left click = maximise as normal
Middle click = maximise vertically
Right click = maximise horizontally
This worked really well in my opion and I miss it on windows.
Take a look at how RISC OS got over this problem?
The contents of a window in RISC OS typically flow within the window depending on how the user arranges it. So if the user opens a hard drive folder, and it has 2 files in it, then the window is made to measure. That is tiny. The user can rearrange the files by moving the sides of the window. but it remains small.
Not like in Windows where it has acres of white space. The contents seem to have a mind of their own and the window simply shows you part of the contents.
Therefore in Windows you tend to maximise a window to see as much area as possible as there may very well be a file positioned outside the current viewing area even if there is hardly anything in the area!
Same goes for things like a web browser page. Why doesn’t the page contents fit the width of the window in Windows? Rather than the other way around.
Windows and Linux GUI windows are bizarre.:-)
Edited 2008-10-07 14:53 UTC
My typical development desktop has the IDE taking up as much screen real estate as possible, with a media player streaming something in the upper right, and an IRC/Chat window in the lower right.
However, the IDE itself is basically a bunch of windows too. The only difference is that they’re part of the program and not the desktop.
So if the IDE had an instant messenger and media player, I wouldn’t need to reposition and resize the desktop windows. And while it shouldn’t because instant messaging and movie watching are not part of any software development task, they are part of MY software development task.
It’s the task context that’s important, and switching contexts is not always orthogonal to switching windows. And it’s the user who ultimately decides what this context is, and window management is just a very primitive tool they can use to customize it.
What we need is context management, NOT window management.
Use emacs.