User: Password:
Subscribe / Log in / New account

Copying OSX

Copying OSX

Posted Feb 17, 2011 6:02 UTC (Thu) by tshow (subscriber, #6411)
Parent article: First look at Ubuntu "Natty" and the state of Unity

I'm really not thrilled by the prospect of anything OSX-inspired. Of the currently available "modern" operating systems, OSX has got far and away the worst window management. I've had to use OSX recently for some development work, and while there are nice things about it, the window management has barely changed since the 80s.

The single menu made some vague sense back in the elder days when machines were slow and couldn't run many programs at the same time, but it has a whole host of problems:

- The Fitt's law justification for single menu dies a horrible, screaming death as soon as you go multi-monitor. The number of times I've wanted to do something with the menu and oops, it's on the other screen, and oops, my screens are different heights so the mouse comes in 16 pixels below the menu when it crosses the screen boundary... It doesn't sound like much, but it's one of those little UX warts that irks you every time it happens.

- Single menu also pretty much requires click-to-focus, which is why you can't have floating focus on the mac. Which is a deal killer for me. Actually, on the mac you get half-assed worst-of-both-worlds floating focus; the scroll wheel and swipe scrolling work in whatever window you're floating over, but all other focus is on whatever window you last clicked on. Which is why you will wind up constantly closing your work or IRC sessions when trying to close a tab in firefox. But I digress.

The point is, single menu + floating focus means that when you're trying to get to the menu of program A, if program B has a window between your mouse pointer and the menu then the menu changes before you can get to it. So you wind up having to thread the needle between windows to get your menu, assuming it's even possible. Or you have to put the mouse over the menu bar and then alt-tab to the menu you wanted. It's untenable, which is why they don't do it on the mac.

- Lack of floating focus means bad use of screen real estate. When I'm working on a screen that's smaller than the combined size of the windows I'm using, I tend to stack them so I can get at the active part without having to expose the rest of the window. For example, I'll put a terminal behind other things such that only the bottom few lines are visible; most of the time that's all I need to see or interact with, but if I get a compile error or something I can bring it forward to see what the problem was. You can't do that without floating focus.

- Single menu also means more context errors. If you're editing a bunch of images, for instance, in a menu-per-window system the menu attached to the image you're editing is the one you use to apply effects, save and so forth. There's an immediate, obvious connection between the two. With single menu, the thing you're affecting may not even be on the same screen as the menu, and you wind up double-checking a lot to verify that yes, the thing you're trying to do is being done to the thing you want to do it to. It's a modal interface, with all that implies.

- Single menu means a single point of failure as well. If something happens to that menu, you're potentially screwed unless you have a shell open. Many times on OSX I've had a program go into "beachball of boredom" mode, and when that happens, quite often it takes the menu with it. I can switch to emacs or bash and get some work done, but pretty much everything else relies on the menu not being wedged, and so is useless until the rogue program gives control back.

- Single menu means quite often (at least on the mac) you start a program and your only indication that it started is that the menu changed. Once the menu is decoupled from the window, many programs don't bother to open windows until you tell them to. XCode is a particular offender here; it takes a while to open on the mac I'm using, and when it does it usually takes me a while to notice, especially if i started several other things at the same time. (Yes, ok, on the mac you also get a little dot by the icon on the dock to let you know the program is running. Woohoo. Another 16 pixels of massive notification power.)

There are lots of other ways mac window management is a giant pile of suck (it's 2011 and still have no edge resistance on windows? no "bring window to this virtual screen? no axis-locked resizing? the list goes on...), but hopefully none of them are relevant to Unity so I'll cut my "mac window management is like a fire-ant enema" rant short.

The other thing I'll say is that with Apple announcing "full screen mode" for mac apps, I'm assuming they're keeping the single menu and planning on encouraging everyone to use full screen mode for everything, as if your mac was a big ipad. The reason for this is that otherwise there's a world of pain for them in making multitouch work on a full PC; what do you do if gestures span programs? Can two or more programs have focus at the same time? I expect they'll just declare that multitouch is only available in full screen mode.

The problem is, what this ultimately leads to for Apple is the iPhone model of computer use. One program at a time, everything else except the music player is asleep and taking no screen space. That's fine for someone whose interaction with the computer is clerical or entertainment, but for those of us who want to use computers as tools to do interesting things...

The TL;DR version: single menu is an anachronism from the 80s, and should be strangled and thrown in a ditch. Then nuked from orbit.

(Log in to post comments)

Copying OSX

Posted Feb 18, 2011 13:27 UTC (Fri) by jschrod (subscriber, #1646) [Link]


Very good analysis why a global application menu is crap! I'll keep a bookmark to point others to it.

I just hope that one can turn it off via gconf or so; Unity seems to be interesting for my netbook. (I wouldn't use it on my desktop, but my small-form-factor EeePC needs a different UI design.)

Copying OSX

Posted Feb 22, 2011 9:25 UTC (Tue) by Seegras (guest, #20463) [Link]

I can only agree with that.

- Single Menu FORCES "click to focus". Which is, for anyone who ever worked with sloppy focus, a massive productivity killer. (A similar problem, by the way, are programs who automatically give their pop-ups the focus and place them anywhere on the screen, no matter whether the application generating the pop-up even has a focus; and programs opening their pop-ups as normal windows, so they disappear behind any application immediately if they loose focus).

- The only point where something like "click to focus" makes sense is when you've got a inherently inaccurate pointing device (smearpad, or whatever these things are called ;)) and a small screen estate.

Copying OSX

Posted Feb 24, 2011 16:26 UTC (Thu) by jonasj (guest, #44344) [Link]

Sloppy focus and global menu are not necessarily incompatible:

Copying OSX

Posted Feb 25, 2011 2:12 UTC (Fri) by tshow (subscriber, #6411) [Link]

But that's a terrible idea! It means you get the ugliness that OSX has writ large; input focus is half floating and half click to focus. Which means you'll be happily typing in something and then hit a menu shortcut, and the shortcut goes to some other program entirely that you forgot you left menu focus with.

That happens to me in OSX all the time. I'm on irc, one of my colleagues sends an url. I click on it, it opens in firefox. I use the scroll wheel to scroll through the article, then hit clover-w (close window/tab).


I've just killed my irc session, because while scroll focus was floating over the firefox window, the menu focus was still on the last thing I actually clicked on, which was the irc window.

I still get bitten by that several times a day, and I've been on osx essentially full-time since november.

Copying OSX

Posted Mar 1, 2011 15:06 UTC (Tue) by foom (subscriber, #14868) [Link]

Clicking a URL in your IRC client opens it in firefox but doesn't bring firefox to the front? Surely that's a bug in one of the two programs...

Copying OSX

Posted Mar 2, 2011 9:04 UTC (Wed) by jezuch (subscriber, #52988) [Link]

> Clicking a URL in your IRC client opens it in firefox but doesn't bring firefox to the front? Surely that's a bug in one of the two programs...

Absolutely not. You might think that's annoying if you have to switch after clicking, but usually I want to continue reading undistracted until the end of the paragraph that contained the link and *then* switch. If there are more than one link to click, it's even more pronounced.

And it's not an issue in any of those programs anyway. It's the responsibility of the window manager and it's called "focus stealing prevention", most probably as an option :)

Copying OSX

Posted Mar 1, 2011 14:22 UTC (Tue) by nye (guest, #51576) [Link]

'Sorry we shot you in the foot. We can solve it by amputating the leg.'

This is a textbook example of overwhelming UI design failure. If modality is considered bad interface design, multi-modality that differs seemingly arbitrarily according to subtly different contexts purely to work around another design failure is truly execrable. It is an interface that's impossible to use correctly. Whoever came up with this idea should be banned from contributing to any UI design for life.

Copying OSX

Posted Feb 24, 2011 22:19 UTC (Thu) by Zizzle (guest, #67739) [Link]

Another amen here. Gnome 3 seems to be heading in the same direction.

Where can us refugees go?

Copying OSX

Posted Feb 24, 2011 22:27 UTC (Thu) by Trelane (subscriber, #56877) [Link]

wherever you want. This is Linux/Unix, not Windows or OSX. You don't *have* to run GNOME or KDE.

Some very different offerings from GNOME and KDE are FVWM, Fluxbox, GNUStep, and a host of other options exist. They have costs and benefits to them, like everything that exists. Check 'em out! Heck, old-skool things like twm is available in Fedora (perhaps in the Extras or Fusion repos, but they're there)

Copying OSX

Posted Feb 25, 2011 15:59 UTC (Fri) by HenrikH (subscriber, #31152) [Link]

I've heard that it is possible to run Metacity and Panel under Gnome3.0 which then would provide a 2.x looking desktop on Gnome Shell.

KDE saves the day

Posted Feb 26, 2011 8:01 UTC (Sat) by blujay (guest, #39961) [Link]

I've been using single-menu with focus-follows-mouse on KDE for years and it works quite well. The secret, of course, is that in KDE you can configure the delay for the focus-following. I set it to a 400ms delay so I can easily move the mouse from a window up to the menubar, crossing over other windows without focusing them. It is one of the things I enjoy most about using Linux and KDE.

With all the short, widescreen laptops these days, I would *really* hate to give up my single menubar. Having one menubar for each app wastes *so* much screen space! And really, with toolbars and keyboard shortcuts and right-click menus, I don't even access menubars that often. For most apps I think they should be relegated to a lesser position that uses less space.

KDE saves the day

Posted Mar 1, 2011 14:29 UTC (Tue) by nye (guest, #51576) [Link]

>Having one menubar for each app wastes *so* much screen space!

Where? If I move my application's menu bar from one place to another, how does that alter the screen space available for the application? If you have several windows vertically stacked I can see that it would make a difference, but is that something you'd be doing on a short widescreen display?

(I'm actually genuinely curious about this because this argument has always seemed weird to me and I'd like to understand the use case where it applies)

Single-point-of-failure is implementation problem

Posted Feb 26, 2011 8:06 UTC (Sat) by blujay (guest, #39961) [Link]

Forgive the extra reply...

"Single menu means a single point of failure as well. If something happens to that menu, you're potentially screwed unless you have a shell open. Many times on OSX I've had a program go into "beachball of boredom" mode, and when that happens, quite often it takes the menu with it. I can switch to emacs or bash and get some work done, but pretty much everything else relies on the menu not being wedged, and so is useless until the rogue program gives control back."

That's not a problem on Linux with X and KDE. The menubar is in a separate process and X and the window manager control which app has focus. Apps can virtually misbehave as much as they want, but X and the window manager still control the screen. The single-menubar shows the menu for whatever app the window manager gives focus too, even if some apps are frozen.

Apple just has a poor implementation...even after all these years.

Single-point-of-failure is implementation problem

Posted Feb 26, 2011 15:56 UTC (Sat) by foom (subscriber, #14868) [Link]

I dunno what OSX he's using, but I've never had that happen in OSX...

In OSX, every process draws and handles its own menubar. If one process goes comatose, it will stop drawing its menubar when you switch to one of its windows, and so the menubar from the last process you visited will still be visible on the top of the screen (but, unusable because the process you just switched to is dead). If you switch back to another live process, it works fine. and handles its own menubar just fine.

Perhaps tshow gets confused because of the how you can have the dead process's windows in front, and it still looks like the menubar for another app should be active, while actually it's not. Or maybe his OSX really does somehow manage to wedge the entire menubar reguarly. That would presumably have to mean that the window manager itself was wedged.

Single-point-of-failure is implementation problem

Posted Feb 26, 2011 21:59 UTC (Sat) by tshow (subscriber, #6411) [Link]

> I dunno what OSX he's using, but I've never had that happen in OSX...

10.6.6 with all the updates except the latest iWeb patch. Hardware is Macmini4,1, 2.4GHz core2, 2G RAM. The only addons of note I'm running are TunnelBlick and the Kensington trackball drivers.

I've had both kinds of menu misbehavior. It probably doesn't help that I'm on a bottom-spec mac mini, mind you.

I regularly see "the wrong menu" as it were, where one program has focus but some other (wedged) program has drawn the menu bar. The program with focus usually works properly (including menu shortcuts), the menu just looks wrong.

For some reason, this often happens with programs used in conjunction with emacs; I'll have emacs up, but something else has scribbled on the menu. On the other hand, given how much time I spend in emacs, I'd bet there's sampling bias.

I also occasionally (maybe every 10h or so of flight time) have a program beachball and take the menu with it. When that happens, no menu shortcuts work at all, and the menu is usually incorrectly or only partially drawn. When this happens it doesn't seem to take the rest of the window management with it; I can still resize and move windows, open new programs and switch focus both with the clover-tab and by clicking (and with expose, for that matter), but keyboard shortcuts for menu entries don't work and the menu is often junk.

Mind you, it may be the mac itself. I've had some interesting problems with this beast. For example, it snow crashes my samsung monitors (isn't having a CPU in everything wonderful? Now even mundane things can crash...). That is, if the monitors are on when the mac shuts down, there's a roughly 10% chance that one or both of the monitors fill with what people familiar with analog TVs would call snow (though it's slightly more saturated than that). It takes a hard power cycle of the monitors to get them back. The linux boxes and the windows box don't do that, and they're all hanging off the same KVM. I've also gotten the snow crash a couple of times with monitor(s) plugged directly into the mac.

I've also had a couple of kernel panics, a few hard freezes (both the "only the mouse works" and the "wow, this looks like a win3.1 graphics crash from the early 90s" style... if my colleague wasn't getting similar results on his mini, I'd have suspected I had bad RAM or something.

Though maybe we both have bad RAM. It wouldn't surprise me; despite Apple's reputation for quality, when they drop the ball they can really drop it hard. See the debacle about macbook power supplies, for example; my old TiBook has reached the point where the power charger actually spits sparks and hits second degree burn temperatures when plugged in.

At any rate, yes, single point of failure is an implementation problem, but it's an implementation problem affecting the flagship of the global menu fleet.

Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds