Image Image Image ImageImage
Creative Services for
Roughly Drafted
Daniel Eran

Image Image

Unraveling the Utopian System that Runs All Software Imaginable Myth
The Utopian System that Runs All Software Imaginable Myth speaks of a hardware or software solution that... does it all. It seems like such a great idea, but is it?

Page 1 | 2 | 3

A Means to an End
When Microsoft abandoned IBM in the codevelopment of OS/2, IBM concentrated on building in compatibility with existing Win16 applications. Microsoft however, focused their Windows NT development on an improved version of the Windows API called Win32, while also retaining compatibility with Win16.

That left IBM's OS/2 advertising compatibility with yesterday's Windows software, while Microsoft championed tomorrow's and encouraged users to upgrade away from Win16. IBM's arguably superior operating system ended up being used primarily to run ATMs and telephone voicemail systems until IBM finially gave up on trying to sell it.

Microsoft's exclusive agreements with PC makers certainly affected the outcome, but IBM's marketing focused all attention on being a "Better DOS than DOS, and a better Windows than Windows." That left the market wondering why anyone would bother to develop OS/2 native applications when the focus was all on Windows.

Along similar lines, Microsoft is already looking ahead to a new generation of Windows APIs, so scrambling to "also run" today's Windows software will matter little once Microsoft focuses all of its marketing power on what's next. For Apple, it also distracts from native Mac OS X development.
Another example: Apple successfully migrated from 68k Macs to PowerPC by making sure the new Macs could emulate the older code. But they focused all the attention possible on new PowerPC native applications, because they wanted developers to take best advantage of the new hardware, and in turn make the new PPC Macs more desirable. Emulation made it easy for consumers to buy the new technology, but the actual advantages of PowerPC speed drove the real migration.

Similarly, once Apple had developers on board with native Mac OS X software via the Carbon and Cocoa initiatives, they did everything possible to divert development resources away from old Classic apps, even staging a dramatic burial of Mac OS 9.
Users who invested in Mac OS X native software and migrated decisively had less interruption, confusion, and frustration that those who tried to drag old Classic applications along as long as possible. Developers who failed to get on the Mac OS X train, notably Quark, simply looked incompetent.

In the move to Intel Macs, Apple again made it as simple and transparent as possible to work between PowerPC and Intel Macs using Rosetta. But Apple's real focus is to get developers to make their software Universal. Once that happens, the underlying cross platform design of Mac OS X makes the move from to PowerPC to Intel invisible.

The point? That it's better to get off one boat completely and onto the next, rather than trying to ride with one foot in each. Transitional technologies serve useful purposes, but it's always preferable to make a clean break and keep moving decisively into the future.

But wait, what about X11? That's the environment that Apple provides to run graphic POSIX-based applications on Mac OS X. Isn't this a lot like running Mac OS X and Windows together? Well not exactly; Mac OS X can natively run most command line POSIX software, but graphic apps require the X11 libraries.

Unlike a Parallels or Virtual PC type environment for Windows software, which requires a full alternative OS installation, and all the hassles of installing and maintaining it, X11 simply provides a way to run X11 apps natively within Mac OS X.

Mac OS X is not a library away from running Windows apps, nor are Windows applications designed to accomodate a variety of different implementations of the platform, as X11 is.

Even so, Apple clearly wants X11 to be a transitional step, just like Classic. In many scientific and academic environments, users have a PC to run desktop software and a UNIX workstation to run their X11 apps. Apple hopes the availability of X11 support will move a critical mass of those users to Macs.

Once enough Macs get installed, Apple hopes those custom, scientific applications will get ported into native software for Mac OS X. Apple provides the tools to make that happen.

However, trying to use Mac OS X to run common desktop X11 applications (such as OpenOffice) is ugly, awkward, and unworkable for all but the most committed and flexible users, and harkens back to the same consistency problems intrinsic to running different interface models together.

So there it is: the Utopian System that Run All Software Imaginable is simply a bad idea.

The Nail in the Coffin
Two words: Blue Box. Is it even running on your Mac? I didn't think so. Sometimes there's a big difference between what you can do, and what you should do.

| | Digg


More Journal Entries | More Tech Articles | Get Tech Support | My Resume | Links | Contact RoughlyDrafted

Articles Copyright © 2006 Daniel Eran. All rights reserved.
Suggestions and comments welcome. Contact RoughlyDrafted.

Read more about:
Click one of the links above to display related articles on this page.