Mac OS X is a wonderful operating system; it has a raft of innovative new features (like the dock), easy access to the power of Unix and all its industrial-strength serving applications (like Apache), the famous Mac ease of use, and some of the most delicious eye candy ever seen outside of a science fiction movie (hmmm... Aqua). But all is not perfect just yet.
One of the biggest and most oft-voiced criticisms of the new OS is its lack of speed and responsiveness. Despite all the good things about Mac OS X many users find themselves switching back to Mac OS 9 because they are frustrated. "Things are simply faster in 9", they say. "I spend half of my time watching the spinning rainbow (busy) cursor," they say.
In this edition of Hot Cocoa I will talk about some ways in which I personally have overcome these frustrations. The tips I offer here won't work for everybody, although they certainly will help some. I offer them to illustrate a larger point and hopefully to encourage people to persist with Mac OS X even if they feel that it is a barrier to their productivity at first. The point is this: often the best way to optimize a system is not to install the latest software shortcut, or upgrade to the latest hardware; rather, it is the optimization of usage habits that a user can make as he or she becomes more familiar with the operating environment. This takes time. Use Mac OS X for a week and you might decide that you hate it; use it for a month and you'll find dozens of ways to work around the things that annoy you; use it for three months and you'll have forgotten what it was like to work under 9 -- you'll be working in ways that you never even thought of before, and perhaps you won't even be seeing that dreaded spinning rainbow cursor at all.
So now, on with the show... I'll list the various things that I initially found frustrating about Mac OS X and then provide explanations of how I addressed the issues.
Complaint: I thought this thing had preemptive multitasking!
One of Mac OS X's selling points is that it has fully preemptive multitasking. This means that the machine will keep on chugging along even if one process wants to be greedy and hog the CPU. Movies will keep playing smoothly while files are decompressing; progress bars continue to update while menus are down; you can switch to other applications and work with them while other applications are launching.
Why this rainbow busy cursor all the time? This is the cursor that Mac OS X displays while the front most application is busy doing something and is not ready to receive user input. Users get frustrated waiting for it to go away because it impedes their workflow. "So much for preemptive multitasking; I seem to spend most of my time waiting!"
Solution: do some multitasking yourself!
Notice that even when the rainbow cursor appears that other apps continue to run smoothly under Mac OS X. Even if the Finder locks up for minutes at a time, you can mouse over the dock and note that the textual labels still pop up instantly and you can switch to other apps. Unlike under OS 9, the machine as a whole rarely locks up; it's mostly only individual apps that become unresponsive.
So the solution is to take care of the multitasking yourself. If one app is busy, switch to another and do something else. Run a lot of apps at once. Keep multiple tasks in progress at any one time. This might require a bit of adjustment to your usage habits, but it will be worth it. When I was using Mac OS X a few months ago I think I spent about a quarter of all my time waiting for the busy cursor to go away. Nowadays I spend only a few seconds each day waiting for it.
Complaint: The Finder is slowwwww!
Many people complain about the Finder's speed: Window resizing is slow; there are a lot of busy cursors; there are delays before new windows appear, and so forth. Given that the Finder is one of the most heavily-used applications in any user's arsenal this presents a bit of a problem. Many of the Finder's problems stem from the fact that it is written using Carbon rather than Mac OS X's much more mature Cocoa API. Apple wanted to show that it could "eat its own dog food" and code something major with Carbon; unfortunately for us, they chose one of the apps that we rely on the most. So how do we tackle the problem?
Solution: Reduce your dependency on the Finder
Painful but true: we have to reduce our reliance on the Finder. Learn to use all of Mac OS X's shortcuts and tricks for opening and organizing files. Use the "Recent items" submenu in the Apple menu as much as possible, or the recent items menus offered within individual applications. Put shortcuts in the dock (you could put applications in the dock, or a folder containing shortcuts to all of your favorite items). Learn to use the command line interface (the Terminal) -- some operations are much faster in it.
Make the most of docklings -- these are little apps which run in the dock and handle simple tasks like going to specific panes in the System Preferences application. Learn about third party tools, like the excellent DragThing -- some of these can be real time savers.
Finally, and most obviously, take the time to set up the Finder exactly as you want it. The first few weeks (and even months) you'll be rearranging icons, resizing columns and windows, agonizingly copying files and folders, and customizing toolbars. But once this is done, using the Finder should become more and more pleasant; especially seeing as you'll have developed so many other strategies for performing tasks that you won't need the Finder much anyway.
Complaint: Apps take ages to launch
Under Mac OS 9 the really big applications -- Adobe Photoshop, Illustrator and the like -- took a long time to launch but pretty much everything else launched very snappily. Under Mac OS X things are different. Apps like Photoshop are Classic apps and they can take more than a minute to launch if the Classic environment is not already running. Other (non-Classic) apps still entail seemingly interminable waits at times. People pass the time counting the number of dock bounces an app takes to launch.
Solution: Think "Unix"
Mac OS X runs on a Unix core and this has several implications. One is that many apps are slow to launch. I have used many Unix operating systems over the years, and although they boast amazing stability and reliability, their launch times are often disappointing. But what do they offer in return and how can we take advantage of it?
Obviously, if apps take ages to launch then we shouldn't launch them often. "Launch 'em and leave 'em," I say. Unlike Mac OS 9, Mac OS X's modern virtual memory system should enable you to leave as many apps running at once as you please. And because each app operates in a protected memory environment there are no stability issues to be fearful about with so many apps running at the same time.
If it takes a long time to launch an app, why not launch several at once? Under Mac OS 9 you could tell the Finder to open several apps and it would open then one at a time, in sequence. Mac OS X actually launches all of them concurrently, with very little speed penalty. Because Mac OS X offers a preemptively multitasked environment you can also switch to another app while you are waiting for another to finish launching. Try doing that with Adobe Illustrator under Mac OS 9...
The final aspect of Unix mentality that will be beneficial to adopt is "don't reboot." Once your system is up and running it will happily continue on for a long, long time. There's no need to worry about the system degrading and becoming unstable the longer it runs. Get your system up and then keep it up, if you can. I have a laptop, so unfortunately I have to shutdown whenever I am moving between locations -- but for other people, leave the machine up as long as you can bear it and you'll find your productivity increases (and as for electricity, er... what can I say?)
These are just some of the strategies that I have found myself using over the last few months living with Mac OS X as my full-time OS. I don't think I would've discovered them unless I had stuck with the OS despite all of its little annoyances. Persist. Be bold -- try new things. Open your mind to new ways of working and don't cling to your old habits. Learn keyboard shortcuts. Try new software. Share your knowledge with others (a great way to start is by leaving a comment on this article).
One of the most exciting things about Mac OS X is that it is only a beginning and is still a work in progress. I wrote this article because one of the shortcomings of the OS is that it is less responsive and speedy than we all hoped it would be. But thankfully for us, the future is bright: machines are getting faster, graphics cards are getting better, and Apple is working long, long days for us optimizing and improving the code of Mac OS X. Other developers too, are getting more familiar with the OS and are writing better and better code for it. If you're even mildly happy with the way Mac OS X is right now, imagine what you'll think of it this time next year...