The Non-Maximizing Maximize Button

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)?

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.

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 :slight_smile:
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 :slight_smile:

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. :slight_smile:

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 :open_mouth:
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 :stuck_out_tongue:
try to stop and muse over this for one sec. and maybe you will see how ridiculously far from the reality this view is.

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

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

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

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.

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.

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.

@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. Thing. Ever. Period.
It lets you cluster your browsing to topic and then organize the clusters.

If you’re talking about MDI as in Win32 MDI like…say Photoshop, but with web browsers? Having two dimensional movement of windows inside a restrictive window which always wants to maximize and cover other windows in your system with blank space is just plain wrong. I can’t see how this would ever be better than one web page per window.

As the average screen size and resolution increases having a single window covering everything becomes a problem. Imagine seeing one web site “maximized” on a 30 inch Apple monitor.

Also, I think Mac users get used to having multiple windows visible because so many apps that started on the Mac (Freehand, Illustrator, Photoshop) used and still use palettes. In effect, we were trained to multi task our windows. But, in the past this was a problem because with small at lower resolutions they covered your work. With that 30" monitor, or even multiple monitors, you can put them to the side.

Except for doing things like photography work, I prefer maximized to not be full screen, especially on large monitors.

@hachu: You don’t automatically get it though. You may not go up far enough, or you may be off to the left or right. It really only saves you from going too far… assuming you aren’t using a window manager that allows multiple desktops that is. A 20x20 square is not appreciably easier to hit because it’s at the top edge of the screen.

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

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.

“Can you name one application with a multiple window interface that’s even popular?”

Firefox. Tabs suck.

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.

I have to agree with you 100% - The multi-window UI on OSX really makes it hard for me to focus on one thing at a time. Combine this with the overall visual clutter of the OSX UI, and I feel like I need an adderall just to get a project done.

The maximize window feature in Windows allows me to be in Photoshop or Illustrator 100% of the time, not 85% in one and 15% in the other as it peeks out from behind. It’s impossible to work in two software applications at the same time- why do you need to be able to ‘see’ more than the one you’re in? It’s extra information you don’t need to be processing.

I used to be a Mac-only person for years. I found that the more experienced I became as a graphic designer I appreciated the bare bones UI of Windows and how that lets me focus on my work- be it spreadsheets or design. I stopped using Macs after OSX first came out because I felt that everything about it is grabbing for my attention. A great UI is so much more about looking cool or having neat animation or transparency effects.

@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.”

I’m usually a Mac UI fan, but that’s always annoyed me as well, and I have to say that Apple is indeed wrong on this one. The main use of ‘maximize’ is to filter out all the visual noise on a screen. Users want to just see Visual Studio or just see email. Apple’s guideline here prevents the user from doing this, except by meticulously dragging and stretching the window to full size.

As you point out “fit to content” is not always possible to compute. At any rate, it’s secondary to “only show me what I’m interested in right now”. Both are design concerns- it’s just that the latter is objectively more important than the first- especially when it’s something that is being applied to all applications on the OS.

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