Apple WWDC Apple CEO Steve Jobs and chief software henchman Avie Tevanian went out of their way to acknowledge performance concerns about OS X in a marathon keynote yesterday. A note of 'we feel your pain' seemed to be mixed into the usual evangelical message: Jobs cited that performance was top of the list of features both users and developers wanted to see fixed. (Unsuprisingly, the Dock is No.2)
The last time we touched on OS X performance unearthed some intriguing correspondence from ex-Apple and ex-NeXT veterans, which we can now report. They paint a complicated picture and for obvious reasons, a couple of informants request anonymity.
So is OS X slow? It shouldn't be, and in some circumstances isn't. Raw Darwin Apache benchmarks prove to be blazingly fast, for example. But the new Aqua UI seems to carry a performance penalty its ancestor - NeXT's Display Postscript model - never exhibited. And chief culprit is the Finder itself.
Ah, yes... the new Finder. Not exactly responsive, is it? In fact, it's like trying to swat flies with a small stretch of sticky tape, we reckon. Seconds can go by while menus obstinately refuse to respond, or many seconds if you're accessing files over a network connection. Our recent suggestion that this may be due to the new Finder being a Carbon application, (Carbon is the transition libraries that closely resemble the classic Mac API) not Cocoa (the... er... truly native libraries derived from NeXT/OpenSTEP), got short shrift from one quarter.
"OS X Finder is written in PowerPlant, Metrowerks' application framework, which has only been partially updated to take advantage of Carbon Events," writes a Mac graphics developer. "So I wouldn't expect Finder to be as efficient as possible. The Carbon changes for PowerPlant are still in beta as well, so there may be outright bugs in there slowing things down."
Well, yesterday Avie Tevanian showed how easy it is to write a badly behaved Carbon application, making a fairly explicit warning to use the Carbon APIs fastidiously. But that might not be enough:
"The problem isn't that the Finder is a Carbon application, it's a really badly written Carbon application," one veteran NeXT and now Mac developer tells us. For example, the Finder calculates the size of packaged applications, which requires walking down the tree totting up file sizes, which brings viewing the Applications folder can bring things to a temporary halt.
More to the point say NeXT veterans, the NeXT crown jewels aren't available in the Carbon Finder - the services.
To the uninitiated, writing the Finder in Cocoa doesn't sound like a recipe for a faster system: it's a very rich object-oriented environment, with plenty of run-time linking, providing services to developers for free. But it's essentially unchanged since the NeXT days, and NeXT flew on 68k hardware. And this, as NeXT developers will point out, was really the killer app for the system: speed of development. Berners Lee invented the web on a NeXT box, John Carmack wrote Doom on a NeXT box. So why showcase the new OS with the worst of the Mac legacy that Apple would like to bury?
We buttonholed an Apple product manager on this point yesterday, and asked when a Cocoa finder might appear. He couldn't say, but did say the Carbon Finder was a showcase of the transition libraries, to show how easily developers could port to the new system. Showcase wasn't our choice of word, but perhaps fearing the vengeful eye of the CEO a few yards away, he vanished.
Apple management can hardly be blamed for being low key about Cocoa. Their first attempt to evangelise NeXT APIs on the Mac - the Yellow Box for what was then Rhapsody - presented too much of a hurdle for most Mac OS developers. What we have now is Plan B, and Cocoa can finally appear as a desktop environment, C / C++ ... Yellow Box hasn't been entirely overlooked though: FileMaker president Dominic Goupil told us yesterday that the upcoming Cocoa version of FileMaker server was smaller than the current client app, and ported formed the basis of the Windows version. Just like the Yellow Box spiel suggested.
We'd better report that the Finder isn't the only app to get the thumbs down from hardcore Mac users. Tevanian tried to address audio real/time authors concerns with a demo showing the latencies of the system. Macs are standard in recording, where the atrocious multitasking of the old OS can be turned to the music pro's advantage. Latency isn't so bad, Apple wanted to persuade us.
With new Apple users discovering Mac OS X by the million now that it's been preloaded, fixing the Finder is a matter of some urgency. If the new OS isn't responsive, then it'll be regarded as just another piece of eye candy. Replacing the Carbon finder with an extensible Cocoa version should be a matter of urgency at Apple. For those of you who can't wait though, this port of the NeXT browser, RBrowser, works a treat. ®