Window Maximizing and Multimonitor Setups Across Platforms
For the last couple of months I’ve been working on Windows as my main desktop during the workday (not my personal choice, but I can live with it.), and that’s caused me to notice a few things I haven’t noticed before, especially in contrast to the Mac style of managing windows. I’ve task switched between Mac and Windows before–for several years in the late 90s I did all my development and book writing on Windows and all my e-mail and Internet on the Mac–but this is the first time I’ve had the chance to compare the two environments with multiple monitors, and that’s made some difference in my take on matters. Practices that work well on a single monitor system don’t work as well on multimonitor system and vice versa. After playing with this for a while, I’m starting to think that the Windows approach works better for multiple, small monitors and the Mac approach works better for a single, widescreen monitor.
To summarize, here are the critical differences between the two platforms. These are worth keeping in mind when you’re designing a cross-platform application such as Firefox or Limewire, or any web site.
The Maximize Button
On Windows the maximize button fills the screen with the current window. On the Mac it doesn’t. First of all, the Mac sets aside space for the menu bar at the top and usually the dock at the bottom. However, even taking that into account, the maximize button still does not expand the window to fill all available horizontal space. Users browsing on Macs rarely if ever have browser windows expanded to the full screen width. Doing so requires manual dragging and positioning of the mouse. Consequently designing a site for a specific resolution such as 1280×1024 will break the site on Macs with precisely those specs. Even if a Mac user sets their display resolution to match your requirements, they still won’t be able to handle your page. Window size is not the same thing as screen size. Do not design as if they were. Window and screen size are only loosely coupled, especially on the Mac.
Maximized Windows
On Windows, a maximized window cannot be dragged to the other monitor. Neither can it be expanded or contracted by dragging the edges. It is locked to one monitor and its size.
On the Mac, even “maximized” windows can be expanded, contracted, and dragged. It is possible to “over-maximize” a window by dragging it across more than one monitor. (You can do this on Windows too, but only if the window is not maximized.) You can even overmaximize a window on a single monitor system by dragging the window partway off the monitor while leaving the grow box visible. Programs that resize windows for the user need to be very careful that they don’t exceed the screen bounds.
The Menu Bar
The top menu bar on the Mac is clearly its single biggest weakness in multi monitor setups. In Windows, you can freely switch between two applications on two monitors while keeping both visible. Each is fully and independently functional. However on the Mac there’s only one menu bar, and it only lives on one monitor. You can show two windows on two monitors but you can only really work on your primary monitor because that’s where the menu bar is. You can use the second monitor for reference documents or simple games. However any program that needs a menu can only effectively live on the main monitor. This is a huge disadvantage compared to freely switching between menus as on Windows. (The exceptions that prove the rule are Parallels and VMWare. If what you have on the second monitor is a Windows program, then it does have its menu bar, and you can effectively task switch between two apps on two monitors.)
Linux
Linux is once again trailing far behind. I tried to install the latest version of Ubuntu on my pretty standard Dell PC with two regular aspect Dell monitors, and all it could do was mirror them. It could not use them as dual monitors. I’m sure with a few hours of research and forum posting, I could have found some XF86.config tweaks that would have made it all work, but I didn’t have the time. These days Windows and the Mac both “just work” with dual monitors. I remain dually astonished at Linux: on the one hand that it still clearly isn’t ready for prime time on the desktop after all these years, and that nonetheless people seem to keep insisting that it is. This was hardly the only significant flaw I found within ten minutes of popping in the live boot CD, though it was the worst.
Bottom Line
It’s been claimed repeatedly that developers (and presumably other knowledge workers) are much more productive with multiple monitor setups. I suspect that’s true, but only on Windows. Mac and Linux users are better off blowing their money on one really honkin’ big display than on several somewhat smaller displays.
August 16th, 2007 at 5:40 am
I can drag maximised windows between monitors on Windows. If you click-and-hold on the maximised app’s title bar, then move the mouse over to another screen, it becomes maximised on that one instead. You don’t get to see any dragging or indeed almost any indication that it’s going to do anything, but it does work.
The maximise in Mac apps is supposed to be to size the app to its max preference. In other words, rather than having huge gaps around the sides of a smaller document, the max resizes to the document’s size. This can result in the maximise button actually making a window smaller; and to be fair, it’s just a green blob, not a maximise button. Think of it as ‘size to document’s contents’ and you won’t be far wrong. But I agree, it’s frigging annoying, especially when you have apps that will quite happily flow documents like Safari.
I use multiple monitors all the time on the Mac, and I disagree with your thoughts that it’s not cut out for prime time. I generally have a Mail/Safari window on my secondary monitor, since both of those are primarily click-oriented (and I use the keyboard shortcuts all the time). It’s also useful when developing; I can have an Eclipse window maximised on the primary display, and then tear-off a floating Debugger window to have on the secondary display (or another smaller window doing the same).
If you’ve got an app whose menu you use all the time, I can see your point. However, I personally rarely use the menu bar for any of my apps. The main time I use that is to enact fast-user-switching or opening up the System menu, normally to get at system preferences.
Each to their own.
August 16th, 2007 at 6:02 am
For now, I’m willing to “cheat” and use the proprietary nvidia drivers for my dual monitor setup in Ubuntu, and the nvidia GUI config tool works great. It was very easy to run with dual monitors and it works a lot like how Windows dual monitors work.
(It’s Xinerama that is most similar to Windows dual monitors. Other options treated both monitors like one big screen or kept them separate with different taskbars and not letting you drag windows between screens.)
August 16th, 2007 at 8:37 am
The problem with being “ready for the desktop” is that the goalposts keep changing. Dual monitors? Seriously? That’s the new minimum requirement? Not sound, not wireless, not easy installation, not co-existing with legacy operating systems, not a full-fledged desktop environment or a free office suite or desktop applications or anti-aliased fonts or a free web browser. Dual monitors? Seriously?
I’m not defending Linux’s dual monitor setup (I happen to use a dual-monitor Linux desktop daily, and yes, it was everything you predicted getting the damn thing to work properly), but seriously? Dual monitors?
August 16th, 2007 at 1:44 pm
So this is nitpicking, perhaps, but Mac OS X does not have a Maximize button. It has a Zoom button. See Apple Human Interface Guidelines: Window Appearance and also Resizing and Zooming Windows.
August 16th, 2007 at 2:21 pm
Regarding Alex’s comment, that drag/drop of maximized windows does not work for me on Vista. As for Mark’s comments, of course the “goalposts keep changing”. Every time MS and Apple come out with a new product, that is the new standard against which we must judge Linux. Competition is brutal. People are going to compare available products today and choose the best one. Nobody gets a free pass to compete against last year’s feature set, not even Linux.
August 16th, 2007 at 3:59 pm
Alex,
I tried what you suggested on XP and it didn’t work.
Mark,
If dual monitors were the only issue, I’d agree with you; but they’re not. Before I had dual monitors, I had a widescreen monitor Linux didn’t support. There’s quite a bit of other hardware I have lying around that just works with Windows and the Mac but not Linux. Last I checked, Linux still hadn’t really come to terms with the concept of removable file systems, and this some 30 years after the invention of the floppy disk. And don’t even get me started on the broken and inconsistent GUI.
August 18th, 2007 at 3:49 am
I’ve used dual monitor on PC’s and decided to spend the money on the Apple 32″ monitor for my Mac Laptop (running a Windows Virtual machine for my work).
Moving my head back and forth was causing me neck problems.
I don’t think that it is the number of monitors that makes for greater productivity, it is the visible real estate.
August 18th, 2007 at 7:36 am
The single menu-bar is even more of a problem when using a projector with a laptop to illustrate a talk. There are two major design errors.
First, the full-screen mode for the slides etc. goes to the screen with the menu bar; so you have to put the menu-bar on the projector. That’s silly: clearly you want the controls for queuing up media to be on the laptop screen, where you can manipulate them privately, not where the audience are looking.
Second, the default place for the menu bar, and hence the full-screen display, is on the primary monitor by default. That means that slides come up on the laptop screen not the projector. (Yes, I found out how to change this. But I had to dig into the help; it’s not obvious from the UI.)
How anybody could design it that way beats me. It only takes a tiny bit of useability testing to show that it doesn’t work.
August 19th, 2007 at 9:02 am
You’re right to say that dual monitor is not very well supported in ubuntu Feisty. It’s better supported in other distributions such as Fedora. Still it’s on its way: see
http://useopensource.blogspot.com/2006/12/fedora-beats-ubuntu-dual-monitor.html#comment-8784294027065759786
and http://useopensource.blogspot.com/2006/12/fedora-beats-ubuntu-dual-monitor.html#comment-6515998037278868603
and should be in gutsy or gutsy+1 (as X.org 7.3 might not make it for gutsy).
As for Linux being ready for the desktop, it really depends what your desktop needs are… Most of the people I know don’t use dual monitors, so…
August 23rd, 2007 at 8:48 am
I use Ubuntu every day and am for the most part a happy camper. It’s fast, has a powerful shell, is easy to automate, and I can do almost everything with the keyboard. But monitor support is indeed wretched, and it shouldn’t be. My pet peeve is that I cannot easily switch to an external monitor or projector with my laptop. My old laptop had an ATI card and they provided a working driver, but now I have some cheap graphics from Intel, and it took an annoying hour of futzing to get it to work the way I want to. Supposedly, all of this will finally be solved with the next X.org. (To put that annoying hour in perspective, I spent several annoying hours on the Windows partition getting rid of the crapware that slowed Vista to glacial speed.)
August 27th, 2007 at 10:42 am
Just another comment to say here’s another user of Linux (at work, Ubuntu Breezy Badger) on a dual monitor set-up. Getting it to work only took about 10 minutes. Typically speaking if you are using Linux on a dual monitor set-up you probably already know how to get around Linux and figure out how to do things if you don’t already know how to do them…
Also, +1 to Jerome Lacoste’s comments…
August 31st, 2007 at 5:36 pm
You can use DejaMenu (http://homepage.mac.com/khsu/DejaMenu/DejaMenu.html) on a Mac to get the application menu as a pop up menu on a monitor without the top menu bar.
September 2nd, 2007 at 4:16 am
Dual monitor hassle has already been taken care of!!!
(screenshots dual monitor setup GUI)
https://wiki.ubuntu.com/DisplayConfigGTK
(packages for ubuntu)
http://glatzor.de/filesink/displayconfig/feisty/
quote: “…It provides a failsafe mode that will ensure that users never have to manually configure their graphics hardware settings from the command line. If Xorg fails to start,the failsafe mode will initiate with minimalistic settings, low resolution, and a limited number of colors. The failsafe mode also automatically runs Ubuntu’s new GTK-based display configuration utility so that users can easily test various display settings and choose a configuration that will work properly with their hardware.”
September 7th, 2007 at 7:59 pm
Once it is setup Linux running Gnome or KDE has a far superiour GUI especialy if you are willing to fiddle for about half an hour. Since when has Window had the concept of workspaces (execpt with extra programs). Thats where you start. Then add Beryl and bingo you have a desktop cube – or you could just goto settings – preferences – enable desktop effects. My only annoyance is that many linux games such as Nexius do not respect the fact that I have two moniters and do not want the game strectched accross two screen. – Pretty simple to get around though – Turn off the other screen press ctrl + alt + backspace and log back in and play the game.
Linux isn’t ready for noobs on the desktop but if you are tech savy have a crack because once it’s up and running its Kick’s Windows and Macs ass.
October 31st, 2007 at 1:35 pm
Getting dual panels working and performant on Ubuntu depends largely on the display drivers. The ATI drivers are horrible – wasted days trying to get these to work. The NVidia drivers are pretty good – re-installed Ubuntu and had dual 24″ panels working with the NVidia drivers in short order.
Need to someday write up a deconstruction of old GUI habits carried over to that no longer make sense. Among other things – menubars made a lot of sense back in 1984, but not so much on today’s large screens.
April 3rd, 2008 at 8:56 pm
I don’t completely disagree with your assessments of Mac and Windows. I’ve been using dual monitors on Windows for a couple years, and dual monitors on the Mac since ’89 or something, and in some situations having the menu bar on on emonitor is annoying. Honestly, I find the location of the task bar on Windows aggrivating too (but not as much as the menu bar can be).
What I’ve generally found I end up doing, on all platforms, is having a monitor where my main work is, and one where my secondary work is (often this is more status information, reference, etc). in both cases I also arrange things so a sweep of my mouse from either screen gets me to the menu or start bar (meaning, I tend to put those on the bigger screen, so I wo’nt hit edges when I sweep).
I’ll also add that Dave C is right. There’s no maximize button on the mac. Never has been, and I doubt there ever will be. There’s just an “expand to fit as best as possible”
July 21st, 2008 at 11:47 pm
I’ve used 2 monitors on Macs for years now. Currently using MacBook with menu bar on the external monitor, and palettes (for Adobe software mostly) on the MacBook built-in monitor. On the whole it works well, but I agree that the green button should fill the screen, and it’s annoying that at 10.4.9 the OS still doesn’t guarantee this. A simple key shortcut (cmd-click) would be appreciated. And another shortcut to maximize a given window on the >opposite< monitor. So that you can easily compare 2 PDFs, for example, without manually dragging and then maximizing one of them. Hope Apple’s listening.