Stepwise.com
Cocoa Starting Point - Articles - News - Softrak - Site Map - Search - Status - Comments  


antibogon: Aqua Velva Box





" The problem with the Blue Box was foreshadowed in its name, and the solution foreshadowed by the 'aqua-velva bar of progress' that appeared in Rhapsody DR1, and the translucent aqua-velva box of the sleek, new iMac computers."



Return to Main Page



" ...it is clear that both OpenStep and 100% Pure Java, are right there along side, to be used by anyone who can steer quickly enough."





"Developers don't have to wonder which MacOS customers will migrate when, to Rhapsody to take advantage of their new, cool OpenStep applications. They don't have to wonder if Apple will put marketing muscle behind Rhapsody. Now, the entire MacOS market is an OpenStep market."




Around the time of MacWorld last summer, I picked up "The Ifa Oracle", which is a transcription (and translation) of an African oral text. The Oracle is apparently part of the foundation of some of the unusual hybrid religions, including Santeria, which grew up from the efforts of slaves in the Americas to preserve the original traditions by hiding them in the trappings of Catholicism. The Oracle is part of what they were trying to save.

Ancient Oracle

The original stories seem rather too dull to have been the foundation of a religion with such a stormy history. In the transcription that I read, there are 256 prescriptions for how -- through ritual sacrifice of herbs, food and small animals like snails -- to cope with whatever might ail one. All 256 such prescriptions go something like this:
  • Somebody had a pain in the ass.
  • The sacrifice was told to be two pigeons, two snails, and Ifa medicine (grind biyenne leaves and cook them with fowl eggs for her to eat).
  • She obeyed and made the sacrifice.
  • Anyone who does this will be freed from a pain in the ass.

They all have this basic structure, and are in general, singularly uninteresting -- to me, a modern, western, be-kind-to-small-animals kind of guy. The Oracle seemed to me at most a historical curiosity. I might have been missing the point.

Blue Moon

When Steve Jobs' WWDC Keynote address ended, I realized that the ancient and basic formula for problem solving, preserved in the Ifa Oracle, exists today and permeates western mass-media-marketed culture.

  • Somebody had a sophisticated and flexible software product. The marketing message was too complex, and freaked out important large corporations, who are not so flexible.
  • The sacrifice was told to be an over-simplified message, and some small developers who won't read between the lines.
  • They obeyed and made the sacrifice.
  • Anyone who does so will appease important large clients.
Without resorting to higher mathematics, and using the common sense reasoning that was available to the ancient Oracle's prescriptions, Apple has arrived at a clever solution to a complicated multi-variable minimax problem.

Majestyk (Project Blue Box)

In retrospect the Blue Box had the wrong goal: to preserve MacOS exactly as it exists when hosted directly on hardware today, and without forcing developers to recompile or change their MacOS application code. The confinement of a software box was required to meet that goal. It also preserved many of the nastiest behaviors of MacOS, and while insulating the real OS from the hosted MacOS, subverted existing MacOS applications -- which drive MacOS, and PowerMac, sales -- to a role as "second class citizens" on Rhapsody.

The problem with the Yellow Box is that many developers with a large MacOS code base, and equally large corporate development ships to steer, reacted to OpenStep with indifference: "If I have to rewrite my entire application, I may as well give up, and do it in Visual C++ on NT." They don't grok the cross-platform elegance of OpenStep and they don't get Java.

The friction between the two layers required a "dual-OS" strategy into the foreseeable future -- an expensive proposition, and confusing to customers. This was especially bad news since both systems were slated to host both APIs, with MacOS.app (the Blue Box) on Rhapsody, and the Yellow Box for MacOS on MacOS 8.

Furthermore, the migration path for 3rd-party applications was a bit rocky, and was rejected soundly by 3rd party software vendors with an existing MacOS base of code. Here's what the Oracle would say:

  • Somebody had a desperate need for modern OS features, to stem the tide of developers to Windows.
  • The sacrifice was told to be, retrain your developers and rewrite your application in the Yellow Box.
  • The sacrifice was not made, for yellow is the box of cowardice, and the sacrifice was expensive.
  • Anyone who does not make this sacrifice will get their butts kicked off the Mac by two guys in a garage, as they were by drugs from the leaves of tea.
The message from last year's WWDC therefore left many MacOS developers dismayed: they were faced with rewriting their applications to a totally new API, or being relegated to second class citizenship in a compatibility environment. Faced with this prospect, many wondered what the future held for them on MacOS, and the Big Names in particular made threatening noises.

And Apple can't live without them.

MiniMax Problem Statement
  • How does one stem the tide of developers washing out to sea by giving them the desired advanced OS features in a form that existing MacOS code can take advantage of easily, and of which existing developers are not afraid?
  • How can one, at the same time, produce an OS with all the features of Rhapsody, so as to attract new developers from the Unix and Windows worlds with cool new cross-platform, object-oriented, development tools?
  • And in that process, how can one reduce customer confusion about when to use which OS?
  • BONUS POINT: How can you avoid porting the Yellow Box to MacOS, which is a lot of work for an interim solution?
MiniMax Solution
  • Set MacOS API on top of Mach & BSD (the "Core OS").
  • Clean up and extend the MacOS API.
  • Give the new OS the KISS of Jobs.
  • And for the bonus point: Make one OS, instead of two.

Techno Prophecy

The demise of the Blue Box was foretold by its name. From the ashes would arise the lovely translucent Daughter of Blue Box, whom all could see through. Her fate was foretold by the "aqua-velva bar of progress" that appeared in Rhapsody DR1, and the translucent aqua-velva box wrapping the sleek, new iMac computers.

The new strategy of one OS, MacOS X, with a full-citizen MacOS layer, the "Carbon" API, is a direct response to complaints by Adobe, MacroMedia, and a few dozen other key developers that Apple cannot afford to lose. Among them, even the ones who do grok OpenStep still complained because they know they can't steer a large staff of developers quickly enough to retool in a new technology and rewrite the application without falling behind in the feature race.

Carbon, a slippery new MacOS API, re-implemented on top of the Core OS, also known as "Mach + BSD", solves this problem by making the box transparent, or translucent aqua-velva blue, anyway. MacOS applications get new life in the form of protected memory, better networking, faster I/O, faster and generally more advanced virtual memory, and no visible barrier between them and OpenStep applications running on the same host. Carbon will be relieved from the bondage of 68k assembler code, and will be portable, by the way. Apple has announced no plans to make it available on "MacOS X for Intel systems", f/k/a "Rhapsody for Intel", but it certainly is possible, if the need arises. (I personally think that the Carbon API won't be ported to Windows or to other hardware platforms with the rest of MacOS X, I'm just noting that the technical foundation for this, should the need arise, will be set down by Carbon.)

Back in Black

In any case, it is clear that both OpenStep and 100% Pure Java, are right there along side, to be used by anyone who can steer quickly enough. Larger, slower-turning ships like Adobe and Microsoft will be able to spawn a separate team to dabble in OpenStep and lay the groundwork for future versions of their products, without being banished to interim life in a stifling Blue Box, where their butts would be kicked by two guys in a garage. Now, in the aqua-velva box, their products will be more-or-less equal players.

Folks writing new apps are being encouraged by Apple to use the OpenStep or Java API, so they can run on OPENSTEP Enterprise a/k/a Yellow Box for Windows and other platforms.

Corporations and consumers won't have to figure out which OS to use where, and when to migrate to Rhapsody. They will simply get Rhapsody's features as an upgrade, MacOS X.

Developers don't have to wonder which MacOS customers will migrate when, to Rhapsody to take advantage of their new, cool OpenStep applications. They don't have to wonder if Apple will put marketing muscle behind Rhapsody. Now, the entire MacOS market is an OpenStep market.

There will be no "yellow box on MacOS", because by the time it could be written, MacOS won't exist except as a shared, aqua-velva blue library on "§", which is pronounced, "The Operating System Formerly Known As Rhapsody."


Gary Longsine is CEO of illumineX, inc., a consulting firm specializing in Java & WebObjects development, and an irregular columnist for Stepwise. All of his opinions, substantiated and otherwise, are his own, and coincide with the opinions of others merely by coincidence.
© 1996-2003 - Gary W. Longsine. All rights reserved.