There, did that grab your attention? Good. I doubt the situation is that bad for most users, but for me, it certainly is. And regardless of how good or bad any one user's experience may be with Tiger, legions of reports around the web clearly peg this as Apple's buggiest release in recent history. Apparently marketing and dependencies of other products got the best of them, and Apple let this cat out of the bag before it was cooked (how's that for mixed metaphors?).
This post is a combination of a review and a rant about my particular woes with Apple's latest and not-so-greatest product. If you want to read a real review (and learn a metric ton of information), check out John Siracusa's Tiger review over at Ars Technica. It took me 2 or 3 hours to get through, and I came out about 3 times smarter than when I started. No joke! It has to be the most in-depth, informative technical review I've ever read. Most reviews on the net read like a verbatim copy of Apple's advertising materials, going over the major features with oohs and ahhs sprinkled about. This one gets to the real meat of things. Siracusa knows what he's talking about, and he needs to work at Apple. The thought of an operating system with his suggestions incorporated is mind-bogglingly enticing!
Anyway, I was looking forward to a number of new features and improvements that were promised with this upgrade: Spotlight (finally, instantly search your files and their contents), Dashboard (utility programs available at the touch of a button? sounds convenient), and of course many purported improvements in performance. In a trend that totally flies in the face of industry standards, each release of Mac OS X has gotten faster than the last, running better on old hardware and new alike. With Panther, my 3 year old (and bottom of the line at the time) PowerMac felt like it wouldn't need to be replaced for another 5 years. And it was about to get even faster? Sign me up!
Like a good little computer user, I waited for others to take the plunge first. The cult of the Apple is well known around the technology world, and there would be plenty of rabid fanboys willing to sacrifice all their important data in the name of testing for me. An army of food tasters for the King, if you will.
Days went by after the public release of Tiger, and while many little bugs were reported, very few showstoppers seemed to be there. Nobody's machine had spontaneously burst into flames, and no terrorist attacks were incited by the new operating system. The Mac faithful had collectively given me the green light, so I dove in. I backed up all of my critical data and made a second copy of my Library folder (it's where all user preferences and application data is stored). That way, in the unthinkable event that Tiger wanted to help, I could still go back to my trusty Panther. I gave Tiger its own cage on a separate disk, and let it come to life via a clean install.
This new cat was indeed impressive. After stretching its legs a bit, Tiger moved with a fast and nimble grace that Panther and its predecessors did not possess. Application startup, window drawing, web browser rendering - all noticeably faster. Tiger was also smarter than its little brother Panther, fixing a number of tiny but annoying bugs or design missteps. My sub-500 userid was now visible in the Fast User Switching menu (yay!), and switching back to my session after the screenlock had previously come on didn't require me to enter my password a second time (yay!).
Dashboard was cool, and -- dare I say it? -- useful. Read Apple's site (linked above) for an overview of how it works - I won't go into that here. Suffice it to say, I was impressed. Initially. My daily weather report visible at the touch of one button, in stark contrast to the previous method of fumbling around for a new browser window, typing in weather.yaho... and waiting for autocomplete to put in the correct url, waiting for the web page to load. Nice.
Still, it felt rushed and unfinished. There's no gui method to remove a Dashboard widget (a widget is one of these small utility programs that runs within Dashboard) once installed. More importantly, all Dashboard widgets reside on one visual layer, while all regular applications reside on the other. The visual effect for moving between layers is cool and impressive - and useful when you need to get in, check something, and get back to work. But what about when you need your utility and your application side by side, referring back and forth between them? What about little utilities that were not written to be widgets but would go perfectly in the Dashboard paradigm? There's no way to do either one of these. Why not, Apple?
Spotlight: Not So Bright
And then there was Spotlight. A very cool technology, and obviously what computers should do in terms of desktop search. I had high hopes. It basically indexes your entire hard drive like a database, so you can search for files by content in addition to name. This is not necessarily new, but what is new is that the indexing allows search results to come up immediately. Microsoft is planning a similar feature in their next OS, while Google and others already offer their own third-party solutions for the Windows world. It's nice to finally catch up again.
Spotlight is particularly nice in that any time a file is created or modified on disk, it automatically gets reindexed. There's literally no perceptible delay (you can have a search window open with results, create a new file with content that will match the results, and it'll instantly pop into the search window), since there are hooks into the filesystem layer of the kernel. Nice. Read all the gory details at the above linked Ars Technica review.
Spotlight indexed my three hard drives fairly quickly, and soon all my content was available for instant search. Or so I thought. Well, no, maybe not. This new technology is clearly a bit immature and appears to be hit and miss. Many people have reported inconsistencies or flat out limitations. Rather disappointing, but some might argue that it's pretty good for a first release. I guess so - I can search for a keyword and within about 10 seconds, 3,000 documents are listed. Pretty impressive, I guess. I thought this would change the way I looked for files, but so far it hasn't. I haven't performed one Spotlight search in the interest of finding something - everything has just been fiddling with it to see how it works. Maybe that's just me, or maybe it's Spotlight. Maybe it's both.
One significant bug I discovered immediately affects the initial indexing that is done after installing Tiger. When you first install Tiger, of course it has no index with which to perform its blazingly fast searches. So it kicks off a background process that chugs through your local hard drives, indexing the contents of every file it knows about. Simple enough, and needs to be done, right? Well, apparently this process was too stupid to continue where it left off if you rebooted your machine before the initial index was complete. I did exactly this, and when later searching for files I knew were there, Spotlight came up empty. A quick google showed me the joy of mdutil, and I was able to force reindexing to occur. After that, my search was successful.
(Not So) Smart Folders
Apple has touted Smart Folders as a great new feature utilizing Spotlight. You specify a custom set of criteria, and boom, all files matching those criteria show up in your Smart Folder. Indeed, it is quite convenient. Want a collection of images large enough to be desktop wallpaper? Make a Smart Folder, and never worry about where those images are physically stored.
But Smart Folders were unnecessarily restricted to applications that are written to be aware of them - primarily Finder. Rather than implementing Smart Folders at the filesystem level as they should have, Apple chose to do it as a user-space add-on that taps into Spotlight. I'm sure this was easier to implement, but it greatly limits the power of such a promising feature. What good is my desktop wallpaper Smart Folder if the wallpaper switcher is not Smart Folder aware? What if I have a screen saver that shows images from a given folder, and I want to point it to my Smart Folder? Tough. Apple says I can't do it.
I Don't Know You
Spotlight is very flexible in that anyone can write an importer for any data type. If your application uses a custom file format, you can ship it with a Spotlight importer that will allow your data's contents to be included in the index. Great, sounds like Apple really planned ahead with this one.
But the downside is that Spotlight apparently refuses to index files it doesn't think it knows about. On the surface this seems like a good choice - who wants a bunch of (seemingly) random binary data cluttering up the index? It would significantly bloat the database, and potentially produce lots of irrelevant results.
Unfortunately I think they took this too far. Or else maybe I just stumbled upon a bug. Actually, either way I consider it a bug. I wanted to see if I could search for one of my perl scripts (see below) based on its content. I entered a few keywords that exist inside the script and came up with nothing. Boo! I entered the file's name, and sure enough, there it was. So Spotlight knew about it, but simply did not index its contents. It said, "I don't know you, so I'll ignore you."
I would have liked Spotlight to treat this file as plain text. Or at least give me an option to do so. Remember, the best systems are simple to use, but give advanced users the power to tweak their behavior. Sure, I could have written an importer for perl scripts. Or DM source files. Or for that matter, for any freaking text file that doesn't have a .TXT extension! But why do all that work when Spotlight could use a simple heuristic to determine whether a file is text or data, and index everything it thinks is text? Spotlight refused to index any of these files for me, drastically limiting its usefulness.
It's a Small World
My other big concern about Spotlight turned out to be true, and also severely limits its utility. Spotlight is a wonderful tool for finding information on one computer. Sadly, its world view does not extend beyond that one machine. And for me, that's so limiting as to make it practically useless.
I use four computers at home on a regular basis - the iBook laptop, the PowerMac desktop, the Windows XP desktop, and the FreeBSD server. I also have my 8 1/2 year old Mac still humming along for those rare moments when I get a chance to compose and record music. I have files scattered across all machines - in total, about 600 gigs of pure, unadulterated crud. They all talk to each other and share files, so in general I can get to data on any machine from any machine. If I know where it is.
Spotlight is supposed to solve the problem that comes up when I don't know where a particular file or piece of data is. I can type in keywords, whether in the content or name of the file, and it'll pop up in seconds without waiting 30 minutes to crunch through several hard drives worth of information. So what about my networked machines? The files are all available to the Mac, so it should be able to index them, right? My whole household's data at my fingertips.
Wrong. Sure, there are some considerations here. First, the Mac OS X kernel knows nothing about when the Windows machine updates one of its files. Fine. So the index may be a bit out of date. No cool auto-updating of search results. I'm fully aware and willing to live with that fact of life. There's also the practical concern for many institutions with large networks - if Spotlight went out and automatically indexed everything it could find on a network, a batch of new Tiger machines could easily bring a Fortune 500 corporation's network to its knees. Ok, leave network indexing turned off and no way for simpleton users to turn it on in the gui. We still have the command line tools for advanced users like me who know what the heck they're doing and take full responsibility. I should be able to set it up to index my networked drives, say, once a week, right?
No. I tried every possible tool and every possible option, using every possible way of mounting my networked shares. In some cases it flat out refused to enable indexing on the networked volumes. In other cases, it dutifully went through the motions of indexing them without actually doing anything. At no time was I able to type in a search and see results residing on a different machine. Why, Apple, why? Why must you torture me so? Why must you tantalize with the greatness that could be, and then take it away?
Back up a second
Perhaps my most difficult search problem comes up when I need to find something on one of many backup CDs or DVDs. We all make timely backups of our critical data, right? Right?? Anyway, finding an old file that I know I had 7 years ago, but can't remember the name of, is, to say the least, tedious. I know it's on one of these 40 discs here, but which one? The most effective method currently seems to be trying to achieve a zen-like trance in order to push my failing memory to its limits (what the heck did I name that file, and why can't I remember?). It usually has a success rate of about 0%.
I wrote a custom perl script to catalog all of my backup discs. I'm quite proud of it, actually. This script outputs the name, directory path, date, md5 sum, and other information for each file on the backup disc. Everything is saved to text files, one per disc. If I know the name of the file I'm looking for, finding the right disc is a snap: just grep through all the disc catalogs until I get a match. One simple command.
But wait, there's more! I extended my catalog utility -- and this the part of which I'm most proud -- to look inside any kind of archive file and recursively perform the listing on its contents. That means zip files, tar files, compressed files, cd image files, etc, all have their contents indexed. And it's truly recursive - if my target file is inside a zip file, which is inside a tar file inside a cd image inside another zip file, it'll be listed in the catalog. Pure genius, right? Not really. This feature was way too obvious to me, and took about an afternoon to implement. I expected even greater things from the great Apple, company led by visionary Steve Jobs who can do no wrong.
Ahh, who am I kidding? Jobs is an egomaniac and Apple is not a perfect company. Not by a long shot. I had a small hope that these features would be included in Spotlight, but perhaps I was simply deluding myself. I mean, it seemed so obvious to me. Where is searching most difficult? Offline files! How are important archived files often stored? Compressed! It was a no-brainer that Spotlight should handle these situations. When you insert a new disc for the first time, it should ask if you want it to index the disc. Imagine, after intially loading all my backup discs into the index, typing a simple query like "farty poop butt" and seeing that the file I'm looking for resides at /g/u/gughunter.txt on backup disc "Famous Quotes." Pure searching bliss.
Do I need to tell you how this part of the story ends? I didn't think so. Spotlight: the technology that
It's a Great Big Pile of Useless Junk
Are you still with me? If so, I congratulate you. Think of this as a little practice session for that Siracusa review I linked way up above. You're probably getting hungry, so go ahead and take a break. Get a snack, I'll wait.
Ok, you're back? Good. So what was all this hoopla about useless junk, anyway? Surely you're not expected to believe that a set of first generation technologies with room for future improvement qualifies as useless junk? Well, no. That part doesn't. Spotlight, Dashboard, and everything else that's new in Tiger are quite impressive. And useful. And fun, even! I came into this with realistic expectations, despite somewhat unrealistically high hopes. I was satisfied, even pleased at what Tiger gave me over Panther.
Except for the fact that it was a GREAT BIG PILE OF USELESS JUNK. There it is again, that phrase! Why? You wanna know why? I'll tell you why!
Shortly after getting everything up and running as I liked it, playing around with some of the cool new features (Apple's new Calculator application is a freaking godsend for programmers, and Quartz Composer is insanely cool), I had the unfortunate displeasure of discovering another new feature. After the OS crashes (a kernel panic in unix terms, better known as BSOD in the Windows world), the next time you boot and login, there's a helpful dialog asking if you want to report the incident to Apple. And report I did! The report contains a gaggle of technical information about your hardware and the state of the kernel, plus an area for you to type a description of what you were doing. I dutifully sent in my report as an uneasy feeling began to sink in.
Apple had promised many moons ago that Tiger would be released during the first half of 2005. Speculation on what this might mean ran rampant, with optimists predicting a January '05 release to coincide with the annual MacWorld San Francisco conference, and pessimists predicting a release on or about June 30th, just in time to fulfill the promise. Well into the spring of '05, reports from developers with access to beta seeds seemed to indicate that much was still unfinished in Tiger. Bug lists were long, crashes and weird behaviors seemed to abound, if these reports were to be believed. I thought my prediction of July 2nd at noon (the exact midpoint of the year) seemed more and more likely, as Apple would need as much time as possible to work out the kinks.
But they surprised me by announcing a release date of April 29th, fully 2 months ahead of the ultimate deadline imposed by that promise. Did they really fix all those huge showstopper bugs this soon? Ever the skeptic, I remained, well, a skeptic. I felt that they probably had other pressures pushing a release sooner than was warranted given the list of open issues. New machines would probably require Tiger, and the new Final Cut Studio package was said to require it as well. Those products couldn't exactly be released without Tiger in stores, now could they?
My first crash of Tiger, just 24 hours after initial install, blew away any hope I had that this was a polished and stable release. I can live with a few bugs and oddities that are bound to happen in any .0 release of software. Even the odd random crash can occur - they always do in software of today's complexity. But in the immortal words of Han Solo, I had a bad feeling about this. Panther had been quite good to me from day one, and I can't remember the last time it crashed hard. In fact, I'm not sure that it has crashed at all on my home machines (the PowerBooks at work are a different story - bad third party RAM can do wonders for upping your crash frequency), but it probably happened a time or two in 18 months. Tiger seemed a bit more rushed, and I had a feeling this was not my last crash.
Boom! Again, 2 days later, the friendly kernel panic fairy visited my system. And again, a day or so after that. This was a clean install, mind you, so no cruft left over from an upgrade gone bad. No third party drivers, no third party hacks of any kind. The blame was squarely on Apple's shoulders.
Each time, the panic was in the USB HCI (Human-Computer Interface -- that means mouse or keyboard) module. Same unresolved kernel trap 0x300. Each time I dutifully sent in my report, the user description getting more annoyed and exasperated. I wonder if anyone reads those? Four more times over the next week and half my poor Mac crashed, abused by this malicious USB driver. It was getting weary, as was I (thank goodness the filesystems are all journaled - no data lost here).
Then Mac OS X 10.4.1 came out in Software Update. Hope? Could the crash be fixed in this update? I installed the update and rebooted. Maybe my problems were gone? My hopes were dashed when I checked the kernel extension binary:
-rw-r--r-- 1 root wheel 120952 26 Mar 14:22 AppleUSBOHCI
Dated March 26th. Obviously the same file that was in 10.4.0. Apple hadn't paid any attention to my problem. I knew the inevitable would come. And sure enough, 24 hours after installing the update, the now familiar kernel panic visited once more. And that's when I said I have had enough. No more would I play Roy to this dancing Tiger, being mauled every time it got freaked by a little (USB) mouse. Tiger is a great big pile of useless junk. At least to me, since I can't tolerate multiple crashes per week.
I booted back into my pristine Panther partition, and all was well again with the world. Tiger will have to wait for another day, when the folks at Apple realize they have paying customers with less-than-brand-new hardware, and maybe, just maybe, they should test on all of their older models too! Gosh, maybe one day an Apple employee might even read this inane diatribe of mine and pass on the word? Nah.... (I have a 2002 QuickSilver 733 MHz PowerMac G4, 1.5 GB memory, Firmtek SATA controller, various drives, etc... you know, just in case someone sees this)
If Tiger was scared of a mouse, and the next logical big cat is a Lion, I cringe to think what that implies for Mac OS X 10.5!