"The best way to have a good idea is to have a lot of ideas.."
-- Linus Pauling
The Mac OS X interface needs a new working mode. This article describes a fundamental problem and how to solve it with current Mac OS X technologies.
For most casual Macintosh users, the concept of workflow on the Mac OS X desktop isn't an issue. However, for professionals who use a lot of applications at once, display real estate and workflow start to become an issue. That's because, based on the typical application size, the acuity of the human eye, the Mac's display scale in pixels per inch, and typical display sizes, lots of applications start to crowd the screen. That's why many MacBook users, when at their desk, attach a second display.
For example, here's a list of the apps I typically use every day to get my job done:
- Apple Mail
- Vienna (RSS Reader)
- Today (iCal summary)
- World Clock
- Graphic Converter (as needed)
- Image Well
- Address Book
- iTunes (background music to soothe the writer's soul, of course.)
Orchestrating these apps on my MacBook Pro and 23-inch Cinema displays, even with Spaces (and Hyperspaces), is a continuing challenge. At first, I thought I needed a third display, which is possible with the Gefen USB to DVI converter -- if the apps on the third display don't tax the CPUs too much.
Then I started thinking about what the real problem is, and it dawned on me. Stay with me here.
On computers, we humans do two kinds of multitasking. The first is spatial multitasking. That's when we use different parts of the screen, that is, different apps at the same time. For example, when I was doing afternoon news here, I needed to have BBEdit open next to Safari. Vienna would lead me to a news story, I'd read it in Safari, and compose my story in BBEdit right next to Safari. I needed to look at both -- that's spatial multitasking.
The second kind of multitasking is time sliced. That's when one changes modes in time to do a new task. For example, I'd get a phone call, set up a meeting, and have to launch iCal to enter the data. When that task was done, I returned to my editing.
If we think about groups of applications that work in harmony with each other, we see that spatial tasks are interrupted from time to time by time sliced tasks. It looks like this:
Spatial Tasks Interrupted, Resumed Over Time
Mac OS X is completely incapable of differentiating between spatial and time sliced tasks. As a result, we tend to have lots of apps open -- somewhat organized on multiple displays. It's left to the user to mentally juggle spatial and time sliced tasks by bringing the appropriate application to the foreground at the right time. That's a lot of wasted mouse clicks, mental focus juggling apps and wasted time forcing apps to the foreground where they often overlap. The computer can help.
In the process of trying to solve a vaguely recognized problem, Mac OS X and the Finder have come up with a variety of band-aids: Spaces, Application Switching (CMD + TAB), hiding apps (CMD-H), and so on. But we already have a better model...
The iPhone Approach
The iPhone does a beautiful job of synthesizing time slicing and spatial multitasking. When you select an app, you work for a time and are constrained, spatially within the app -- which is essentially the iPhone's display. When done, you hit the home button, and move forward in time to select the next task, say, check the weather.
Recognizing that a user can only do one thing at a time on a handheld, the iPhone basically enforces a workflow that intersperses spatial tasks in time. It looks like this:
iPhone Time Slicing is Enforced
Whether the Apple engineers understood the underlying principles of these two kinds of multitasking or were simply led down a path through iPhone technical limitations and instinctive genius has not been revealed. What's clear, however, is that that kind of work flow management hasn't made it into the Mac OS X Finder.
Rescue: Glimmer Mode
One way to solve this problem is to logically group applications together that depend on spatial multi-tasking and trigger all of them to the foreground with a voice command. It's a kind of super-iPhone mode. Right now, because of the way AppleScript events work, voice recognition is constrained to trigger events within an application. ( I could be wrong.)
For example, let's group the applications above spatially. That means apps that must be seen on the screen together to complete a task. This example is arbitrary, and your own set will be different.
- Apple Mail
One-way Information and Editing
People, Time and Events
- Address Book
- World Clock
- Today (or iCal)
System and Filing
- Image Well
- Graphic Converter
Next, one ties a keyboard shortcut or a very simple voice command to each of these sets. When triggered, they all come to the foreground, and when dismissed they all disappear (not just move back, cluttering the screen.)
It would look like this if I said "Comm."
I Say "Comm" and the Suite Overlays Current Suite
Notice how a suite of apps, (Mail. Twitterific, iChat), in a pattern I can define, overlays the current suite of Safari and BBEdit. When I'm done, I say "Done," and the suite goes away.
Here's how saying "Time" would look in my case. It includes World Clock. Today, and iCal just as an example.
When I say 'Time," a new Suite Overlays
I call this Glimmer Mode because suites of apps come to the front in the same layer, glimmer, do their job, then disappear completely.
The Legal Stuff
I get paid to come up with ideas, lots of ideas, so if an enterprising developer wants to create an app that supervises this kind of activity, I'd be pleased to see it. I think the technology is readily available in Mac OS X frameworks. If the current combination of OS X tools allows the user to concoct such a methodology, I'd like to hear about it. If not, I think it would be better if it were incorporated into the Mac OS X 10.7 (Lynx?) Finder. However, Apple may not want to to that because it would make extra displays unnecessary and eat into Apple's display sales. In the end, a developer may need to tackle it.
Let me know what you think.