Way back, when we were recovering from our hangovers from the millennium parties, Apple introduced, for the first time, Mac OS X and the Aqua user interface. This was still a preview, so it wasn’t quite as polished and finished, of course. It also contained a feature that never made it into the final releases: single-window mode. Or did it…?
Single-application mode
We’re speaking MacWorld San Francisco, January 2000. We’re all recovering from our debilitating millennium parties, or, depending on your score on the ‘n’ in OCEAN, trying to dig your way out of your emergency shelter. Apple was wrapping up the development of its next generation operating system, which was based on NeXTSTEP, and at MacWorld that year, Steve Jobs unveiled the new Aqua user interface for the first time.
He showed off all the things that we take for granted now in Mac OS X; sheets, the genie effect, shadows, transparency, the dock, magnification, and so on, and so forth. One of the features Steve Jobs made a pretty big deal of was the purple button. It would be reviled and hated afterwards, but the crowd cheared during the demonstration.
The purple button was a widget located on the far right side of every window’s title bar. It looked just like the red, yellow and green buttons, except that it was purple. The function of this widget was to switch between regular mode and what Steve Jobs called ‘single-window mode’.
When single-window mode was active (the widget was a toggle), only one window would be visible at any given moment. For instance, if you had three window open – a Finder window, a photo in Preview, and a document in TextEdit – you would only ever see one. If Preview was active, and you switched to TextEdit, Preview would minimise to the dock, and TextEdit would appear, both using the genie effect. Jobs claimed this feature was for new users, but that advanced users would love it too.
It was not particularly loved by testers of the early preview releases of Mac OS X. Apart from whether or not it was useful, people said the implementation was wrong. In his February 2000 review of Mac OS X Developer Preview 3, John Siracusa wrote that such a function, whether it is applicable to a small group of people or every user, should not be located on every window throughout the entire operating system. Siracusa likened it to having a system-wide volume control located in every window.
Speaking of DP3, if you have a copy lying around, install it on an old G3 or something and hit ctrl+alt+delete
in the ‘About Mac OS’ window. Hilarity ensues.
In any case, as soon Mac OS X hit public beta, the purple widget was gone, and so was single-window mode. Or was it? Lewis Butler did some digging around, and found out that single-window mode still exists in Mac OS X today – albeit in a slightly different form. You can enable it using the following terminal commands:
defaults write com.apple.dock single-app -bool true<br />
killall Dock
To disable:
defaults delete com.apple.dock single-app<br />
killall Dock
You’re now running in what’s left of single-window mode. As you can deduce from the terminal command, this is strictly speaking not single-window mode; it’s actually single-application mode. This means that instead of ever only one window being visible, you’ll have one application visible at all times – including all of its child windows. This means that the genie effect will no longer be used, so application switching is all a bit jarring, especially if you have multiple windows open per application.
The “feature” is not very pervasive; it’s completely tied to the dock. Only if you switch through the dock will you see the detailed behaviour. If you switch via any other means, such as Exposé, command+tab, or even clicking another visible application’s window, Mac OS X’s regular multi-application approach takes over.
I actually played with this feature for a while on my non-Apple labelled computer (it runs Plex as a media centre in the living room, connected to my TV), and I must say that it is actually kind of useful. I think it really depends on what your regular means of application switching and starting is; if you use the dock for that, you’ll find this feature annoying. If you are like me, and use Exposé for switching and command+space for application loading, and never really touch the dock, then this feature turns the dock into a handy anti-clutter device.
I’m guessing it can also be handy for those of you who choose to exercise your rights by running Mac OS X on a netbook. On such a small screen, this single-application mode could prove to be useful.
Window layering
As a side-note, the single-window mode versus single-application mode is an interesting extension of the debate that reared its head when Mac OS X first arrived in the hands of eager testers. In Mac OS 9 and earlier, windows were layered in groups based on application; in Mac OS X, this changed to layering on a per-window basis. A lot of Mac users were not particularly thrilled about this change.
When windows are layered per application, all child windows of an application will be brought forward when you switch to that application – not just the window you clicked on. Mac OS X is currently a bit schizophrenic about the whole thing; clicking on a dock icon will bring all its child windows to front, whereas using Exposé or clicking on a window will not.
When windows are layered per window, it means that windows belonging to different applications will interleave with one another. This can most certainly be more confusing, because it presents you with no option to narrow your search for a particular window. In a per-window layered environment, the list of windows is a linear one, whereas in a per-application environment, any click inside any window will reduce the number of window choices dramatically. If you regularly use a lot of windows belonging to a lot of different applications, there might be something to say for per-application based window layering.
This little bit of computer archaeology is quite fascinating. Who knows what other features lie hidden beneath that candy-coated Aqua surface?
Interesting, but you don’t really need this feature to tidy your workspace, Thom. Hitting cmd-opt-H hides all applications except the active one. Also, I found that holding down cmd + opt while selecting an app from the Dock enables this single-app behavior for this one click.
I would like it as a setting. I am guessing that a large number of OS X users are on laptops. So there are times when Spaces feels right and other times like XCode/Interface Builder when it feels like a kluge. Generally Speaking the App Pager from GNOME feels right b/c it is expected and Exposé/Spaces feels like it just yanked Textmate or whatever out of my view just to switch view on me. but it really depends on what you grew up on.
At the heart of it I suppose is the difference between Document Centered and App Centered views and who prefers them. Yeah I have the Cmd-H Cmd-Opt-H commands wired. But this ‘feels’ like what I want the OS to do. Unfortunately if this was a natural setting then I suspect it would turn into AppCentered/DocCentered drama. Usually I am running >= 6 and often up to 15-17 apps so much so that i would have spaces on the F-12 key instead of the Dashboard.
For the Mom and Pop users (and this is all the Unix they need) this might be a confusing setting – no matter what the options are. They would see apps jumping up and backing/blanking out. But for designers and developers this either feels right OR turn it back off.
Apps I am running now. Finder, XCode, Mail, OmniWeb, Textmate, Omnifocus, NewsFire, Interfacebuilder, MIGHT ALSO RUN Delicious Monster, iTunes, iCal, any 2 other iLife Apps and any 2 or three other browsers
There is a free app called Think that does all this, and has many more options.
Speaking of DP3, if you have a copy lying around, install it on an old G3 or something and hit ctrl+alt+delete in the ‘About Mac OS’ window. Hilarity ensues.
What hilarity would ensue? Some sort of anti-MS chucklefest, or cause a crash in their beta software?
Posting a lmgtfy link would be a bit lame.
http://lmgtfy.com/?q=ctrl+alt+delete+mac+os+x+dp3
Sorry, but I don’t find that funny.
You referenced it so you could at least linked to a site yourself for the benefit of us who don’t have a copy of DP3 (which is going to be most of your readers).
You did it for the psychology term, so why change tact on a reference that actually had some relevance to the article?
This was, unfortunately, nonproductive. The best article I could find from that search was:
http://arstechnica.com/reviews/1q00/macos-x-dp3/macos-x-dp3-4.html
which referred to two “easter eggs”; one, “mashing” all the “modifier keys” and selecting “About Mac OS” and the other pressing ctrl-alt-del from the login screen.
The article refers to pressing ctrl-alt-del from the “about Mac OS” window, however. That behavior wasn’t described.
The funny thing for me about that, is that this story is like the fourth link returned. Osnews needs to work on its google ranking so it can create the ultimate LMGTFY experience. The link could then bring up google with a link back to the article you posted the lmgtfy on it.
Turtles, all the way down!
the one thing i really wished os x had is a tiling wm. i miss awesome and wmii. I use spaces in a somewhat similar fashion, but its still annoying to have to use the mouse to resize windows.
Or at least use that fourth button to MAXIMIZE windows (and i really mean maximize as in cover all space) at least. Apple, can we have a fourth “maximize” button please?
In the linked series of videos in which Jobs introduces Aqua at MacWorld, he actually CALLS it a maximise button. Fun, huh?
There is a freeware app called RightZoom that enables the green button to be a true zoom. It only works in native Cocoa apps but it’s a welcome feature! Download here: http://www.blazingtools.com/downloads.html#RightZoom
The zoom feature is actually rather nifty, and i wouldn’t want it gone from OSX, but rather to have a maximize button too. An alternative would of course be if apple implemented maximizing on cmd clicking the zoom button, like you can with right zoom.
I particularly like the fact that when i click the “green button of mystery”, itunes switches to the mini player – wow, apple, that just what i expected it to do (not)
That’s funny!
A fourth button would be kinda overkill I think, but Apple needs to fix the green button asap. I don’t care if it maximizes or if it resizes to fit content or whatever else a button could do, just pick one function and use it consistently.
That’s true. Consistency is what most users expect.
However, it is not easy to achieve that in Mac these days.
The main problem is “behavior”. Cocoa framework provides “behavior” associated to the programming model, while “Carbon Applications” do not.
If all Mac apps were Carbon, the things would be easy to fix, but Office, CS, iTunes and many others, are still old school programming.
I have been using single window (or rather a single document) mode in my tiling wm (awesome) for several years now – see http://www.alte.ru/awesome/ to get the idea. I can tell you that on small screen this approach just rocks in terms of usability!
I dont know who had the idea first or implimented it first, but that would be like aero shake, but with much less effort on the users part.
Can somebody explain to me what Single-Application Mode is? Sorry for the stupid commentary, but this term somehow makes me think that it is about very minimal embedded operating systems.
Edited 2009-10-11 08:49 UTC
When you click on the application in the dock, only one application window is shown at any one time. For example, if I have Safari and Terminal open, when I click on the terminal button the dock the terminal window comes to the front and the safari window disappears.
I’m personally confused as to the usefulness of it.
NeXTstep and Mac OS X have a concept of hiding running applications, which is different from minimizing. When you choose to hide an app, all of its windows disappear from screen, but are not minimized to the Dock. When you switch back to the app using cmd-tab or by re-launching it, all non-minimized windows become visible again, on top of other running applications. This works the same whether or not the app was previously hidden. What the single application mode does, is simply to automatically hide all other applications when you select one from the Dock. Hide Others is a standard feature available from the menu bar of any NeXTstep/OS X application.
How does it relate to virtual desktops, as in Gnome, KDE, Fluxbox etc which seem to do the same thing but more controllably. Or is this missing the point of it? If you have as many desktops as you want, and can create as many more as you need on the fly, why do you need to have only one app or document available on one particular one at once? Just move the others to a different desktop.
Or is this missing the point?
That’s exactly the point: with single application mode, you don’t have to move anything anywhere. Single application mode is useful if you want to concentrate on a certain work or app (e. g. writing or designing) or if you want an uncluttered view on apps (e. g. when doing drag and drop operations between two or more apps – in single app mode you start dragging, then switch the app, then drop without having to deal with unrelated windows).
With virtual desktops (or what MacOSX calls Spaces) you can ’emulate’ single application mode, however this is way too cumbersome compared to single application mode in a “one app at any time” scenario.
Virtual desktops have an advantage for other usage scenarios e. g. where you work with groups of apps which are completely unrelated (e. g. a desktop for the mail client and one for a group of media production apps needed in a workflow).
I cannot imagine many scenarios where virtual desktops are more useful than other features of MacOSX (single app mode, Exposé) and I guess that’s why the virtual desktops feature appears so late in the development cycle of MacOSX.
i’ve been using single app mode for a month now. i love it, the computer feels considerably faster and everything is task oriented instead of slopping all over the place.
so now instead of seeing 2500 things open on my desktop when i’m working i just see each task as i’m doing it or group tasks together like when i’m deploying a rails app i have versions and 2 terminals open and that’s all i see.
it’s really helped clear my head and focus on what i need to focus on.