I had originally planned for this space to be used for a thoughtful and eloquent look at Apple's recently-announced move from PPC to x86, including a historical perspective at their habit of abandoning promising things just before (or as) they get really good (OpenDoc, Newton) and a look at the risks and benefits of this latest sudden move. Instead, as I have just had the most frustrating Apple software moment of my life, I give you the following:
I hope Apple dies.
I've never used a Mac as my primary working environment, because you just can't wrap them around yourself and make it an extension of your mind the way you can with a "pure" Unix. At least I, as a developer and nerd, cannot. I know there are people with different slants (Dan) who do get that feeling from the Mac UI.
But still, I've used Macs continuously since 1998, and have used every version of the OS since 7.6, and the polish and elegance of it made a huge impact on the way I think about how programs should work, even though I largely prefer not to even work in GUI space. I learned that anything reasonable, when tried, should work the way you'd think it would, and maybe some unreasonable things should to. I learned that you should try to trap as many problems as possible and handle them as gracefully as possible. I learned that its your (the software's) job to let the user get their work done, not to shove yourself in their face and dance about telling them how great you are.
I learned these things from the old-line Mac OSen, especially 8.1, which is still my favorite of them all. I learned them again from Newton OS 2, which is still, in my opinion, the most elegantly crafted piece of user-targetted software ever written. (Even though it had some really bad error messages..."-10061", "-16022", "-10582" anyone?)
The transition to OS X was rough, but all the failthful (myself included) felt sure that things would get better. The iApps were great (though one should remember that they are a product of the OS9 era, and not OS X) and things did seem to steadily improve with each new point-release. I'm not sure that this trend is still continuing, however. For a while now I've had this niggling feeling that some of the polish is wearing off, that some of the rough edges are showing through where they didn't used to.
But it was nothing big enough to complain about, and no one else seemed to notice. Over the past 2 years I've gone from being something of an Apple apologist in my nerdier circles to being the one who's always spouting off cautionary tales and playing a wizened Devil's advocate to the newly converted Mac Faithful with their shiny laptops and lickable interfaces. I've even aquired a stock phrase for these situations: "Use Apple, Love Apple, but never Trust Apple".
And I don't just say that to be trendily anticorporate or iconiclastically anti-Apple. I say it because, though I count myself a newbie compared to true hardcore Apple users, I've been around long enough to see lots of Apple-screwing-its-users(and-developers) action. I personally got it in the Newton debacle -- that's where I learned exactly what the "mercurial" in "Steve Jobs, Apple's mercurial CEO" means, but that's a far cry from the only example. There were the clones. There was OpenDoc. There was the Performas which were promised to be upgradable but weren't. There was the 5×00 and 6×00 series PowerMacs. There were the G4s that shipped half a year late. There was shoving OS X (NeXTSTEP) down everyone's throats. And you know Searchlight, the brand new thing that no one really wanted in 10.4? Well no one really wanted it back in OS8.5 either, when it also tied up your machine for hours on end and was generally useless. And last but not least, remember the G5, which was The Future and would totally trounce everything, ever?
The point is: don't unquestioningly buy into Apple's party line, no matter how strong the RDF may be. Once the gloss of the Stevenote wears off a bit, think hard about what's actually going on.
Anyhow, my recent crappy experience is as follows: I wanted to take a whole bunch of JPEG images and turn them into a little movie set to music, using iMovie. I figured that since iMovie now has that "Ken Burns" effect, that this would be really easy. Except that it turns out that iMovie can now only import images from iPhoto libraries. This made me grumble a bit, but I concede that it's easier than going File->Import several thousand times, so I started up iPhoto and told it to import one of the directories of images I wanted to use (about 2500 files). It sat there "Importing..." for several minutes, and then started displaying a thumbnail of each image as it did whatever arcane magicks it needs to turn this stack of files into whatever it uses on the inside. I walked off to go do something else. Several minutes later, the progress bar was at around 50%, so I walked off again. Several more minutes later, there was a dialog telling me that one of the images was corrupt. Well, that's okay with me, really. I can stand to lose one out of about 30,000 images, so I clicked "OK", and the dialog went away.
And iPhoto sat there, doing nothing, a blank slate, no indication that I had ever asked it to do anything. I had assumed it would immediately pick up where it left off, rounting around this one bad image (not even a bad file, just bad JPEG data), or at least ask me if I wanted it to keep going, save what it had done so far, or just quit. Nope, it just quit. I realized that, having assumed that this Apple app would behave like an Apple app, I had rather glossed over the dialog and didn't actually know the name of the offending file (except that it started with an 'f').
This is not how Apple software is supposed to behave. I submit to you, Dear Reader, that something fundamental has changed at One Infinite Loop.
So why is the Finder still single-threaded? Why does it still spod when one makes the vile error of causing a large-ish media file to appear in the preview pane of column view? Why does column view still not remember column widths and keep doing what the user has told it to do? Why can one not even depend on column view being used all the time, even after one has told Finder to do so? Why these small annoyances and dozens more like them? I used to think it was because Apple was busy bootstrapping a new OS and was more concerned with getting it right under the hood before turning their practiced eye to fairly minor UI quibbles. But now I think it's because the old Apple, which cared deeply about the craftmanship of software tools, and which taught me to do the same, is gone. Replaced by a fast-talking, fast-walking, high-chrome somewhat-slipshod company with an opportunistic worldview, targetting the Great Unwashed, who value a lack of value above all else. In other words, they are the Very Model of a Modern Multinational.
Knowing His Steveness, who has more moxie and business acumen in his middle finger than I'll ever have altogether, it'll probably work out. And being the mark for Apple that I am, unless things get really bad, I'll probably keep supporting them as the saner alternative for normal people, but I won't be cheering them on as I once did.
In other news, i got an Olive bug report from Poland today. Someone out there found a new way to be nonconformant with the RFC822 date definition, and I wasn't catching it. I'm getting perilously close to having a complete workaround library for this sort of thing...RJBS says that SIMON has something like that, and as much as I hate to add another dep to Olive, it might be the right thing to do. One way or the other, that issue will be fixed in b7.