I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

July 16, 2007

The Non-Maximizing Maximize Button

One of my great frustrations with the Mac is the way the maximize button on each window fails to maximize the window. In a comment, Alex Chamberlain explained why this isn't broken, it's by design:

This is a textbook example of how Microsoft's programmers got the original Mac GUI wrong when they copied it for Win 3.1, and never bothered to fix it: there's no zoom button on Mac OS windows because it's unnecessary. What you're mistaking for a "maximize" button is actually a "snap window to size of contents" button. Far more useful and elegant. Once again, Microsoft has no taste and no clue when it comes to the GUI. All that money and Gates has never been able to hire a decent human factors person.

In other words, pressing the maximize button shouldn't maximize the window to the size of your monitor ...

Suck.com, in a browser window maximized to the monitor

... according to Apple, pressing the maximize button should maximize the window to the size of the content.

Suck.com, in a browser window maximized to the content

This is oddly reminiscent of the recent font smoothing debate, where Apple sided with the designers, and Microsoft sided with the realities of current hardware. Neither approach is wrong, per se; it depends what you want to emphasize and which tradeoff you think is more important.

I think the maximization problem is even more ambiguous than font rendering. With font rendering, the answers are based on objective mathematics: at low DPI you should favor the pixel grid and thus the user; at higher DPI you have enough pixels to favor the designer and render the font more accurately. And it's not an either-or distinction; the operating system could choose the font rendering strategy opportunistically depending on the capabilities of the display.

Unfortunately, there is no optimal window maximizing strategy. As you can see in the above screenshot, we end up with a vast expanse of unwanted whitespace when suck.com is maximized to a 1600x1200 monitor. Excessively long lines are hard to read, which is why most newspapers are formatted into columns. It's also why websites with any design chops at all never let text extend the full width of the browser.

New York Times online, columnar layout

I agree in principle that windows shouldn't be larger than their maximum usable size. But I also think windows with a fixed layout shouldn't be resizable in the first place. This is the subject of an entire sidebar in Neilsen's latest book, Prioritizing Web Usability.

While the Maximize button tempts many users, they are often poorly served by it. For example, a 1024-pixel-wide window will result in overly long lines for text-heavy applications such as web browsing. The preponderance of maximized windows also makes it difficult for users to understand the multiwindow nature of modern GUIs. In theory people are supposed to work with overlapping windows but in practice they can't when windows take up the entire screen. Maximized windows deceive people into thinking of the computer as a full-screen environment rather than one with multiple, simultaneously active areas.

Fortunately, maximized windows will gradually vanish as people get bigger monitors. With a 2048-pixel-wide screen, a maximized window is so grotesquely oversized that most users will resize it and work with two or more windows at a time. Tiled windows may also enjoy a renaissance with huge screens, making it easy to deal with two to four windows simultaneously.

Here's where I think this argument starts to break down in a big way. Dealing with multiple windows is far too difficult, even for sophisticated computer users. Adding Z-order in addition to the traditional X and Y positioning is one variable too many. I don't think it's a coincidence that single window interfaces, such as the web browser, or Tivo, dominate the market. Microsoft killed off the multiple document interface in Office-- a form of per-application windowing-- years ago. Can you name one application with a multiple window interface that's even popular?

Desktop with overlapping windows

Manipulating windows is pure excise-- extra work that stands between the user and completing their task. The more windows you have to deal with, the less work you get done, and the more time you spend sizing them, moving them, bringing them to the top, and dragging them around so they aren't overlapping. That's one reason I'm such a fan of double and triple monitor setups; more desktop space equals fewer overlapping windows, and less time spent futzing around with window layout.

That's my problem with Apple's non-maximizing maximize button. Allowing users to maximize any window to a monitor has its problems, to be sure. But Apple's method of forcing users to deal with more windows by preventing maximization is not good user interface design. It is fundamentally and deeply flawed. Users don't want to deal with the mental overhead of juggling multiple windows, and I can't blame them: neither do I. Designers should be coming up with alternative user interfaces that minimize windowing, instead of forcing enforcing arbitrary window size limits on the user for their own good.

[advertisement] Axosoft's OnTime 2007 allows software development teams to collaborate and ship software on time. It manages projects hierarchically, tracking defects, requirements, tasks, and help desk incidents in one place. Hosted or installed. Windows or Web. Free SDK and Free single-user license.

Posted by Jeff Atwood    View blog reactions

 

« Don't Be a Commodity Blogger The Principle of Least Power »

 

Comments

I can't say I've ever used a mac so I've never run into that, but I can say I much prefer full maximization. When I'm working with a window it's something I tend to be very focused on, and so if I have multiple windows visible I get distracted by the other open windows, again reducing the amount of work on the task at hand that I can get done in a set amount of time. That, and I use Alt+Tab incessantly, and having multiple windows visible really doesn't make that any more efficient. In fact, I'd argue that it makes it less efficient because it's less easy to tell what exactly I just switched to since it's not immediately apparent.

Nathan M on July 17, 2007 08:35 PM

I am still yearning for the day when I see multiple-desktop support from Microsoft and better tiling support or something of the sort from ANYONE. As a programmer with a huge screen, I do often have multiple documents open side-by-side--but it is a truly painful experience to constantly be resizing, moving, minimizing and un-minimizing each of a dozen or more various documents I have open simultaneously. I have at times appreciated Windows' tiling/cascading features, but they simply are not flexible or extensive enough. I yearn for the day when I can see in ANY operating system a flexible multiple-window system which allows for the simple tiling and resizing of any and all visible documents simultaneously.


As for one popular program as you mention, Adobe Photoshop. Admittedly, however, I would imagine it is more a relationship of necessity than of desire.

Ryan Hoerr on July 17, 2007 08:42 PM

Please stop calling it 'the maximize button'. There is no such thing.

You're also indirectly stating one of windows primary interface flaws here, you can hardly tell what window is front-most and which are behind which others. That's because of the terrible gui.

Having maximized windows is the sort of thing my grandma does because she likes to just 'hit the mouse to the top' to close things instead of clicking on the bloody X.

You can't concentrate on more than 1 window a time so you think that we should continue to perpetuate microsofts screwup in ui design? You're suggesting we cater to the lowest form of human that can't drive and talk at the same time? Can't watch tv and take a sip of a beer at the same time? Can't walk and check their watch? Come on. I have an rss reader behind this firefox window... So? I can't be expected to understand the concept of multiple things on my.. what do they call it... oh yea, DESKTOP. Hey look, I have more than 1 piece of paper on my desk, and I can... GASP... read what's on both of them without moving the top one first! Gimme a break.

Apple is designing for the designers, perhaps you are right about that. Maybe it's just because designers tend to be the least retarded when it comes to obvious interface design decisions.

Nathan: Try using a mac, you'll see. You don't need alt-tab because expose shows you all of your windows in a nice spread, or just the windows of the current app. If you need concentration there's tons of cool tools that help keep your front-most work prominent and the rest dulled - this will save you from having massive hideous windows taking up your entire widescreen monitor.

I die a little inside everytime I see a 1680 pixel wide IE window with like 13 toolbars on a co-workers monitor.... Ughhh...

ryan on July 17, 2007 08:47 PM

The Mac has more of a Drag & Drop tradition between applications, that's the emphasis on having multiple windows visible at the same time. If drag & drop isn't robust it doesn't make much sense.

Try dragging a photo from Outlook to MSN Messenger, Windows doesn't like it (as I discovered myself after being trying to send candid photos to my friends as I do on my Mac).

Mark on July 17, 2007 08:51 PM

Drag and drop is the most utterly broken UI concept in the world. Jeff should do a write up on that sometime.

Drugged and Dropped on July 17, 2007 08:56 PM

> Maybe it's just because designers tend to be the least retarded

I totally disagree. Designers are so retarded, we've invented the term 'designtard'. Anyone who thinks having entire sites in Flash or using Javascript for positioning is clearly brain damaged.

> You don't need alt-tab because expose shows you all of your windows in a nice spread

I laugh every time I watch a Mac-savvy friend of mine use Expose with more than a handful of windows. Pretty much every time, you can read the expression on his face: "hm, where'd that window go?".

Pete on July 17, 2007 08:58 PM

You claim that dealing with multiple windows is too difficult, and yet it's the entire thrust behind Apple's wildly popular and oft-imitated Expose window management feature.

It's not that multiple windows is too difficult -- though I imagine it's annoying if all you've ever used are taskbar-based interfaces. It's just that Windows optimizes for switching between maximized windows via the taskbar, and OS X optimizes between switching between window sets via Expose and the Dock's click-the-app-icon-to-raise-all-app-windows behavior.

M. Noel on July 17, 2007 08:58 PM

Sigh. Yet another "the way I am used to is better" argument.

IMHO, maximize was a great concept when monitors were 800x600. Today, on my Mac, I never, ever, make windows the "full screen". On Windows, when I make something "full screen", what I really am after is a "no distractions" mode, like the "full screen" mode of Scrivener (the interface doesn't fill the screen; everything not of the app gets faded out to a dark dark gray or black). In the end, though, the Windows maximized windows usually either hurt my eyes (all white, everywhere!) or make the app unusable (the buttons of the interface get flung to the far corners of the desktop, because I said I wanted the window that big and obviously the buttons must be anchored to their nearest corners).

In a "well-behaving app", that mythical creature of yore, "zoom" (the OS X term for it) is highly useful. I don't spend time "arranging" my windows; that's precisely what the zoom button saves me from!

"Dealing with multiple windows is far too difficult, even for sophisticated computer users."

As Nielson said in the quote directly above this: that is very true (for novice users) when most windows are maximized. However, I haven't ever seen a user get confused about the existence of a window when they can see a statistically significant portion of it peeking out from behind their front window. Then again, I also don't see users trying to tile their windows together like you appear to feel is necessary when multiple windows are on the screen either.

"Can you name one application with a multiple window interface that's even popular?"

I'm not sure what you're asking. Are you looking for MDI applications? I can't think of any, but MDI was an abortion of an idea from day one; I don't see what point that might begin to prove. Are you talking about applications that support having multiple windows open at once? Well, since you just mentioned Office, I'm pretty sure Word opens multiple windows, one per document. Are you talking about applications that are designed and work well in an overlapping-window mode? For that, I'd start looking away from Windows apps, as "Hit the maximize button" has far too long been Step 3 in the boilerplate Quick Start guides. Windows apps, by and large, tend to behave like they own the entire system, including all the user's attention. On the Mac, though, apps which work great with overlapping windows abound.

All that having been said, the #1 most important thing with overlapping windows is that the "front" one needs to be immediately and clearly identified. OS X has tended to be movin in the wrong direction here for the last several years (brushed metal windows are incredibly similar between the focussed window and a background window), although even so the window shadows give at least a good subtle indication. Leopard's window style seems to be a step back in the right direction there, thankfully. Vista has also made some significant improvements (especially over the Win 9x style window adornments in your screenshot!)

"Designers should be coming up with alternative user interfaces that minimize windowing, instead of forcing enforcing arbitrary window size limits on the user for their own good."

I'm not sure who is being limited here. You suggested that fixed-layout windows should not be resizable above (an edict with which I completely agree). If you really want a window to be as big as your screen, you can drag the corner to be that big (or download a script to do that for you). I don't even think Windows is imposing size limits here; they just aren't giving the user a quick and easy way to "pack" the window to the minimal size the application wants. Still, the user can do that themselves; it just takes a whole lot more effort than the maximizing gesture takes on OS X.

Tom Dibble on July 17, 2007 09:02 PM

"Excessively long lines are hard to read,"

While I agree that columns make the text a bit easier to read, I find that this is only in the case that there is surrounding text to filter out. That is, columns make themselves easier to read. I can't stand being forced to read a tiny column of text that's surrounded by whitespace. I even went as far as to make a CSS hack in Google Reader with Stylish to force it to use the entire width of the area designated for articles.

The thing that bothers me the most is when the text is confined to a column that doesn't grow in width when you increase the font size. Sometimes I like to sit far back and just increase the font size in Firefox, only to have it confined to 5cm on my screen, making it less readable.

Ryan Fox on July 17, 2007 09:06 PM

I have a monitor with a 1920 pixel width and I STILL maximize most of my windows. It's just too much of a pain to drag all the various windows around. It's ridiculous, I know.

I find that it is easier to hit the 'bloody X' when it's on the top right corner of the screen. There's a name for that, but I can't remember what it is, but with my trackball it's very easy to zoom into any corner of my monitor and manipulate it that way.

As for better tiling systems, I probably would do more Mac style maximizing if I had one set up. When I use Emacs I split the frame into 2-4 windows more often than not.

It seems to me the current thing in interface seems to be to give everything 'tabbed browsing.' We now multi-task enough it's not enough for the operating system to have the panel, now all of our apps have to have one too.

Ben on July 17, 2007 09:07 PM

Apple doesn't prevent maximization with that button. The way the window resizes is completely up to the designer. If they want a single window app that maximizes to the screen size when the button's pressed - no problem. I don't see what the button has to do with it. The thing that bothers me about that button is the fact that before I get to know an application I'm never sure what's going to happen when I press it -- feels like a risky move to make. But again, it has nothing to do with designing your interfaces badly.

catshive on July 17, 2007 09:08 PM

"Can you name one application with a multiple window interface that's even popular?"

Winamp.

astine on July 17, 2007 09:09 PM

Photoshop still has an MDI

Mark Cidade on July 17, 2007 09:16 PM

Gee I miss suck.com

Dave GJ on July 17, 2007 09:31 PM

"Can you name one application with a multiple window interface that's even popular?"

Um, isn't the whole concept of tabbed browsing the exact definition of Multiple Document Interface? In addition, Visual Studio certainly maintains the concept of multiple documents via tabs. Yes these user interfaces are different than the traditional MDI from the early 90's, but they are the natural progression of that interface.

As for software which still uses true old school MDI interface I would point to both MS Access, and SQL Server 2000 Enterprise Manager both of which are in use extensively.

DaveL on July 17, 2007 09:34 PM

Now that I think about it, the real problem with that button is the icon. It shouldn't be a plus sign. Sometimes when you press it, the window gets smaller. The icon should be something more to do with resizing in general rather than adding.

catshive on July 17, 2007 09:36 PM

Neither is really wrong, it would be nice to have both...

Steve on July 17, 2007 09:39 PM

I think window maximization is more similar to font rendering choices than you may initially think. The Font Rendering choice between Mac and Windows, as stated, was preferring the original font design versus hardware capabilities.

Maximization follows the same trend of preferring the content designers's copy-setting on the Mac and fully utilising screen real estate in Windows.

Considering how much is involved in the true art of copy-setting I can appreciate that there are times and places to respect the author's hard work. However, I still like to override that occasionally to make something more usuable for myself.

Jason Stangroome on July 17, 2007 09:40 PM

I use Macs primarily at home and develop full time in Visual Studio at work. Every time I use a PC, I maximize a lot of windows: Visual Studio is practically impossible to use at anything less than the full 1280x1024, and apps like Word and Photoshop have too many buttons everywhere to squish them down smaller than the maximum.

But at home in OS X, I never touch that green button. Ever. It's not a maximize button, nor can I remember a time in recent history when I've actually wanted a maximize button -- you just don't need it. (Now that I think of it, I never minimize in OS X, either. That's what "Hide" is for when something needs to disappear.)

I think the reason for that is the docked menu bar and toolbars in OS X.

OS X keeps your menu bar stretched across the top of the screen at all times no matter what. And the really complex apps like Photoshop and Word stretch out their tool strips across the top as well so you always know where all your buttons are. What you'd normally need to maximize is already there. The rest of the screen is filled up with more simple windows, usually just simple document windows with scrollbars.

And as a matter of fact, I find maximizing windows in Windows disorienting. If I have several maximized applications, navigating between them is a nightmare because you can't see anything in the background. I have no concept of where anything is until it pops up and takes over the whole screen, then I don't know where anything behind it went.

I almost always run multiple instances of VS2005 and VS2003, and getting between them is a process of maximizing and minimizing in order to find what I want. When you open one up, everything else completely disappears. What's more, there's no functionality (in XP) to effectively show you all of what's there (a la Expose). Adding to the confusion is the XP taskbar item grouping feature, which changes the interface dynamic on the fly so I never know what I'm looking for at the bottom of the screen.

What it probably comes down to in the end is preference, and it's silly to go back and forth about the differences between OS X and Windows. But I really can't see how OS X's distaste for maximization is a disadvantage by any means.

Taylor Hughes on July 17, 2007 09:43 PM

Running a 1920x1200 screen, I use maximised windows for a few apps. IDEs for example - Eclipse in particular, which does a fairly complex layout in a single window, and there's no way I'd ever want that less than full-screen. Other apps generally just run at whatever size is appropriate for the data - browsers, for example, are usually at roughly 1280x, but if the content requires it, I might maximise the window.

Simon Geard on July 17, 2007 09:45 PM

I prefer the Windows style of "maximization", possibly just because that's what I'm used to. The OS X style may be more useful, but I've found that it just doesn't work in a consistent manner, and that's more important than anything else. I can't tell you how many times I've viewed a PDF and clicked "maximize" in preview, just to see the window get smaller, then to click it again and for it to get *even smaller*.

Elijah Buck on July 17, 2007 10:05 PM

I wrote a program (link in my URL above) that solves the distraction problem for me. I'm not a designer by any stretch of the imagination (you don't have to try my GUI apps to know that), but the functionality has become essential for a distraction-free environment for me.

Programs I'm not paying attention to simply disappear from the screen.

Dustin on July 17, 2007 10:09 PM

I found the tool reSizer (Windows) to be very helpful in resizing and arranging windows. I gives quick and obvious keyboard shortcuts (e.g. Win+Arrow to move the window, Win+keypad to move a window to a corner, hide the current window temporarily..). It's especially useful in a multi-monitor setting.

reSize: http://zestant.googlepages.com/resizer

Yaser Shaaban on July 17, 2007 10:30 PM

"pressing the maximize button "

No, in other words it isn't a "maximize" button.

Do you press the "close" button and express surprise when it closes, thinking it to be a "marks the spot" button?

Scott on July 17, 2007 10:39 PM

I'm suprised no one has mentioned the tiling window managers available for X such as ratpoison or Ion. I am a happy user of the Ion window manager. The idea is to partition your workspace into tiling frames each of which can have multiple tabs. It is a breeze to switch between frames -- no alt-tab or expose' necesary.

Now, if I only had an Ion equivalent for windows I would be a happy camper.

http://en.wikipedia.org/wiki/Ion_%28window_manager%29

Kevin on July 17, 2007 10:41 PM

Of course you are right, neither solution is perfect. However, I do think you are wrong about something. One of the things I love about the Mac is how it makes it possible to manage more than one window at the same time, and therefore the maximize button really is redundant to me.

I'm a recent switcher, and as such was utterly confused by the weird green +. However, features like Expose soon had me using 10's of windows, non maximized at the same time. Then whole new working methodologies appeared, the way I tried to complete tasks, how ready I was to use more than one application, how I laid out my screen were developed by me. Of course, none of this was conscious, I just "optimized" my behavior for the environment I was working in. For me, this is something quite remarkable. A colleague recently sat watching me push some slides out (of course I had to export to power-point) and as I grabbed the collateral from various places, took screen-shots, laid out the slides he said "It's like its reading your mind, how are you even doing that?"

It's not, and it may not work for everybody (I'm selfish enough to not care, it works for me, and that's what REALLY matters to ME), but my god I love my +, and my multiple windows, and nudging my desktop into view, swishing the running applications around, as I clip through tasks.

bugfaceuk on July 17, 2007 10:51 PM

"Dealing with multiple windows is far too difficult, even for sophisticated computer users."

sounds like I've been spoiled by being able to alt+LMB+drag to move windows around in linux

in windows it's just too much of a pain to go for that bar on the top of the window.


... Visual Studio is quite a MDI application, it's too bad you can't have seperate windows so you can have two forms open both showing different properties windows...

Or so you can have it spanning two monitors without having to tweak the split between windows to line up with your monitors [in addition to resizing visual studio to span two monitors, unless you have a fancy utility which extends the maximize button and want visual studio on all [2? 3? 4?] monitors]

It's also too bad the splitting is limited to a single direction [though you can split more than once]. Admittedly without being able to see a different properties window for each thing I have open it's not very useful, and the HUGE amount of time it takes to switch from one forms designer to the other... meh.

stnapruoy on July 17, 2007 11:05 PM

Jeff: "Designers should be coming up with alternative user interfaces that minimize windowing, instead of forcing enforcing arbitrary window size limits on the user for their own good."

As I said here:

http://brianwill.net/blog/2007/03/19/i-hate-macs/

...I find the cumbersomeness of window arranging in current windowing systems to defeat the primary promise behind windowing---the ability to have multiple windows side-by-side. Macs push against this by discouraging full-screen windows, but this is quite annoying when I really want to just focus on one window and maximize its space. Nor does the scheme scale well past more than a few windows.

Anyway, Jeff's post has motivated me to finally post my design for window management which I call 'Portals'. Though incomplete, you can get notes and incomplete, crude, interactive mockups here:

http://brianwill.net/portalsdemo/portals_mockup.html

Leave your comments at:

http://brianwill.net/blog/2007/07/17/portals-window-management-for-those-who-hate-window-management-mockups-in-javascript/

Brian W on July 17, 2007 11:07 PM

In some specific situations, I really want the full-screen maximize effect. It's a cognitive bias towards focusing entirely on just one window's content (specifically, I want that when I'm doing some in depth coding; when debugging I much prefer to have a partial-screen window so I can see at least some part of the output in tandem with the code input). Most often, just enough screen real estate to fit the given content is enough (which is the general premise of the Mac '+' window button as I understand it). That said, I've had several occasions where the Mac OSX '+' doesn't accurately fit the contents of a webpage and I still have a horizontal scrollbar when that function should eliminate it (unless it goes beyond the screen real estate, which it hasn't or I wouldn't bother complaining). In terms of dealing with limitations, it's easier to make one window full-screen size than to make many windows fit perfectly with their contents but overall neither of the window-buttons really fully satisfy.

Ben on July 17, 2007 11:11 PM

> Drag and drop is the most utterly broken UI concept in the world.

Totally agree. It's painful to set up because of all the window manipulation (target -> destination), and it requires quite a bit of mouse skill.

Jeff Atwood on July 17, 2007 11:36 PM

Photoshop is MDI and I hate it to death, it's the one thing that's been irritating me since the big makeover in PS 6. Editplus is MDI and I couldn't live without it, though. But that's not what this article is about.

I often find myself maximizing things in Windows because the applications are _designed_ to be maximized. On macs, they're designed not to be. (With exceptions for each.) When applications can present a dense amount of information, like web browsers, file browsers, image browsers, or books/pdfs, I want it maximized or full-screen to make the best possible use of my monitor. When they don't, I don't care. Which is why it doesn't bother me for the vast majority of mac apps (which are typically simpler than their windows counterparts), but it kills me to use Safari or Pages for long.

Very few dense windows apps will degrade to less-than-fullscreen very nicely; if there were more intelligence in automatic hiding or shrinking of panels, columns, buttons, etc, it would be much simpler to switch between full and windowed.

A windowed app paradigm most people use: Most chat clients, and most media players by default (especially embedded in-browser).

Foxyshadis on July 17, 2007 11:40 PM

Drag and drop would be less broken if more things supported dragging out. Oh sure, everything lets you drag files in to open them, but developers sure are stingy about interoperating. I can't count how many times I've wanted to drag from winamp, itunes, foobar, or any other media player to a chat window, ftp client, or web browser, but no can do, and requests have always fallen on deaf ears. Usefulness is drastically diminished that way.

Foxyshadis on July 17, 2007 11:47 PM

My wife has a MacBook, so I've become familiar with OS X. I also continue to be floored by Mac's design choices.

The entire idea of "snap window to size of contents" button smells of holier than thou attitude. Let's take Slashdot, for example. How in the world would you know the "size of the contents", since Slashdot scales to whatever width you give it.

Another design choice I highly disagree with is the inability to resize the window from anywhere but the bottom right corner. And now they've even brought this monstrosity to windows in the form of Safari. At least they had the good sense to add standard windows resizing conventions to iTunes.

Frank Rizzo on July 17, 2007 11:49 PM

1. On the Mac it is not called the maximize button, it is called the zoom button. So you complaining about how it works is like complaining about why the French don't speak English.

2. It's all about taste, which basically makes your post into yet another "my way is the best way"-rant.

3. At work I use Windows, and the Windows UI works best with maximized windows. But I find it not as effective as the Mac window management. It is way less flexible. At home on my Mac, I routinely use the zoom button to zoom the window to its contents, and at the same time I can still see all other open windows in the background. If they are relevant it can be really efficient and I don't have to do the Alt-Tab dance as I do on Windows. On the other hand if the windows are of no use at the moment I simply do a Hide All and only the current window remain. On Windows you simply don't have that flexibility so you end up maximizing your windows. It's waste of screen real estate and Microsoft needs to come up with some better window management - perhaps that their new window management patent I read about yesterday is all about 'cause the way they do it now is so 1988.

Again this is mainly a matter of taste, but after getting used to the Mac I find the UI so much more effective and flexible (I switched to Mac at home last year).

Jacob on July 18, 2007 12:01 AM

Ditto to the good words of my fellow Macheads. I'm on a Mac at home and Windows at work, and have long been struck by the irony of how weakly the operating system called "Windows" actually deals with windows. Of course, "Switchable Applications That Fill Your Entire Screen" probably wouldn't have been quite as marketable a name. Hell, maybe someone has it trademarked already.

The thing is, if you've got a crappy model for windows - if D&D is weakly supported, if one window can cover the menu of another, if it's not clear which window has the keyboard focus (and as someone above pointed out, the Mac has gotten worse in this last regard of late), etc. - if it's a weak windowing model, then the best thing for it is an escape out of windowland, and that's what Maximize gives you. When I'm using Windows, most of my windows are maximized, most of the time. When I'm on my Mac, windows are sized to their contents and I find that much more productive - because I can see content from other documents (including those from other applications) by just glancing, because I can D&D, because I can switch directly to the window I want with a click, instead of the alt-tab slot machine.

The Mac windowing model is simply superior for use with multiple windows, and "right-sizing" windows on the Mac allows you to take better advantage of the screen space. "Right-sizing" windows on Windows, for me, means maximizing them, and I'm glad that Microsoft made that easy. I would be happier if they had adopted a better windowing model, and I'm sorry that Windows' dominance has led so many people (including you, Jeff) to the conclusion that, basically, windows are bad. Windows aren't bad; bad windows are bad. It's hard, coming from one paradigm, to appreciate the values of another, and it's all too easy to overgeneralize. I think that's what you have done here.

Carl Manaster on July 18, 2007 12:13 AM

Photoshop is MDI, but it has been for almost 20 years. Would it be MDI if it was designed now?

Photoshop Elements is much closer in idea to non MDI. Lightroom (one of the best desgined apps of the last year) is not an MDI.

Tabbed browsing is the opposite of MDI - you have all your different sized web sites in a windows that can be one size, so you need to maximize or at least need to make it as big as the widest web page.

Maximizing may suck on something like a 2500x1800 display, but is a much better solution on a dual display system (or why not triple display).

I hate how Apple try to enforce their way on Windows. Their system buttons show a 'maximize' icon, but work as in OSX. If I am watching a 320x240 video in iTunes how should the maximize button behave? The only practical way would be to switch between a full screen and 320x240, yet it does not do that.

BTW I think the 'no taste' concept that Jobs invented is brilliant. It clearly can defend Apple's choices as always supperior. The reality is different thought - things are designed by different people, experts in their field.

But you should defend the rather strange idea that UI designers at MS suck compared to Apple, that typography experts suck compared to Apple, etc. and not last that Apple have more resources than MS to spend on the OS (which again is not true).

Boris on July 18, 2007 12:14 AM

Never used any of those buttons and I have to say I can't stand them.

The only application which gets maximized is "Lotus Notes" and Visual Studio - and i have to say that I don't like the UI of those two.

I prefer the Photoshop way - but Windows (sans F9 / F10 for zooming out and selecting a window and showing the desktop - can't remember the name right now) supports this style very bad.

Bernhard on July 18, 2007 12:18 AM

i hae only used mac 4 or 5 times, and i could never figure out what button was for what purpose, colorful buttons dont make any sense to me, may be apple thinks users are babies and candies will remind them of the purpose of each button

Ahmad on July 18, 2007 12:44 AM

The problem is that OSX isn't consistent. In safari it resizes to fit the content, in iTunes it toggles the mini player, in finder it does god knows what.

In the finder, if it really worked the way Apple says it does, then hitting it twice should give you a window the same size as when you started. It doesn't do that.. in the finder every time you hit it, it gives you a different size.

Sean on July 18, 2007 01:11 AM

Maximize buttons are responsible for encouraging one of the great sins of modern GUI app design: Sprawling UI layouts.

Consider the now-standard three-pane design for mailreaders, as used by Outlook, Thunderbird, and Mail.app: List of folders on the left, list of messages in the selected folder on the upper right, message contents on the lower right.

Compare to a traditional Unix mailreader such as mutt: The window contents consist of only one of these three views. Select a folder, and the folder list is replaced with the contents of the active folder. Select a message, and the message list is replaced with the message.

The mutt approach makes much more efficient use of screen space. How often do you want to look at the list of mailboxes and the contents of a message at the same time? Which would you rather have: More space to read a message in, or a list of other messages in the same mailbox?

UI designers accustomed to a single application consuming most or all of the available screen space don't consider these issues.

Damien Neil on July 18, 2007 01:14 AM

what amazes me is the quote at the beginning. "Got the UI wrong when they copied it" and "Once again, Microsoft has no taste and no clue when it comes to the GUI". Typical Mac attitude of never realizing that everyone else need not think the same way, and that "taste" and elegance" aren't really absolute.

hellfeuer on July 18, 2007 01:29 AM

I like OSX, and I like the mac interface in general (I'm writing this on my first mac, and frankly I love it).

But the maximize button is, of pretty much all of the OSX UI, the most painfully retarded one:

* It's completely inconsistent, sometimes it does something useful, usually it doesn't (e.g. in Emacs, clicking "maximize" reduces the window to around 300px wide, while making it as high as the screen. in Webkit, it does a windows-style maximize on most pages, same in camino, in finder it tries to remove the scrollbars *without making the window wider, ever* which basically means that if you have the default 2-icons-wide finder it makes your finder take the whole screen in height, and reduces its width, which is usually completely stupid)

* It's useless and pointless, especially since it usually fucks up nice windows size (because I tried to click on "minimize" and failed)

* It promotes multiple window UIs. Which would be nice if OSX had a nice multiple-window handling. It doesn't, it's almost as bad as Windows. It has expose's F10? Whop de doo, but it's still unable to command-tab between windows of the same application, thank got for the Witch extension

Masklinn on July 18, 2007 01:30 AM

Pretty != useful.
All you mac preachers (I hate you too), please tell me:
What's the use of this "zoom" button (or whatever you call it)? So you can see your wallpaper while browsing suck.com? Congrats champ, what do you do now? Take a screenshot of it and post on a mybeautifuldesktop.com?
Because this is just adding noise. It pretends to be useful. And people will use it, because it seems like a good idea and looks pretty.

The only standard app in Windows that behaves this way is cmd.exe (the command window also known as dos box lookalike). When you maximise it, it grows vertically, but for some lame reasons the width sticks to 80 characters. Yes, it's possible to change it to some whopping 120 or whatever, but you CAN'T maximize the window as other apps do.
Quite a pain in the ass when you talk to mysql or traceroute.

Elmer on July 18, 2007 01:38 AM

I disagree with Damien Neil - multiple content areas are useful. Admittedly it works even better when your desktop spans more than one monitor.

As a webdesigner I have to have a minimum of 5 web browsers, 1 code editor, photoshop, windows file explorer, ftp client and potentially other things such as IEUnit.

I found Gridmove on the web and haven't looked back since. I made my own grid to allow me to drag windows to specific areas of the screen where they all majically slot in the "content areas" I have designated. Combine this with two monitors and the enhanced "alt-tab" program from Microsoft and my development environment means I just have to flick my head from left to right with a few key taps to check the fine adjustments I have to make to my style sheets to create cross browser websites.

If you haven't tried it yet and your on a windows machine I highly recommend Gridmove; I would put it up there with fire bug, IEunit, and macros in firefox - seriously...

http://jgpaiva.donationcoder.com/gridmove.html

Matt Smith - 800 Pixels on July 18, 2007 01:42 AM

"Can you name one application with a multiple window interface that's even popular?"
Delphi has been by default for most of it's existence.. arguably not the most popular IDE, but most supporters are fanatical about it. And yes, to the other poster way up there; it's what I'm used to - so shoot me.

I would reckon it also depends on how many monitors you use. Currently I've gone back to using two, and I tend to use two open applications on one (outlook "maxed" and Firefox in a window sized to show outlook folders only). As to the poster making fascinating comments about paper on their desk.. news flash! your desk is waaaaay bigger than your monitor, and I daresay you can read off paper easier than your monitor.

Brandon on July 18, 2007 01:43 AM

Carl Manaster got it right.
I use Windows, Mac & Linux (mostly with Gnome as the GUI) for various purposes including software development & scientific computing. I'm no expert in GUI, but it seems to me that Mac, more than other GUIs, has a strong design philosophy that is consistently implemented. A particular implementation, taken by itself, may seem questionable, but taken as an integrated part of the whole, will make a lot of sense.

Of course, this isn't true for all Mac's GUI design implementations. Any software has its own shortcoming, but I think Mac is the front runner in term of user friendliness. Why else everything seems to have name in this format (product_name = "i" + actual_product_name)?

Lahur on July 18, 2007 02:00 AM

strange that you all talk about how painful it is to minimize windows and to use alt+tab, all that just to switch to another window/app.

i almost never use the minimize button or alt+tab.. if i want to switch, i just use the button for the window on the taskbar.... all it takes is 1 quick click :)
someone said only the mac can do that. not true. windows can too..

btw i have grouping enabled - it is not bad, the only problem is if switching between windows grouped together then the behaviour of this clicking changes.. you know what i mean. it tries to be too smart. i generally dont like stuff trying to be too smart :)

all in all minimize is too slow, alt+tab is too annoying and slow too..
my method works perfect for me except the grouping part sometimes..


as for maximize vs multiple windows on screen ... i need the latter only rarely, when i need to compare two outputs of a certain app for example. then i resize and place the windows in a way i need them to be, and that does not change until i exit the windows. why would i need to change it? that escapes me?? i see some people (mac? if i didnt misunderstand) think it is necessary.

other than that, i maximize all the time. i see the desktop once in every year except for the system reboots that happen about once a month. no wait, i forgot, i have all my hexeditors on the desktop so that's the one case when i use the desktop by pressing Win+M. but that doesnt happen every day, most of the time i'm happy with my fav hexeditor and i launch that from elsewhere.

(why the hexeditors, don't know. maybe because the (almost empty) desktop puts all of them together nicely and thats the only thing i have several apps/versions for.)

maximizing is good for me.. i have one app (a debugger) where i feel like i need to have three windows show at the same time on the screen. but then thinking about this blog article, i've realized i relatively rarely look at the stack or the registers window anyway (because, the latter i can read in the main window anyway! and the stack window is just painful to read, that's the app's fault though - the whole thing could be arranged in just one window.)..

what this means is, i could say maximizing does help me focus but that's not true.. i already focus on what i'm doing, *very much*. so even if there are multiple windows i only look at ONE of them.. i simply don't notice the others. so then why not maximize to have more screen real estate.
exceptions are when i need to compare different contents.

someone mentioned chat clients and media players like to be small, fit to their contents. i hate those apps partly because of this... i use an irc client for MSN etc... and it looks very nice if maximized. :)

uh, about drag and drop, i never use it except for two apps, where it does make life much easier. they both are for file sending (email, DCC). just drag the file over to the app and it'll send itself, wow! much faster than fileopen. maybe it is different with these apps because the file i want to send can be anything anywhere, not of a specific type..... so it'd take a while to use a fileopen menu. in other apps, it is easier.

about the mac, i'm not experienced with its gui at all... i'm curious to see/try it but what i've read here is quite putting me off :O
do i understand right, the mac decides for you what the best window size is? WTF. no thanks!! i will decide for myself.
as someone commented:
> The entire idea of "snap window to size of contents" button smells
> of holier than thou attitude.
exactly!


hmm someone else said and i cannot resist replying:
> I die a little inside everytime I see a 1680 pixel wide IE window
> with like 13 toolbars on a co-workers monitor.... Ughhh...
> ryan on July 17, 2007 08:47 PM

you must be a crazy nerd to care so much about what others do on their PC :))

> And as a matter of fact, I find maximizing windows in Windows
> disorienting. If I have several maximized applications, navigating
> between them is a nightmare because you can't see anything in the
> background. I have no concept of where anything is until it pops up
> and takes over the whole screen, then I don't know where anything
> behind it went.

wow that's strange. as for me, i don't care what the other apps do or where they are... the thought doesn't even occur to me.. then i click the taskbar button and i have the app ready.


..last comment i need to react to:

> BTW I think the 'no taste' concept that Jobs invented is brilliant. > It clearly can defend Apple's choices as always supperior. The
> reality is different thought - things are designed by different
> people, experts in their field.

yes. exactly. uhmmm if you think of it just a LITTLE.... why would one company be holy and the other evil? this is such a childish way of viewing the world! man, amazing how many people think this :P
try to stop and muse over this for one sec. and maybe you will see how ridiculously far from the reality this view is.

cmon_ on July 18, 2007 02:04 AM

Someone else mentioned the tiling window managers for X. I spent a lot of time optimizing my interface at one point, and in the end what I ended up with was larswm, which I think got the user interface almost right.

Divide your screen into two columns. The currently focused window (that is, receiving keyboard input) takes up the whole of the left column. All the other windows are vertically tiled in the right column. You can adjust the relative width of the two columns (left or right by some increment, or to a single preset value or a "maximize" which sets the left hand column to ~90%). You can either swap the left column and the topmost window in the right column, or you can rotate the whole thing (left column goes to bottom of right column, top of right column goes to left column, everything moves up).

Then you put in virtual desktops, which are implicitly lined up horizontally in a ring, so you scroll left and right through them. To move things between desktops, or to hide windows, you have a hidden stack with two keybindings: push current window (left column on this desktop) to hidden stack, and pop top of hidden stack into left column of this desktop.

It's a total of eight commands. Now, larswm also provides a floating layer which you can shove in front or behind of the tiled layer (one toggle command), and which you man move things around on, but I think it's a hack to make various non-tiling friendly programs work properly.

Ion and ratpoison tried to provide much more fine grained control, and I think they're harder to use because of it. xmonad, the new Haskell based window manager, almost uses the larswm model, but doesn't use the hidden stack and local commands for desktops.

There is probably some kind of principle of locality to be distilled from this comparison, something along the lines of: a simple topological structure and commands to navigate within neighborhoods is preferable to direct access to every element of the topological structure.

The Mac interface isn't bad, and it is really pretty. It does feel really slow to work in after getting used to a tiling window manager, though. I haven't had occasion to use a Windows machine for more than a couple minutes in years, so I am not competent to comment on its interface.

Fred Ross on July 18, 2007 03:12 AM

I rarely use maximized windows (the exceptions tend to be applications that have a lot of tools and may display multiple files, such as Visual Studio). The primary reason for me, though, is that I may want to get to the desktop quickly (I tend to arrange icons for items I'm working with around the edges of the desktop), or flip between multiple documents.

Of course, I don't tend to have issues with focusing on a particular window on the screen, but it's probably because I've been using 1600x1200 monitors for nearly 10 years, and widescreen only makes it easier since I can have 2 documents side-by-side with a nice height-to-width ratio (of course I end up using full-screen more on the widescreen monitor because of Word's 2-page reading layout).

I can't really agree with the Mac's way of doing this, though, as the content can change in most applications, and you never really know how big the window will end up when you click the button. It makes it easier for people that want the windows limited to the size of the content, but then it would be easier to manually resize the window to the content if they had sensible options for window resizing in the first place (and I'll add that enforcing the Apple way of doing things on Windows applications is a very bad thing, just as making applications behave like Windows applications on OS X is a very bad thing).

Vizeroth on July 18, 2007 03:38 AM


Double and triple monitors are nice (I use double at home) but they can be done without if you also have virtual desktops. Virtual desktops allows you to arrange windows as if you had multiple monitors. Works even better if you have multiple monitors, of course, as window placement can be across monitors and across virtual desktops. I use it to gather windows that are pertaining to each other on the same virtual desktop, somewhat minimizing clutter and somewhat enhancing workflow.

Steven Pigeon on July 18, 2007 03:50 AM

I don't know what it is, but it's particularly painful to manage windows in Microsoft Windows, a little less painful on the Mac (despite the horrible Dock and non-system of cruising the Applications folder to launch apps) and easy on UNIX (X Windows) systems.

Back in the early 1990's, I used to regularly have over seventy windows open at a time on X Windows and never felt overwhelmed.

I often find ten or fifteen windows on Microsoft Windows to be overwhelming -- but I never feel overwhelmed on Linux.

One big part of the problem (masquerading as a "Solution") is the tabbed interface. Being unable to see two things side by side and compare them (or to look at some code in one window and repeat a pattern used in it in another window) makes me feel like my IQ has been cut in half.

Paul Houle on July 18, 2007 04:04 AM

@ryan on July 17, 2007 08:47 PM:

Your grandma got it right. Teach her the ALT-F4 combination and she'll become that much more productive. I love slamming the mouse northeast and I'm glad there's at least one grandma out there in the same camp with me. Hunting for and aiming at a "bloody X" is fun only when I'm playing an FPS.

Plus, if you are paying attention to two things at once, it's not called "concentration" it's called task switching. And if you realy can "concentrate" on two windows at the same time or can read two papers on your desk *simultaneously*, then you are really the higher form of human being that you think you are.

Me, I always pray when I'm about to cross the street thus: "God, please let the driver in that car NOT be a multitasker."

Ishmaeel on July 18, 2007 04:17 AM

As a programmer (with a sense for aesthetics) who spends equal amount of time with Windows and Mac OS X I have to wonder how many of you people have actually used both systems extensively (including the author)?

- MDI vs. SDI? On Windows it's a bloody mess.
Software for Mac is almost exclusively MDI, but not in a way MS-people think of MDI.
That way reducing desktop clutter is one cmd+H away, and all windows of a certain app are hidden (how would you, say, minimize, for a lack of better word, all Firefox windows in XP?).

- I don't know if someone mentioned it already, but those little tool-windows are automatically hidden on Mac when app looses focus. Less clutter. I don't know how can you do this on Windows without coding around it, and thus breaking (non-existent in most apps) HIG.

- Zoom behaviour on Mac is, I presume, built with multitasking in mind. It will become more obvious as big TFTs become more common. My typical coding session on Mac contains of TextMate/Vim, Terminal, Preview and maybe few other apps. On a 23" monitor I can see all of them without windows becoming uncomfortably small or overlapped. I only ever maximize Vim and use it's internal windows when I need to work on multiple sources at the same time (same for Windows and Mac).

Boyan on July 18, 2007 04:32 AM

Arranging multiple windows on a screen isn't that great on Windows due to is lack of docking support, like Winamp provides.

I hate Thunderbird for displaying the filename whenever I drag a file from Eclipse into an email (instead of adding an attachment).

Jörn Zaefferer on July 18, 2007 04:39 AM

I always use maximized windows.

I use ratpoison for 5+ years and the only case when I use tiled windows, is if I need to type into editor something from a non-OCR-ed PDF (that happened once or twice). I switch between applications with keyboard.

Almost the same environment can be created on windows: maximize windows, assign a short-cut to each application you use and switch between them using the keyboard.

There is no problem with too many characters on a single line -- I simply enlarge the font until I have 70 characters or so.

RPS on July 18, 2007 04:45 AM

I've had a lot of debates about this, and every one of them seems to come down to which style of usage the user learned first.

I learned on a mac, so I like being able to easily and reasonable stick windows next to each other with a slight overlap. I feel.. enclosed whenever I work in VS.net (which I do every day at work) if it isn't in full screen mode, so using windows really becomes one big tabbed interface of a bunch of maximized pages that you switch through linearly. It works fine when you're only working on one thing... but it gets really annoying when I'm trying to read something off of a website and code at the same time.

The mac approach worked ok before (mostly because people were used to it - there are all sorts of little things you did in the old Mac OS that you didn't realize, like automatically closing windows after you so you didn't get too much clutter). But the current approach with expose is incredibly superior. You just don't worry about where things are. You toss it where you want, at the size you need to actually see the content, and when you want something else, flip grab, it's there, and you can still see your last window's content to keep reading the tutorial while you code.

It is painful to try to work between more than two windows at once in windows. And it is incredibly painful to code in even two windows.

Having things maximized removes the sense of what else you have open, what other information you're working with. If you work with a single app all day (or even really an editor and a web browser that is mostly for goofing off during compiles) there's no problem. If you try to get any of those apps to interact... it's a disorienting mess.

And drag and drop is a nasty interface... in windows, because it doesn't really support it.

Tell me, which is an easier way to force a jpeg to open in photoshop instead of your quick viewer/editor - right click, open with (if it recognizes the type) search through a long list, find photoshop, uncheck "always use this app", click ok. OR grab the file and drop it onto either your open instance of photoshop, or the shortcut to it that you keep on your dock.

Similarly, any sort of cut and paste method of moving files around is a completely bastardized, horrible interface (imo) :) Complex drags are a pain. A simple drag to a known and currently visible location is a fairly easy operation.

Yrro on July 18, 2007 04:55 AM

For what it's worth, I've found using "multiple desktops" to be quite useful (since I don't have enough money to get a second monitor). Linux (KDE specifically) has had this feature for as long as I can remember, but I only recently found a program (that doesn't suck) to do the same thing in Windows.

Check out Dexpot:
http://www.dexpot.de/

I mapped my 4 "virtual desktops" to the Windows-{Z,W,C,V} keys.
I usually keep my email browser windows open on desktop 1.
I usually put always-open stuff (like Winamp and AIM etc) on desktop 4.
Then I can be working on 2 things at once on desktops 2 and 3, and it's much easier to just reach down and hit Windows-{W,C} to switch instead of spending time futzing with the window layout.

Normally when I work I have a boatload of Explorer windows open, and this lets me keep them separated (only programs that are running on the current virtual desktop are shown in the taskbar).

Anyway, that's my $0.02. Hope it helps someone! :)
-Matt


mattman206 on July 18, 2007 05:10 AM

"But I also think windows with a fixed layout shouldn't be resizable in the first place."

Then you've never used XP with large print for any length of time.
Not being able to resize a window because the large print won't fit inside is idiocy. Whose (Microsoft's or the designer of said window), I don't know. It has happened to me on far too many occasions. A classic
case is when the buttons are off the bottom of the screen. And you can only move an XP window around with its top border....

hgs on July 18, 2007 05:16 AM

MDI applications? Isn't the tabbed browser approach of Firefox and IE7 akin to that?

ian on July 18, 2007 05:23 AM

Users don't want to deal with the mental overhead of juggling multiple windows, and I can't blame them: neither do I.

Neither do I. I want my window manager to juggle multiple windows for me.

Emacs guy on July 18, 2007 06:02 AM

I don't like to juggle multiple windows. Thats why my window manager does it for me.

http://www.suckless.org/wiki/wmii

I believe the OLPC project is based on something similar.

Emacs guy on July 18, 2007 06:03 AM

Hi Jeff. A while back, as I recall, the Dreamweaver and Fireworks studios from Macromedia used multi-window interfaces. However, I'm uncertain as to whether they have carried forward this practice into the newer versions of their software.

Jim on July 18, 2007 06:10 AM

"This is a textbook example of how Microsoft's programmers got the original Mac GUI wrong when they copied it for Win 3.1, and never bothered to fix it: there's no zoom button on Mac OS windows because it's unnecessary. What you're mistaking for a "maximize" button is actually a "snap window to size of contents" button. Far more useful and elegant. Once again, Microsoft has no taste and no clue when it comes to the GUI. All that money and Gates has never been able to hire a decent human factors person." - Alex Chamberlain

Here's Mac in a nutshell, forcing users into their paradigm instead of giving them choices. I can think of instances where maximizing to the content is useless (drawing applications, anyone?) and ones where it would be useful. You know what would be innovative? Giving BOTH buttons. People like to do things in different ways, they should not be forced into some conceptually flawed design just because a few elite users think it's better. All that money and apple has never been able to hire a decent human factors person.

"Can you name one application with a multiple window interface that's even popular?" - Jeff Atwood

Visual Studio?

Telos on July 18, 2007 06:10 AM

I love the timing - I actually just heard a question yesterday from a longtime PC user who was dupe^H^H^H^Hconvinced to buy a Macbook, and was complaining about this very limitation.

The typical response? "It's actually much better this way." Or "you just have to get used to it." Or "that's what Expose is for". Well, she's been using it for months and apparently still hasn't gotten used to it. Amazing.

See, on Windows, poor UI design is the fault of the designer. On a Mac, poor UI design is the user's fault. Don't ask why, if you have to ask it just means you're stupid or you've been using that awful awful Windows for far too long.

And drag-and-drop is truly, hopelessly broken. Forget about the impossible task of managing the Z-order - every time a user does this, he has to think about what it's actually going to do. What does it mean to drag from Winamp into Word? Did you want to copy the file name? Full path? Track title? Something else from the ID3? ASCII or Base64 version of the actual data?

Drag/drop works OK in trivial cases, like the hackneyed Ajax demo of dragging an item into a shopping cart. But in these trivial cases, there's usually a much better and simpler way.

Aaron G on July 18, 2007 06:15 AM

Thanks for your thoughts on this issue. I never understood why Macs do this either. But then again, I don't understand the logic behind the vast majority of Macs oddities. Like not being able to set an MP3 as your ringtone on the iPhone. WTF are they thinking?!

And ("Can you name one application with a multiple window interface that's even popular?") yes I can - Visual Studio. And as far as annoyances in dealing with numerous other windows - Alt+Tab as well as Window+M are my best friends. Macs simply can not compete with this....

Josh Stodola on July 18, 2007 06:24 AM

I would love to see a resize button replace the maximize button in the windows gui. It should let you go to a specific pixel size for the windows -- i.e. left-click it and a small context-style list appears (much like taskbar icons) that would let you resize to Application Default, 640x480, 800x600, ..., Desktop Maximum. Another possibility is to add this feature as a right-click context menu on the existing maximize button.

I am also a fan of visual studio's docking. A button that turned on/off docking for each window would be beautiful. Of course, the resizing and window movement must take the docked window edges into consideration.

Terry K on July 18, 2007 06:30 AM

another windoze vs mack post?

Bottom line...they are both wrong! They should have both maximize and zoom.

Why not let the user choose which buttons they want on their window manager. Oh wait...even the light-weight xfce window manager lets me do that.

Joe Beam on July 18, 2007 06:32 AM

I am the odd one out. I switch back and forth between maximized windows and overlapping windows throughout the day. Having a larger screen (1920x1200) allows me to do that. I have them overlapping, and leaving unobscured the information from one window that I need in the other. Having it on the screen helps keep me focused--switching between full screen apps is like an interruption to my thought process. Alt-tab, Alt-tab, Alt-tab, oh foo, Shift-Alt-Tab, now what was I doing?

When I'm doing one thing at once, or rather, when the task is a "single document" type of task, I maximize the window, and work in it for some time before minimizing or closing it.

Shouldn't all the little toolbars (e.g. Visual Studio) and information panes be considered non-overlapping windows?

--dang

Daniel 'Dang' Griffith on July 18, 2007 06:40 AM

I moved to Mac a few years ago, and have found its window management to be much better at multiple windows because of Exposé. I'm surprised how few have brought it up. I typically use only F9 and F11 (mapped to squeeze and middle click on my mouse), which give me all my windows or all my desktop respectively. Their two ways of working (hold-and-release or activate /deactivate) enable all sorts of fantastic choreographies. How well this works for beginners I'm not sure, but I'm happily dragging, dropping and switching between applications.

I will admit that the zoom button is fairly broken. While it's a great concept and often works well in several apps, it is inconsistent and will probably continue to be so as more developers move to the Mac and use it as a maximize button. Why Skype's login dialog thinks it needs the whole screen when zoomed is beyond me.

n[ate]vw on July 18, 2007 06:47 AM

Would the elitists on both sides shut up?

We clearly need both. Stop and think about it. Our cognitive layer is single-threaded. Some people are better at context-switching than others, but we're all single-threaded. The UI needs to help users do 3 things:

1. Focus on a single thread/context when we need to.
2. Transfer state between two contexts (i.e. drag and drop).
3. Easily locate the next desired thread/context when we need to switch. Note that the next desired context may not already be running.

A true maximize function helps us do #1, by blocking out everything else. This doesn't mean that all content needs to be stretched to the horizontal boundaries, so Windows isn't quite right. But we need to be able to focus on the current context without interruption, so OSX is wrong. I like how Windows physically blocks all other contexts, but I could see the wisdom behind an interface that centers the current context, marginalizes everything else, and makes them transparent.

#3 is the really hard part. Is Expose the answer? I don't think so; there's no prioritization to help the user locate the next desired state. The Windows taskbar is too fragmented without grouping, but there's no prioritization; MRU or LRU sorting, like Alt-Tab in both Windows and OSX, would be nice. I like the OSX application bar, because intra-application windows are grouped by icon, and personally, I think of thread/context by application, so it's a good first-level radix. There's also the problem that the next desired context may not already be running; on Windows, the user has to distinguish between running and non-running; on OSX, all are available, with a convenient little back arrow under threads/contexts already running.

#2 Drag and drop and copy/paste are both broken; too much thought is required. Coding these interactions is like mapping data between applications without middleware; it takes too much work (n*(n-1) permutations), there are no standards, and unanticipated permutations break. We need standards for these operations, and the OS should provide an alternate operation framework to support any sources or targets that don't fit the standards.

entaroadun on July 18, 2007 06:48 AM

The same thing used to bother me while using a Mac, but the truth is that you become used to it. Windows has the tendency to coddle you into thinking there should only be one huge window taking up your screen (anyone else see the irony of this when the name of the OS is WINDOWS?) at any given time. Apple still thinks of a desktop as just that, a desktop. You work with multiple items, and when you want to focus on one, you push the other ones aside (minimize them). This is why Apple put so much more focus on application switching and the dock than Windows ever has with the taskbar, which has barely changed at all in the last decade.

Mattkins on July 18, 2007 06:48 AM

I'm a Windows user for many reasons, not the least of which are access to compilers and gaming applications. However, one of the very first things I do on any system I touch is change shells.

To me, Explorer, with its default settings, is a piece of junk. It annoys me as a developer every time I have to deal with them. Also, since I switch PCs and deal with new PCs on a fairly regular basis, I find changing all the Explorer settings to be a royal pain.

Also, though in most situations I work with dual monitors, as a web developer I often have upwards of thirty windows open, what with as many as six different web browsers, Visual Studio 2005, text editors such as Notepad++ and EditPlus 2 for PHP editing, file browsing windows open in several locations, etc.

To deal with this, I use a shell called bbLean. Most people that see it accuse me of running a Mac or Linux, but it's actually a Windows shell. I'd be very interested in seeing a review of this software by Jeff.

bbLean radically changes the way you work with your computer. Sure, you still have a taskbar--though now you can position it anywhere on the screen with a bit of text file editing--but instead of a start menu, all this taskbar provides is a system tray and window list. You can toggle the window list between displaying window title + icon, window title, or just the icon--WONDERFUL if you have 30 windows open, most of which have their own unique icons.

Also, instead of the standard start menu and/or file browsers, bbLean provides a menu that can be accessed from anywhere simply by right-clicking on the desktop or tapping the windows key. This menu provides a start-menu type interface that actually spans your entire computer--you can literally use it to browse down into the deepest level of your windows folders. In addition, it's far faster to use than opening an Explorer window and browsing to your destination, as folders open as fast as you can mouse over their names in the menu. Of course, if you click outside the menu it disappears--however, you can click on the header of any folder or subfolder menu, drag it to where you want, and it "pins" the menu in place there until you right-click on the header again to close it or drag it somewhere else again. It also supports drag-and-drop copying between menus, Explorer windows (at any time you can open an Explorer window simply by double-clicking a folder), and many other programs.

It takes a bit of getting used to, and you do have to be fairly accurate with the mouse (or just use the keyboard to navigate the menus, which is also quite simple), but the results are astonishing. I can drill into a program in the Program Files folder and drag it onto a contact in my instant messaging application to send it to that user within 5 seconds, as opposed to it requiring perhaps 30 seconds to wait for an explorer window to load, then navigate through each folder.

It also has some other very beneficial effects as well--it doesn't load desktop icons (though by default in its menu it has a root-level folder that points to your desktop), and generally uses less than 10 MB of RAM--try getting Explorer to do that if you have more than 10 desktop icons. You can do pretty much anything you want to with it, since its configuration files and plugin locations are all defined in text files. You can change skins and themes in less than 2 seconds, and design complex themes in mere minutes with their theme designer.

It really is a tremendous leap forward in usability in my opinion, and I would be very interested in hearing a review from Jeff about it.

By default it's designed for Windows XP, but it can be adapted to Vista (the only thing that needs changed are the file paths for things such as the My Documents folder, which don't exist on Vista)--and again, all of that information is stored in simple text files.

The website of bbLean is http://bb4win.sourceforge.net/bblean/ . I'd highly encourage those who use windows but don't like the windows interface to give it a one-week trial. I did, and never looked back.

WesleyC on July 18, 2007 06:55 AM

"Excessively long lines are hard to read"

I must be weird then. I have my browser almost full screen. I have folders at the top for drag and dropping URLs, and programs that I want easy access to, games and utilities. While I like some white space, I don't like a whole lot of it either.

Bryan Price on July 18, 2007 07:03 AM

*explination of my SUPER COOL SETUP*

*generic MY OS DOES NOTHING WRONG EVER statement*

*one liner about design/useability being more important then useability/design*

*RAVING INSTULTS ABOUT BILL/JOBS NOT KNOWING WHATS BEST*

fanboi on July 18, 2007 07:12 AM

'Tell me, which is an easier way to force a jpeg to open in photoshop instead of your quick viewer/editor - right click, open with (if it recognizes the type) search through a long list, find photoshop, uncheck "always use this app", click ok. OR grab the file and drop it onto either your open instance of photoshop, or the shortcut to it that you keep on your dock.'

Just a few nitpicks.
1. Once you've opened a file using Open With... it becomes the Open With submenu, populated with any applications you've previously used to open that file type. Programs seem to have the ability to add themselves to that list as well, as I hsve several programs that appear on my open with list for .png files that I didn't add.

2. Dragging files into an open Photoshop instance on Windows should open them, unless Adobe didn't bother to code it that way.

3. Dragging files onto a shortcut in Windows opens the program with the file path as the first argument to it. Whether or not the program does anything with that information is up to the programming team.

4. Dragging on to the Taskbar button for a program doesn't work (Windows tosses an error... that's something that should be changed), although pausing over the taskbar while dragging will cause that program to come to the foreground, which can then drop a file on.

As a general rule, under Windows you can drag things from Explorer to an application with no problems. Dragging them between any two other programs is... iffy at best.

Powerlord on July 18, 2007 07:19 AM

Shouldn't the interface adapt to the way the user wants to work instead of the other way round?

(Which implies you can zoom on Windows and maximize on MacOSX if you so desire.)

Personally I could use a maximize left and maximize right function (maximize to the left/right half of the monitor) for my 24".

On my 21" I just like maximize (thanks to tabs in browsers, Windows task bar, dialogs, Excel and Visual Studio if you set it up that way).

Grant on July 18, 2007 07:34 AM

I'd just like to point out to everyone that tabbed browsing is NOT MDI. Sure it fits the acronym, but it's still not MDI.

The only MDI apps I can think of that are in use are image editing apps (photoshop/psp).

Steve-O (cause too many Steve's post here) on July 18, 2007 07:37 AM

This is argument that both sides can come up with great examples of how they're "right" while finding just as many good examples of what breaks that other method. I'm in the camp of "you should be able to do what you want" as I can think of times I'd want both.

@Jeff: As an aside I realized your site doesn't *minimize" space very well. As I'm scrolling down I realize I have this big chunk of whitespace on the left. To read all the way across I have to make my browser that much bigger. If you moved your sidebar navigation to both the top and bottom then I could get more of my screen back :)

Shawn Oster on July 18, 2007 07:45 AM

FWIW, on my wide-screen monitor at home (still haven't gotten one at work :( ), I keep the editor window of Visual Studio open at about 70% width, and other application windows, usually tools or explorer folders, open in the remaining area. My other monitor shows the extra VS windows (code definition, solution explorer, all debugging info, etc) on 50 to 100%, depending on if I'm debugging. I'm looking forward to ultra-widescreen monitors, so I can fit even more information on the screen without the need to alt-tab back and forth.

The rest of the time, most of my other applications I keep at a decent size, but with a wide-screen monitor I don't ever maximize my windows anymore.

Oh, and from that quote, Alex Chamberlain sounds like a real ass.

mos on July 18, 2007 07:47 AM

I'm just waiting for the day that Apple allows their users to resize windows from any direction. I had the opportunity to use a Mac extensively last year, and that dumb little idea of only being able to change window size from one corner turned me off from the whole interface. Forcing users to expand from one direction, then rescroll and reposition the window, is far more important than whether the max button maxes or zooms for me.

Alex on July 18, 2007 07:51 AM

Just give users the choice of how the "maximise" button should behave. I personally like to maximise because I find other windows distracting, but other people are different, so why not just keep everyone happy?

Ian Howlett on July 18, 2007 07:53 AM

GIMP Portabe - 907,622 downloads from Sourceforge.
No data for GIMP proper, as it is included with most (all?) Linux distrubtions, as well as being available for Windows.

Personally, I use both modes. Full screen (aka maximized) when I am surfing, or working on spreadsheets; windowed, when moving files or data between applications, such as pasting in commands from a support site into terminal.

As always, the "best" way is user and task specific. What is best for me, may not be best for you.

Doofus on July 18, 2007 08:02 AM

It's a design issue:

On Windows, you tend to have one window with multiple panes. For example, when I work in Visual Studio, and I maximize the window, I get the program window, the log window, the class browser, etc. The Mac doesn't use panes. Instead, component appears in its own window. If I am working in Xcode, and I really maximized the window with the source in it, all the other windows I need would be hidden from view.

Another nice thing about maximizing a Window's window is that it put the menu bar and other tool bars on top of the screen where it's easy to find. On the Mac, the menu bar is always on top and in full view.

However, things have changed since the old days when 4megs was a ton of memory. If I have two monitors, maximizing a single Windows window covers a lot of real estate and is really almost impossible to work with. Meanwhile, newer Mac programs now are using side panes. Look at Finder, iTunes, and other Apple applications. While on Window, applications like MS-Word now spawn multiple windows instead of all documents appearing in a single application window.

Maybe it is time that both companies rethink what users want to happen when they click on the "Maximize" button.

David on July 18, 2007 08:17 AM

@Aaron G on July 18, 2007 06:15 AM:

That's the best variation I have ever seen. Thanks.

Sorry for the off-topicity but this discussion is in serious need of being derailed.

Ishmaeel on July 18, 2007 08:31 AM

One thing I am missing in this discussion is the topic of Fitts Law: "The time to acquire a target is a function of the distance to and size of the target."

On the Mac the MenuBar resides independent of the application running at the same place, namely at the top of the monitor. Why this is good is explained in Fitts Law.

On Windows the MenuBar is associated with the Window so Maximizing the window will position the MenuBar always at the same place and thus makes it easier to find and hit.

I imagine that this is one of the reasons why Windows User are really depending on the so called maximzing buttons and Mac Users do not even care about.

What do you think?

me.

Meikel Steiding on July 18, 2007 08:33 AM

I mean, of course the best <S></S> variation.

Ishmaeel on July 18, 2007 08:33 AM

Dude it was nice to see suck on someone else;s browser. Even though the site has been dead for six years now.

tenacitus on July 18, 2007 08:36 AM

@Meikel Steiding

Re-read Fitts Law. If the toolbar is at the top it is further away from the actual area you are working in, therefore it takes more time to acquire the target. Maximizing to keep the toolbar at the top is really only good if you keep the mouse at the top too...

Telos on July 18, 2007 08:38 AM

I don't have an opinion as to which is "best", but I can offer a few observations have had a quick look around the office here (I am one of 3 technical staff out of approx. 50), but everyone here does use a computer (WinXP) to some degree.

* Everyone I checked has all of their windows maximized, all of the time
* Only I, a highly technical user, use many non-maximized windows
* Of the people I asked, all *preferred* maximized windows
* Most (90%) had less than 3 windows open (usually Word and Outlook)
* Of all the people I asked, all preferred a "simple interface with few windows" over "an interface with many windows on the screen at the same time".

So make of that what you will. My own preferences are almost entirely at odds with those of my fellow workmates, but then, I do very different things with my computer.

Another interesting observation is that Adobe's Creative Suite 3 has adopted Windows-style palette docking, which better suits a maximized working environment (i.e., one that takes up the whole screen).

Charles Roper on July 18, 2007 08:41 AM

The inability to fully maximize (OS X keyboard ninja protip - you can shift+click on the green button to fully maximize the window... sometimes) windows is an annoyance - when I'm on a single-minded task (developing or writing), I don't want to be distracted by anything in the negative space. That's a pretty sure-fire recipe for breaking out of flow.
That said, I think that Apple finally got it right and one of the really nice things about Safari on the iPhone is that it's smart about columns. When you bring up a plain old web page optimized for computer monitors, things are going to be, unsurprisingly, tiny. But double-tap on the meat of the page (the middle column where the text is) and it zooms in on that. All those ads and the navigation text in the sidebars? Gone from your view and the text is pleasantly readable all of a sudden.
It's nice enough that I find myself wanting to see this on my big computer browsers.

Dave Solomon on July 18, 2007 08:49 AM

Apple is wrong, and here's why: CSS3 Media Queries.

If you've got separate stylesheets that are chosen based on the available screen area, and a screen area that decides how big it needs to be based on the content, it's a classic deadlock problem. Or else, Mac users will just have to get used to the lowest common denominator display.

Brianary on July 18, 2007 08:52 AM

I'm not a gui expert by any wild stretch, but I have been using both Mac and Windows for a zillion years, so I thought I'd pop in to add my .02¢. :-]

Don't forget that originally the Mac was using a "Desktop" metaphor, so it makes a lot of sense to "maximize" to a document's content size and no further. In "real life," you'd never be able to stretch a piece of paper to beyond it's physical limits, so Apple's gui didn't have that as the default behavior.

And as far as having multiple "small" windows open in a program, I've found that a combination of Exposé, combined with keyboard shortcuts and mouse gestures is perfect for the way I work. Having two wide screen displays also helps.

And thanks a LOT, Jeff, now I miss suck.com all over again. :-]

jon deal on July 18, 2007 09:05 AM

I use Windows exclusively at work and Mac almost exclusively at home.

Having lots of screen real estate is one of my key requirements. At work, I do the side-by-side dual 20" monitor thing and put Visual Studio and DebugView on one and run my apps and put the Visual Studio Documentation on the other. Seems to work well enough. I always maximize Visual Studio as it has lots of panels and GUI development (at least for me) requires real estate.

At home, I've got the 24" iMac and so real estate isn't a problem. I do the Expose thing there and can hop around between the half-dozen windows that I have open but not minimized when I want to with no issues. Perhaps if I had 20 windows open it would be an issue, but in practice I don't have anywhere near that many open often.

Maybe the issue with the zoom button is the plus sign, as the xvsxp discussion mentioned. If it weren't a + sign, that might eliminate some confusion. I think that shift-clicking on the zoom button on the mac maximizes most windows. Don't see why they couldn't hook the fact that the shift key was depressed and change the button's look.

Lots of good opinions here - they've given me something to think about.

itsmatt on July 18, 2007 09:17 AM

"Dealing with multiple windows is far too difficult, even for sophisticated computer users."

I'm going to agree with Jeff on this one. But I don't think it much matters how the maximize/zoom button works. The real issue is that we just don't have a good visual paradigm for dealing with multiple windows. "Tabbed" interfaces help a lot by restricting the windows to the same size and shape. When they're not appropriate, however, the operating systems should do a MUCH better job of allowing us to manipulate windows and understand what we're looking at.

Not that I have any solutions for this, but I wanted to at least restate the problem. :)

A. Lloyd Flanagan on July 18, 2007 10:25 AM

Also note that the zoom button doesn't just zoom out, it usually toggles between zoomed and the previous state. So if you don't like where it zoomed, just click again, or use it to toggle between your chosen state and auto-zoomed—easy, because the button's location relative to the window origin means it usually remains under your mouse pointer. There are exceptions, for example in the case of a fully flexible web page layout like Coding Horror, it maximizes the window, regardless of its position.

iTunes's minimizing zoom button is also an anomaly, but it is an example that demonstrates that different types of content zoom differently.

And please don't hold up Photoshop to demonstrate the problems with the Mac OS windowing interface. Photoshop has been one of my main Mac applications for years, and windowing has become more frustrating with almost every version. The nadir was Photoshop 7, which usually, but not always, disables the OS shortcut for cycling app windows, and hides all documents in a submenu (and when you quit, it ask you whether you want to save documents which remain hidden behind the frontmost window!).

Multiple visible windows make some sense on the Mac, because drag and drop is so well integrated and standardized. You can drag files, formatted and plain text, images, URLs just about anywhere that makes sense: to document windows, application icons in the Finder or Dock, picture wells in preference panes, web browser's address bar, window or text field. You can drag a file from the icon in the title bar of any application window, as long as the document is saved. Snap-open folders in the Finder let you drag files and image or text clippings into folders that aren't currently visible.

There's lots of standardized UI for handling windows. Minimize them with command-M. Cycle windows of an app with command-tilde, or apps with command-tab. Hide apps with command-H, or other apps with command-option-H (or using the keyboard and mouse on Dock icons). Exposé and the anticipated Spaces virtual desktops add more options.

The integration goes beyond the clipboard and drag and drop. The system spellchecker, Command-F, -G, and -E, "Find", "Find Next", and "Use Selection for Find", is another wonderful bit of standardized interapplication UI (but I'm digressing).

(If Office doesn't have multiple document windows, how do you drag text between docs?)

Some apps are more task-oriented than document-oriented, but I still have the choice to open an email in a separate window in Mail.app, or a playlist in a separate window in iTunes when I choose to. When I quit Mail and relaunch it, the emails I left open remain in the same position and stacking. And Safari 3 lets me restore my workspace (7 windows with 40 tabs this morning), including the position, frontmost tab, and dock-minimized state of each window. Choice and retention of state are good.

I suppose using two or three monitors would help make up for the limitations of an interface oriented towards maximizing single windows.

And if you are reading the Coding Horror comments in a 1900-pixel wide window, you might find it much easier to read by narrowing the window to half the width.

Michael Z. on July 18, 2007 10:28 AM

There are some experimental window managers in Linux, that allow for multi-window interfaces while taking care the placement and size of windows in order to optimise screen area usage. Although I've never tried it, here's an example of such a window manager:

http://www.nongnu.org/stumpwm/screenshot.html

Stathis on July 18, 2007 10:35 AM

I have two computers and four monitors at work. Two of them are landscape, and two of them are portrait. I use the portrait screens for coding and for reading documents. In both scenarios, I tend to keep my application maximized all the time. Visual Studio is a perfect example.

Typically, all of my other windows live on my landscape monitors, and those are rarely maximized. I keep my taskbar vertical and grouped by type, so I can quickly scan the labels on the taskbar tabs. I rarely use alt-tab. Chances are, if I need to rapidly switch back and forth between two applications, one is on the left screen and one is on the right.

In either resolution, a almost never click the restore/maximize button. I just double-click the title bar to toggle.

At home, I have a 22” widescreen, and I still run Visual Studio maximized. I typically split the pane vertically, so I can see and work on two documents simultaneously. I installed the Vista equivalent of Mac’s Expose. It’s a neat party trick, but I don’t use it as often as I use windows + tab.

As for how the button “should” act, I think it’s totally up to your own preference. I think you’ll learn to adapt to whatever technology you’re using. Why isn’t it a user setting?

I think a good windows manager is all we need. What if your OS had different “panes” that fit into a “layout” and you could easily switch layouts, or change which windows were in each pane? It seems like an interesting project. The hardest part would be making it easy enough to use for the average person.

mattcole on July 18, 2007 10:53 AM

I have some suggestions that I dont' understand why none of them are implemented yet on Windows task switching.

Why can't we have key-bindings for one of the most frequently used task on the computer. Start->1, Start->2 (or better yet configure it per program group example: configure Start->W always tiles all instances of Word)

Why can't we hide programs to the task manager (even if they aren't not configured to do so)

Why can't lock a window to be always on top (if it's not implemented in the app)

I wouldn't mind alt-tab so much if I could "put away" all that I'm running but not actively using. Alt tab breaks down a bit once you start using three applications and even with dual monitors I see no reason why I should have to touch my mouse to go between the two windows.

Martin on July 18, 2007 10:55 AM

By the way, if you would prefer maximized windows on the Mac, you can just manually resize a window to full-screen in an app—then new windows in that app will be created full-screen. The zoom button will toggle between content size and full-screen size. (Of course it probably won't work this way in some apps that choose to display fixed-size documents without adding an additional desktop behind them, for example images and text pages formatted for printing)

This is how the zoom button works (I think calling it a "maximize button" reflects a desire to reduce its function). It gives the user choice, possibly even encompassing something that a Windows user could get used to.

Michael Z. on July 18, 2007 11:11 AM

"i almost never use the minimize button or alt+tab.. if i want to switch, i just use the button for the window on the taskbar.... all it takes is 1 quick click :)
someone said only the mac can do that. not true. windows can too.."

Yes, but it actually *works* all the time on the Mac. Sometimes under XP, the button just depresses and the window never shows. Other times I click the button on the task bar and the window gets focus, but a window covering the focused window never goes behind the focused window. Have to click several times for the desktop to get un-confused.

Scott on July 18, 2007 11:16 AM

wow, people had a lot to say. I wonder if anyone bothers to even read the comments. You know what sucks? the organization of peoples' comments at the bottom of articles like this. It is worse than the maximization button that does what it is called.

'night night.

Ken on July 18, 2007 11:46 AM

Bigger screens won't resolve this issue for most. I think normal users think bigger screens mean bigger text. Finally, they can have a "normal" size document to read. Less eye strain. Thus, the glut of cheap, large, low res monitors.

Stephen on July 18, 2007 12:00 PM

> I wonder if anyone bothers to even read the comments

I read them all. But it's true that beyond a certain point, comments don't scale-- TL;DR* syndrome sets in. It's the same reason students fail to read Nabokov or Tolstoy..

> But I don't think it much matters how the maximize/zoom button works. The real issue is that we just don't have a good visual paradigm for dealing with multiple windows

Exactly. This post is ultimately not Apple vs. Microsoft; it's Windows vs. *The User*. Windowing GUIs are all broken, so it's a moot point to argue which is more broken than the other.

I wonder if auto-docking panels, on larger monitors, would help at all. Some way for multiple windows to "snap" into standard positions.. I'm a little gunshy of this approach based on the implementation in Visual Studio 2005, which is really difficult to use.

* Too Long; Didn't Read

Jeff Atwood on July 18, 2007 12:26 PM

"Manipulating windows is pure excise-- extra work that stands between the user and completing their task. The more windows you have to deal with, the less work you get done, and the more time you spend sizing them, moving them, bringing them to the top, and dragging them around so they aren't overlapping."

You just perfectly articulated why I chose thumbnails-with-tabs for Paint.NET 3.0's MDI implementation (as opposed to Photoshop or PSP's lots-of-child-windows "classic" MDI).

Rick Brewster on July 18, 2007 12:33 PM

"Can you name one application with a multiple window interface that's even popular?"


SQL Query Analyzer

Joe Beam on July 18, 2007 01:31 PM

"Far more useful and elegant. Once again, Microsoft has no taste and no clue when it comes to the GUI. All that money and Gates has never been able to hire a decent human factors person."

I can't stand people who talk about Apple and Microsoft as if everything that Apple designs is perfect and everything that Microsoft designs is completely wrong. Maximizing a window is perfect for making it the ONLY window in view and removing all distractions, which is something I often like to do with all sorts of programs. I don't do it often but it's a great feature to have. If Apple's design choice was so perfect, people wouldn't write "Jedi" scripts for OSX that allow you to black out the screen and focus on a single document.

I think Windows Vista's Tab-3D is a pretty smart feature; you can have all your windows maximized and tab through them, which is very useful for small laptops as well as situations when you are switching between programs but you don't want your screen cluttered. IMO, Microsoft has some good human interface ideas and there is no "perfect" design coming from either company.

Montoya on July 18, 2007 01:37 PM

A few folk have mentioned it, but not too clearly.

Emacs is an excellent example of a program that's a) popular and b) works with multiple windows.

Unfortunately, I don't hack as often in emacs, but one of the things that I greatly miss is the ability to split & resize my screen however I needed it. Frequently, I would have 4 windows open. Two or three would be dedicated to different portions of the same file (buffer in emacs speak) and one or two would be dedicated to other files.

It was a very handy way of programming in a complex application that required you to constantly reference other sections of the code.

Glen on July 18, 2007 02:03 PM

JoeBeam, you're thinking of a multiple document interface, not multiple window.

Mattkins on July 18, 2007 02:24 PM

Rubbish.

I have spent hours sitting behind the mirrors at the big MS, during usability studies. Profiling user/PC interaction takes a carefully designed study, lots of test subjects, lots of data, lots of subsequent analysis... I read in many of the comments that MS GUI is terrible, sucks, is broken, whatever. I myself specialize in UI design. The goal here is to find a paradigm that closely matches a human cpu's "native interaction modality" - meaning, something that they intuitively understand without having to read a manual. Guess what? Every kid in the world who ever sat on the floor reading the Sunday comics intuitively understands MDI. Every college kid who ever turned in a term paper spent plenty of time in the library, with a stack of books spread out on the table, and notes, and papers, and whatever.

I see much characterizing of people as brainless, incapable of moving one document (or application, or window, or surface) out of the way to reveal a lower z-index doc, which they then click on to give focus, and bring to the foreground.

C'mon, folks, this is rubbish. In the mid 80's, the Windows thing started, replacing DOS and Pong and Visicalc and Lotus 123. Did people have a meltdown? Heck no. They loved it. I did a lot of UI work back then, and we were very strict about what we did. People had to "know" how to interact with the UI at an intuitive level. We found that, surprise surprise, MOST PEOPLE DID! It was no big deal. Here is a simple example: the scrollbar on the right side of most docs, browser windows, many apps: this scrollbar is ubiquitous. I have seen many websites with "hand rolled" scroll UI's. Guess what? They don't work as well as the scrollbar that we are all "programmed" to use. There are scrollbars with little arrows that point up and down, with a funky track of some sort between them, with red lights between them, with dancing chickens between them, whatever. None of them are as intuitive as what we have already. Therefore, we will never see some incredible "scrollbar" breakthrough, because the territory is all sewn up. It's done. That particular UI element has been accepted by the entire human race as the single best, most pleasing, easiest to use, most intuitive, most reliable interface.

Back to MDI windows: most people don't have two monitors. I bet 0.2 percent of users are power users. The rest are students, housewives, laptop owners, video gamers, Google searchers. Advocating a UI that depends upon multiple monitors, or huuuuuuge monitors, means a real small market. That is why we have what we have, because it offers max client reach.

If you can't handle MDI windows, then, well, errr, gee, I'm sorry for you. Maybe computers aren't your thing, you should go back to paper.

For the rest of us, though, stick around.

Soon, your browser will be MDI. And, in short course, all browsers. Why? Because humans like to "cluster" like with like. They like to "cluster" related windows close by each other. This establishes a visually binding relationship.

Having a whole ton of apps showing up in the taskbar, willy nilly, is useless. Look how quickly tabbed browsing became popular. Why? Because all your searches for a particular item can now be grouped into a single browser instance. This is a huge improvement over a bunch of disparate taskbar icons.

The next frontier is MDI in the browser. I already do it, and have done it, for seven years. It rocks extremely.

It is simply a more powerful paradigm. And it is intuitive, and everybody already knows how to do it (except, apparently, several of the forum contributors here). You see, we, as a race, have been visually programmed since the late 80's to deal with MDI. The very nature of the PC is to deliver apps, each in its own visual container.

My two year old used to sit on my lap, years ago, and we played Descent, the video game. Six degrees of freedom. He flew his little spaceship upside down, sideways, backwards... Adults play the game and get vertigo, headaches, and want to hurl.

The boy is older now, and has no fear of heights, and hangs upside down from trees, and can spin on an innertube hanging from a tree for five minutes and then walk straight afterwards. He learned how to cope.

So has the human race. We have been "educated" by the PC interface, and it is now second nature for "most" of us. There are, apparently, a few who are uncomfortable. However, to state that the rest of us can't deal with what is basically a simple paradigm, is simply untrue.

Norzilla

Norzilla on July 18, 2007 02:34 PM

All of these problems go away when you use a proper window manager such as Ion 3 or Ratpoison - it's the window managers job to tile and /manage/ windows for you, any one that doesn't is BAD*.

* Broken As Designed

Noah Slater on July 18, 2007 02:35 PM

Practically all programming editors/IDEs are MDI, and I can't even imagine a SDI version of for example Visual Studio.

The shift from MDI to SDI has caused lots of inconsistencies, and I'm not even sure how a "normal" SDI application is supposed to work any more. Some programs (Audacity comes to mind) open a new window when you open a document instead of replacing the current doc, and MS Office 2002 looks like an MDI window (the document window can even be closed with Ctlr+F4) although it's SDI.

And speaking of Z-order, I curse MS Outlook 2002 every day I have to use it for screwing around with the z-order. Minimized windows are supposed to go to the bottom of the stack, not just behind the top window.

Spuf on July 18, 2007 02:43 PM

Re: "Excessively long lines are hard to read" ... (and I'm focusing on text here, rather than code) ...

One point that I don't see mentioned is that when your text is longer than comfortably fits in your browser's window, one narrow column will show *less text* than a wider column, thus requiring user interaction once you read down to the bottom. Personally, I don't think the speed-reading difference is all that great, especially compared to the annoyance of having to scroll.

Doug L. on July 18, 2007 02:47 PM

@Telos

You need to reread Fitt's Law. It's a function not of distance but also how easy it is to hit the target. Having a widget at the edge is equivalent to infinite width.

Simply put. If I have a 20x20 pixel square in the middle of the 1600x1200 screen versus a 20x20 pixel square at the top left corner of the screen, which one's easier to hit? At any mouse sensitivity?

The answer is the top left corner.
1) You simply sweep your mouse in that general direction and you automatically get it. No thinking involed.
2) Even if you're a few pixels off from the center one, you still have to concentrate and not overshoot.


@Norzilla

You had me up until you mentioned MDI. If you're talking about tabbed browsers, then yes. Best.