Articles Mac OS X and the Fight for the Future
My Mac OS X crisis of faith

A signature on the Mac OS X Metadata petition:

"John Siracusa's letter presents in a calm, logical manner an excellent plan for maintaining the quality of the Macintosh interface with respect to file metadata."
--Andres Santiago Perez-Bergquist
  Mac user since 1987, signature 6214.

Okay, enough of that. How about a good old-fashioned rant? No, it's not nearly as productive, but letting off steam is sometimes a good idea. I'd like to do that now. No, this will not be sent to Apple. Yes, it's based on "gut feelings" and human emotions. Yes, it is full of editorializing and dramatization. Didn't I just say it was a rant? Can't I rant once in a while?

Okay, was that enough of a disclaimer? I hope so... :)


My Mac OS X Crisis of Faith

or

The Fight for the Future

What are the long-term goals for Mac OS X? What kind of future does Apple foresee for computer users in general, and Mac users in particular? I ask myself these questions a lot in an attempt to divine the motivations behind the various changes in Mac OS X.

Sometimes, the long-term goals are clear. For example, Apple envisions a future where Mac users don't have to reboot when an application crashes. Thank goodness for small favors :) Likewise, the "Digital Hub" strategy has been well articulated.

But some whole regions of computing's "future according to Apple" are a haze, or worse, a black hole. Or maybe that's just something in my own mind—a defense against the conclusions I've come to on my own based on the scant evidence I have. Take the future of file metadata, for example. (Yes, you may groan now.)

If the technical decision makers at Apple could snap their fingers and jump ten years forward into the future, what would they want to see? What would the average computer user's daily interaction with files be like? Would there even be the concept of a "file" at all? What is Apple's long term goal in this area?

To understand the possible answer to that question, let's back up a bit to the time of Apple's acquisition of NeXT. Imagine this event from the perspective of the technical decision makers at NeXT. They bring with them immense technical skill and a passion for an operating system that was far ahead of its time when it was created, and in most respects remained so.

Suddenly they find themselves having to mold their operating system into the next-generation Mac operating system. The road is not smooth, by any means. A first attempt is made, but Mac developers deem it to much of a break from the Mac's past. Carbon is created. Technical decisions must be made that start compromising and modifying the newly-inherited NeXT OS.

On the file system front, HFS/HFS+ must be used to support legacy Mac files. Hard links, permission bits, symlinks, and other things which previously "just worked" must be grafted onto this new file system. Path separator translations must be added. FSSpecs and other Mac-isms must be implemented on top of the efficient standard i/o layer. High level interactions with the previous "native" file system require the creation of additional "junk" files to support the legacy Mac functionality.

All of this—the new APIs, the new, different file system, the higher-level interactions, the necessary junk-file and junk-data pollution—conspires to bloat and slow the once sleek, clean, efficient OS inherited from NeXT. It's generally an affront to anyone who cares about elegant technical design.

But this is seen by the NeXT crew as a temporary evil—concessions that must be made to the installed base of Mac users to ease the transition. In the long term, the legacy cruft will gradually dissolve and the former NeXT OS will return to its previous state of elegance and efficiency.

This is how I believe the technical decision makers at Apple view the current situation. I believe that if they could snap their fingers and jump ten years forward into the future, they would see a descendant of today's Mac OS X that is finally free from the performance-draining, compatibility-impeding, junk-file producing legacy cruft of classic Mac OS.

I necessarily base this belief on inference, interpretations, and gut feeling, because I have yet to encounter a clearly articulated message from Apple in this area.

This vision of the future is supported by many members of the former NeXT community. Look no further than the Mac OS X anti-metadata petition:

http://www.PetitionOnline.com/osxnomd/petition.html

Some sample comments:

"The trouble metadata causes is far worse for the user than anything it solves."
  --Donald A. Yacktman, Jr, signature 7.
"NeXTSTEP/Openstep was always UFS- Once the transition from 9 to X is complete let it be UFS as well."
  --Marc J. Driftmeyer, signature 27.
"Go forward, don't dream of the good old days."
   --Walter Lee, signature 37.

It is my position that this vision of the future is fundamentally wrong, and that if Apple does indeed share it as I have speculated, it is the biggest threat to Apple's continued existence as an operating system innovator, and possibly as a viable company.

That said, the existence of this philosophy does not surprise me in the least. It exists today as it has always existed in the computer industry. It goes hand in hand with the single most dominant and constant long-term trend in computing: increased abstraction.

Some may say that increased speed or decreased cost are more dominant—Moore's law and all that. But I contend that those are of secondary importance. They merely serve the never ending need for increased abstraction.

Indeed, if you'll permit me to digress for a moment, increased abstraction is arguably the long-term goal of humanity. Sufficient abstraction is equivalent to omnipotence. Press a big red button and the universe is created: abstraction.

But whenever there is an increase in abstraction in the computer industry, there is always a strong opposition to it. Increased abstraction means increased resource usage and decreased performance. On the micro-level, opposition to this appears correct. Who can argue against such facts? And yet in the long view, this opposition is always proven wrong.

Examples are not hard to find. Toggle switches begat keyboards. Keyboards required more circuitry and more computing power, but now a single button press could send multiple bits of information. Raw metal access begat operating systems. Programmers' choices were limited by the exposed APIs, but they no longer had to create everything from scratch.

Opposition to abstraction has been constant, and consistently wrong in the long term. The transition from assembly to higher level languages like C met with resistance from programmers who saw no benefits that would justify the decreased performance and control. The introduction of C++, and later Java met with the same performance and control-based opposition. Even the transition from the command line to the GUI was initially condemned as a waste of CPU cycles and memory.

In the current battle for the future of metadata on the Mac, the Mac "old-timers" are invariably positioned as the conservatives. And yet it is only a trick of fate that today's Mac "old-timers" find themselves arguing for the retention of a metadata system from the Mac's past that just happens to be more advanced in many respects than the purportedly "modern" alternative presented by the opposition.

In reality, those calling for a return to the "cleanliness of UFS" are the true conservatives in this battle. They are the ones calling for the Mac to return to a past that it left behind decades earlier when the platform was first created.

So here we are, with dueling petitions on a nebulous issue that each camp took for granted before they were financially, symbolically, and literally thrown together by a corporate merger. On the one hand are the Mac users arguing for a system that was on the cutting edge in the mid-1980s. On the other hand are the NeXT advocates and anti-metadata supporters arguing for a system that was on the cutting edge in the early 1970s.

Aside from the few tech-heads and intellectuals that truly dwell on the issues, the petition signers in both camps are generally motivated by a desire to retain what they had. For the Mac users, it is a local user experience not available elsewhere. For the NeXT camp, it is the elegance, performance, simplicity, and interoperability that they have historically enjoyed.

And yet the root problem lies elsewhere, with the technical decision makers at Apple whose long-term view seems to align with the conservative camp in this minor skirmish. These are exactly the wrong people to be defining any technology company's long term strategy, least of all Apple's!

The current Mac metadata battle would be much less important if Apple's long term goal was in keeping with the innovation and leadership expected from them. Requiring Mac users to accept a three decade rewind in file interaction technology is bad, but if it was meant to merely "wipe the slate clean" to make way for an advanced system beyond anything seen before, then it would be a lot easier to swallow.

Unfortunately, in my estimation, the "goal state" seems to be that three decade rewind! That is totally unacceptable! At best, it seals Apple's fate as a follower in this area. At worst, it will alienate Apple's existing customers and reduce the attractiveness of the platform to non-Mac users, causing Apple's reputation, market share, and eventually revenue to plummet. Intentionally setting a goal in the past is dangerous enough for a technology company. For a company like Apple, it is suicidal.

And make no mistake, the future of computing will be absolutely lousy with that hateful, performance robbing, compatibility-impairing, complexity-increasing metadata—with or without Apple. To doubt this is deny the entire history of computing—to think that this, somehow, will play out differently than every single other technology that has come before it.

The fact that Apple will be left behind and forced to play catch-up is bad enough. That the high-level decision makers at Apple currently seem to be setting long term goals that will only serve to put Apple further behind is an absolute travesty.

And the sad fact is, given current trends, it will be Microsoft—not Apple, not NeXT—that will bring us to the metadata-enabled future. They're already on their way, zooming past Apple with their initiative to push the modern, metadata-rich NTFS5 as the preferred volume format for Windows XP—going so far as to make it a requirement of the much sought-after Windows XP logo program for OEMs—while Apple, head down and nose to the grindstone, plows backwards in time towards a simpler, more primitive age, dragging millions of screaming Mac users behind them.

So go ahead and argue that Apple is making the right decisions in Mac OS X, that this is one area where they should not try to be different, that interoperability and performance are the truly "modern" features that Mac OS X needs. Go ahead and say that Apple simply can't lead in this area, that they must learn from their past mistakes and follow the rest of the industry for a change.

But realize what you're doing. Realize that you may not have a playground for your alternative platform ideas in five or ten years if this strategy is pursued. Realize that you will be making the computing lives worse for millions of Mac users—users who were happier with classic Mac OS than with any other system, who consciously chose to use it rather than Windows or even NeXT.

And for what? For a few milliseconds in certain file operations? For an easier path to the same interoperability that could be achieved by other means? To preserve the design simplicity of a less capable, less abstracted system from your past?

Know that you are an impediment to progress. And while your role may be important, ensuring that technology does not drift too far into uncharted waters, know that it is the exact opposite of everything that Apple, the Mac, and the millions of people who love and use the platform stand for.

As for Apple, they are making their own bed. Regardless of community feedback on this issue, they are ultimately responsible for the future they make for their company and their customers. Perhaps the good thinking at Apple will keep them afloat—the good things like the industrial design group and the art department.

But perhaps it will not be enough. Perhaps Apple will find that a cake made entirely of icing is unappealing. Perhaps they'll discover that there's a certain minimum level of meaningful differentiation necessary to keep customers from defecting to other platforms. Perhaps they'll learn that it's impossible to win converts from other platforms by eliminating tiny impediments to adoption through the destruction of very significant platform advantages. Perhaps they'll learn that the community that sustained NeXT will not be adequate to support the much larger mass of Apple.

Or perhaps they'll remember what made the Mac a success in the first place and turn this whole thing around. Time will tell. In the meantime, which side are you on?

Fight the good fight, people. Long live the Mac.

John Siracusa
December 7, 2001