GarageBand 2 and other iApps: Single-window interface problems still not solved

Posted by Pierre Igot in: GarageBand, iPhoto, iTunes
February 25th, 2005 • 12:57 am

A while back, I wrote about the problems with the single-window interface used in GarageBand. In a nutshell, one fundamental problem is that GarageBand still uses the “document window” paradigm — complete with Close, Minimize, and Maximize buttons in the window’s title bar and with a “Window” menu in the menu bar — even though you can only ever have one document window open at any given time.

This inevitably leads to all kinds of non-standard behaviours. In GarageBand 1.x, for example, when you closed a document window — the document window, as a matter of fact — instead of just staying open with no document window open, GarageBand would automatically open the “Open File” dialog box, in order to make the user understand that GarageBand could not be used without a document window open.

Obviously, Apple realized that this was a bit of a problem — so they’ve changed things in GarageBand 2. Now, what happens when you close the current document window is that GarageBand opens this weird, non-standard window with two buttons inviting you to either create a new project or open an existing project.

Is this an improvement? Hardly. For example, like all other document-based applications, GarageBand has an “Open Recent” menu item in its “File” menu. This “Open Recent” menu item gives you access to a submenu listing the most recent GarageBand projects you’ve been working on. You can thus directly open one of those recent projects without going through the “Open File” dialog box.

The trouble is that this “Open Recent” menu only works when a document window is open. If you close the document window and GarageBand 2 reverts to this non-standard window with the two buttons, the “Open Recent” menu item in the “File” menu stays active, but the contents of the “Open Recent” submenu are entirely disabled!

In other words, when the non-standard window with the two buttons is open, the user cannot use the “Open Recent” feature. This doesn’t make any sense at all. It is precisely when GarageBand 2 is in this state where no project is open that the user might want to open one of the projects he’s recently worked on!

Dear oh dear. Sometimes you really do wonder what goes through a software engineer’s head.

Yes, the fact that GarageBand can only have one project window open at any given time makes it different from other document-based applications. But then GarageBand engineers need to assume responsibility for this non-standard behaviour and design an interface that makes sense! This makes no sense whatsoever.

Clearly, Apple engineers are struggling with the interface for single-window applications, because the standard application design in Mac OS X includes a “Window” menu (which assumes that there can be more than one window to list in that menu), a “File” menu with a “Close Window” command, etc.

Here’s a quick review of other Apple applications that are single-window based and how they behave in Mac OS X:

  • GarageBand 2: As we’ve just seen, when the user closes the main window, GarageBand opens this non-standard window with two buttons inviting the user to either open an existing project or create a new one. And the “Open Recent” menu is disabled, even though this application state is precisely a state where the user might want to use this menu.
  • iPhoto: If the user closes the main window, iPhoto quits!
  • iTunes: If the user closes the main window, you have to use the special “iTunes” menu command in the “Window” menu to reopen the window. Alternatively, you can click on the iTunes icon in the Dock, which somehow also forces iTunes to reopen the main window.
  • iMovie HD: Same as with GarageBand 2. If the user closes the main window, iMovie opens this proprietary window with three buttons: “Create a New Project“, “Open an Existing Project” and “Make a Magic iMovie“. But at least in iMovie the “Open Recent” menu still works!
  • iDVD 5: Same as with iMovie HD and GarageBand 2. If the user closes the main window, iMovie opens this proprietary window with three buttons: “Create a New Project“, “Open an Existing Project” and “OneStep DVD” (two verbs and one noun — more inconsistency, Apple). And the “Open Recent” menu does not work either!
  • iSync: If the user closes the main window, iSync quits!
  • Image Capture: Similar to iTunes, except that the window can be reopened through the “Devices” menu instead of the “Window” menu.
  • Mail: Mail actually supports multiple “Viewer Windows“, even though it’s mostly a single-window based application. So for this particular application, the multiple document windows interface still works — sort of.
  • System Preferences: If the user closes the main window, System Preferences quits!
  • Address Book: If the user closes the main window, Address Book stays open and the main window can be reopened through with an “Address Book” item in the “Window” menu. It is similar to iTunes, but with yet more inconsistency: In Mac OS X applications, the bottom section of the “Window” menu is supposed to list currently open windows. In Address Book, it always lists the main “Address Book” window as an open window, whether it’s open or not.

Shall I stop here? This is really quite embarrassing for Apple. In single-window applications, it’s far too easy to close the main window by simply clicking on its Close button — and then what? Well, as this list demonstrates, things are completely inconsistent. Some applications will quit automatically. Others will stay open with no obvious way to reopen the main window. Others will stay open with a non-standard window with various choices. Others will stay open and the main window can be reopened through a command in the “Window” menu or elsewhere in the menu bar.

I don’t call this a word-class UI. I call this major interface inconsistency and unpredictability.

6 Responses to “GarageBand 2 and other iApps: Single-window interface problems still not solved”

  1. Warren Beck says:

    When its windows was closed by the user, System Preferences used to maintain its menubar and presence on the dock, but there was no way to re-open the window. So the user had to manually quit and restart the program if he wanted to get the window opened again. I think this behavior was the way it was under Mac OS X 10.2X (Jaguar). The current behavior is obviously a kludgy way to avoid the user’s natural confusion with the previous behavior.

    As you have noted, the developers at Apple no longer do a good job thinking about the user experience, nor do they respect the interface guidelines that were once in place as the law under Mac OS 9.

    I think that if an app’s window has a Close button, then it should have a file menuchoice that opens the app’s main window. Under no circumstances should the app quit if the close button is clicked. That’s the behavior under Windows, where each window is a process that disappears once the window is closed. The Mac model is application oriented, so there is no reason that an app has to have an open window.

  2. Jussi says:

    As System Preferences did what it did under OS X 10.2, people were complaining that it was against the Aqua HIG[1], Apple corrected the problem for 10.3 and now another set of people are complaining about it.

    The HIG states that document based applications should not quit when the last window closes, others should if appropriate. The current revision of HIG is even using System Preferences and iTunes as an example. (see Windows -> Window behaviour -> Closing windows)


  3. Warren Beck says:

    Well, the Aqua HIG is bogus, then.! :-) Besides, it essentially says that the app can do whatever it wants, whatever is “appropriate.”

    As I stated above, the rational thing is to respect the application oriented nature of processes in Mac OS X and let the user decide when the app should quit. I especially dislike the Windows way (window-oriented processes), which results in a big surprise when the app quits when I accidently close the window.

    Pierre’s point above, I think, is that even Apple isn’t rigorously following any guidelines when it produces apps with a random set of interface behaviors. This makes the user experience _incoherent_ by definition.

    The Mac OS 9 environment had its limitation, for sure, but it was at least coherent (consistent) in its behaviors.

  4. Pierre Igot says:

    Thanks for digging out the HIG reference. However, as Warren says, the key thing here is consistency/predictability. If the HIG can’t provide this, then it’s no good.

    The core problem here is that most Mac OS X applications are built using a basic “shell” that includes a File menu with Open/Close commands and a Window menu with “Bring All to Front” etc. This shell doesn’t make much sense in the context of a single window application. What’s the purpose of having a Window menu in GarageBand, when the only window that’s ever listed in that menu is the project window? (All the palettes/inspectors are brought to the front automatically when the application itself is brought to the front.)

    And the problem is that, once this shell is used, it includes a Close command, which needs to be handled consistently across all single-window applications. Using the various iApps, I can see a pattern emerging: applications where the single window is actually the environment in which a specific project is displayed have this non-standard window that they fall back on when the project is closed. The problem with these applications is that the reason why they have a single window is only because they are not powerful enough to handle work on multiple projects at the same time. In contrast to those, an application such as System Prefs only has one window because that’s the way the application is designed, because it’s not a project-based application.

    It’s also a distinction between “small” applications vs. large applications (which can take a while to load). It would be very frustrating if iMovie/GB/iDVD quit when you close the main window, because launching the application takes a while. OTOH, System Prefs launches quite quickly. It’s a bit like the old Mac OS distinction between applications and “system accessories” (which would quit when you closed them).

    But even if we accept this distinction, it still doesn’t explain why System Prefs quits and Address Book doesn’t. And it still doesn’t justify that the Open Recent is not working in GarageBand and iDVD (which is a bug IMO).

  5. Pierre Igot says:

    Back in the pre-iPod days, you could argue that Apple didn’t have the $$$/resources to work on fixing bugs and flaws as opposed to adding new features… But now, I think Apple has been making handsome profits for a while, and could definitely afford to devote a bit more time/$$$ to fixing these flaws, improving consistency, predictability, etc.

    I, for one, am very glad that Apple is still innovating and working on providing Mac users with innovative and exciting tools such as GarageBand and Pages. I certainly do not want them to stop doing that. But at the same time they should definitely try and fix at least some of the many outstanding problems with OS X.

  6. Jussi says:

    Yes, Pierre’s points in behaviour of GarageBand and some others were very good and valid. I’m sorry for not stating that in my previous comment, I was a bit in hurry.

    I just wanted to point out that Apple changed the way System Prefs work after people complained. There was an interview with an Apple boss before the release of Panther where he was asked about the behaviour of System Prefs, he stated that, true it’s a bug, we’ll fix that. Unfortunately I am unable to find the article right now. I do not remember completely how it worked in Jaguar, I remember that the application did not quit, but I do not remember the problems Warren stated. Maybe I’ve just forgotten the bad things.

    It is true that Apple is being inconsistent and seems to be reinventing their own Guidelines and not to follow the Aqua HIG. It is quite sad, given their quite good record of eating their own dogfood, like using Cocoa, WebObjects and other technologies rather extensively in-house.

    I am not sure what to think about the thing, in some cases i find it good that the application quits (calculator, system preferences etc.), but on other hand I hate when Windows Media Player quits when the last window is closed. I’ve programmed some small applications for OS X (primarily just for my own use) and I’ve chosen that them to quit after the last window is closed.

    It’s too bad Apple isn’t making proper quality assurance of the GUI of OS X (and its/bundled applications). There are tons of small and medium size, easy to fix bugs around. It would just take a few people to find and document those bugs and a some will of fixing them. But I guess we are not going to see that, also the Dock is still around unfixed. To me that says that Apple is more interested in a flashy looking, easy to demo GUI than an usable GUI.

    Sure the GUI is arguably more usable than anything other that is around at this time, but, given the competition, not Apple nor the users should be content with that.

Leave a Reply

Comments are closed.