Crouching Tiger Hidden Productivity

Introduction

I’ve been using Apple’s Mac OS X 10.4 Tiger on my Apple PowerBook since nearly a month now….. I can’t help but think “this is how computers should be”.

I’m trying to understand and jot down my thoughts on why it has made me more productive and why it is such a pleasure to use.

Disclaimer

Note that whatever I am writing here is from the point of view of a Linux user and a non-geeky one at that too. I like using Linux  because it gives me many advantages and features that are suited to me but I don’t compile kernels or ./configure every application that I want to install. I’m not an advanced user by any means (see my blog’s tag line for more information).

What is Mac OS X ?

For the uninitiated, what is Mac OS X? Well, Mac OS X is the operating system (similar to Windows) that runs (only) on Apple Macintosh computers.

Mac OS X 10.4 Tiger is claimed to be the “most advanced operating system in the world”. Hmm, not quite. Why? Because it is more like a Linux distribution rather than a core operating system like Windows. Distributions contain lots of applications bundled so that you have almost everything you need when installing a distribution. On the other hand, when you install an operating system (in the true definition of the term), you need to install all your required applications separately such as photo software, bluetooth software, calendar, addressbook and email applications, office suites, DVD player software and so on. Tiger has most of this stuff as part of the system, these applications are not core of the operating system but are certainly central to getting your work done.

The lines are certainly blurring about where an operating system starts and the applications begin. For example, Microsoft Longhorn (the next generation of Microsoft Windows) is adding RSS capabilities to the core system which also means Internet Explorer (following the example set by Firefox and Safari browsers).

User Experience

First and foremost, every user expects the computer to be simple and usable. Needless to say, Mac OS X is miles ahead of the competition here. Simplicity just oozes out of the system. I find that aspect more appealing than any other “feature”.

For example, there is no Start menu and there is no taskbar. To run applications, open the Finder application (which is sort of like Windows Explorer), click on Applications folder and then double-click the application you want to run. Browsing your hard disk follows the exact same paradigm. Notice, that applications are treated just like files and are no different.

Under the hood, applications are just folders with .app extension – they show up as “applications” in the GUI. It can’t get more simpler than that and retains the Unix tradition of ‘treat everything like a file’.

Without a taskbar, how do you see what all you’re running? Press F9 and it shows you all the windows that you are running, and you can select the one you want to look at. There are keyboard shortcuts to cycle through applications as well as cycle through windows of the current application.

That reminds me that Mac OS X makes a distinction between application and windows of the application. For example, if I can start the Safari browser and close the window that opens up, the Safari application is still running. I can press Command-N to open a new window and continue. To completely quit Safari, you have to press Command-Q. This paradigm is consistently followed by all software. One of the advantages of this approach is that opening new windows are a snap compared to opening the full application every time. Also, you can have applications running even without a window open, such as the iTunes music player.

The Help functionality has radically improved over the previous Mac OS X 10.3 “Panther” where it used to take 6-7 minutes to just open! In Tiger, it opens instantly and the find functionality makes it really usable. I know that most developers sneer on the mention of documentation, but I feel a good to-the-point documentation is very important and has certainly solved many issues for me as a user.

The Devil is in the details

There are many applications that come with the Mac OS X such as the iCal calendar application (which I particularly like), QuickTime audio/video software, iTunes music player, Mail application, iPhoto photo software, Garage Band professional music-making software, iMovie HD for making home movies, etc.

What I like in most of them is the level of attention to detail. Mail.app is a good example. Mail has threads like every other modern email client, but what made it useful for me is the ability to move threads (which I was never able to do in Thunderbird). Similarly, the preferences section is to-the-point and makes it very easy to add new accounts, etc. without confusing the user.

Another thing I really really liked was the Activity Viewer. Press Command-0 (command-zero), and it pops up a window which shows you exactly what Mail is doing. You can even cancel operations in this Activity Viewer.

Keyboard shortcuts are a different story, though – Command-Shift-D for sending email is not very convenient.

Built on Open Source – great for developers

Remember that I mentioned that Mac OS X retains Unix traditions? That’s because it is based on BSD Unix. The core of Mac OS X is open source and is called Darwin. Mac OS X builds on top of Darwin and adds many features like the GUI and many other technologies.

This is undoubtedly appealing to many people like me, and is certainly one of the reasons that lot of researchers and students are switching to Mac OS X. As Paul Graham says:

If you want to know what ordinary people will be doing with computers in ten years, just walk around the CS department at a good university. Whatever they’re doing, you’ll be doing.

Mac OS X has many open source software that comes as part of the system including programming languages such as Perl, Python and Ruby. In fact, Mac OS X makes a big list of open source software part of the system including SQLite and wxWidgets and even Apache!

If you think Apple only takes from open source and does not give, you are mistaken. For example, Apple has something called kdrive that makes rendering of the screen very fast (which is why it is called an accelerator). This has been provided as open source and now Trolltech is porting kdrive to X.org to replace the existing outdated accelerator architecture which will make composition managers like xcompmgr really fast and able to do some of the ‘display tricks’ Mac OS X has been doing for awhile.

Apple has also recently made WebKit a fully open source community-involved project. WebKit is based on the open source KHTML and other KDE-based technologies. WebKit is the core of the Safari browser and other technologies that are part of Mac OS X. What’s remarkable is that Apple has managed to make it platform-independent and enabling  Nokia to port it to their Series 60 mobile phones!

MS-land is nearby

If you really need MS-office, there’s the official Microsoft Office on Mac.

I have Windows Media Player 9 for Mac installed so that I can see all those great Channel 9 videos.

Integration – great for everyone

Spotlight

What makes Mac OS X wonderful is the integration of all the parts. The best example is Spotlight – the search engine for your desktop. Spotlight, by itself, was not impressive for me (you already have Google’s and Yahoo!’s version of it for Windows, and you have Beagle for Linux). What did impress me was the integration into the system. For example, I was browsing my Music directory in Finder and I wanted to look for that old song that I had made a few years ago. I just searched for my name in the search tab and voila, Finder/Spotlight fetched it for me in a couple of seconds!

Screenshot of Spotlight integration into Finder

The next thing I discovered about Spotlight was that there are hooks built in to Mac OS X such that every time you close a file after editing it, Spotlight comes into action instantly and indexes it. As a result, I was able to search in Spotlight for the email that dropped in my inbox a mere second ago.

Spotlight also provides a command line client called mdfind which you can use to search for files in shell scripts.

iPhoto and Mail

Another good example is iPhoto and Mail. In iPhoto, I can select a few photos, and click on Share -> Email, it automatically creates a new mail with the resized photos (to save bandwidth; and it is configurable) and all I have to do is enter the email address and click on Send. I haven’t found a similarly easy tool on Linux or Windows.

Not impressive? Well, Share -> Burn Disc writes to a CD in a couple of clicks.

The “Just Works” factor

Bluetooth is built-in to the system. Just click on the icon in the top bar and and click on ‘Set up Bluetooth device’ and voila! You can start transferring files from/to your bluetooth-enabled mobile phone. It works with printers, mice, etc. in the same manner.

Plug in your digital camera into the USB port – iPhoto starts up, click on ‘Import’ and you have the photos on your computer.

Plug in your iPod and iTunes opens up the same way. This one works seamlessly because Mac OS X, iPod and iTunes are all from Apple.

Software management is easy as well. The Windows-style installers are used, otherwise it is a simple unzip, double-click and run style of working. For OSS lovers, Fink allows you to apt-get install anything for Mac OS X. If you ever want to get rid of Fink, just do rm -rf /sw and you have a clean system again. Now, that is really cool. (Note that you have to install Fink separately)

If you download a zip file using Safari, it automatically unzips the archive for you and puts it in a folder.

PDFs are part of the system just like text files. The Preview software makes it a joy to read PDFs. Also, the Quartz rendering engine is based on PDF technology, so the rendering is lightning fast. In the print dialog of any application, you can choose to create a PDF.

Dashboard and the Dictionary

The dictionary feature is usually ignored by most people when they talk about Tiger, but it is one of those small but incredibly useful things for me, especially when combined with Dashboard. Dashboard is like a separate desktop that runs whenever you open it. You have “widgets” running in Dashboard that are like mini-applications. If I just move the mouse to the lower right corner (as per my settings), Dashboard opens up and I click on the dictionary widget and start reading meanings of some words I came across while reading. Similarly, I use the calculator and the Wikipedia widget in the Dashboard.

The flip side

Not everything is hunky-dory though. For example, in the print menu, if I click on Mail PDF, it used to give me an ‘unknown error’. It was fixed when I upgraded to Mac OS X 10.4.1, though. There are a few glitches here and there but I haven’t hit a roadblock yet.

Help

The Apple user forums have been very helpful to me. There are tons of sites out there with useful info including MacZealots and MacDevCenter.

Concluding remarks

There is a much more to explore but I’ll stop here for now. The combination of Mac OS X 10.4 Tiger and PowerBook has been an incredible experience for me, I have truly begun to appreciate the value of good design and attention to detail.

It also has made me believe that computers can work as you would expect them to, and it doesn’t have to be hard to get your work done.

Relatedly, I’m looking forward to a Leopard vs Longhorn vs Linux comparison next year.

Further reading material

Update : Added MS-land section