Apple and Microsoft: Platform Crisis Meltdown
 
Ghosts from the past have returned to haunt the modern operating system development efforts by Apple and Microsoft. They've been summoned by the same four patterns of behavior that caused problems and tied the hands of development a decade ago. Here's a look at the lessons to be learned.
 
 
Platform Death Match introduced the difficulty of launching a new platform and the work involved in maintaining one. This series looks at the historical march of computing platforms, to sort out why winners won and why losers lost. While the computing environment is always changing, the same basic rules are in effect today, and will shape the future developments between Mac OS X Leopard and Windows Vista.
 
Previous articles:
  1. 1980-1985: 8-bit Platforms Apple II, III, CP/M, IBM PC and DOS
  2. 1985-1990: 16-bit Graphical Computing The Mac, Apple IIGS, Commodore Amiga, Atari ST, and NeXT
  3. 1990-1995: Hitting the Wall Apple's difficulties in updating the Mac.
  4. 1990-1995: NeXT, Be, and the Mac PC Contenders to the Mac throne.
  5. 1990-1995: The Rise of Windows Apple takes a nap while Microsoft builds an empire.
  6. 1990-1995: Apple vs. Microsoft in the Enterprise The forgotten failure of PowerTalk.
  7. 1990-1995: Why the World Went Windows The smart strategies and dirty tricks used to establish the PC.
  8. 1990-1995: Planting Software Seeds How Apple and Microsoft tended their platforms.

 
 
1990-1995: Platform Crisis Meltdown
In the early 90s, Apple's Mac platform faced a meltdown as its Mac System Software aged and began to demand a clean slate redesign or massive overhaul.
 
Microsoft found problems of its own in building both a Mac like environment for the DOS PC, and in delivering Windows NT as an entirely new operating system.
 
Today, Apple and Microsoft are working to deliver their latest operating system updates: Apple with Mac OS X Leopard, and Microsoft with Windows Vista.
 
Four factors outline the crisis any development effort can fall into, but they are particularly interesting in the battle between Leopard and Vista.
 
Four Factors of Platform Crisis
As described in Leopard vs Vista 5: Development Challenges, Microsoft's Windows platform has Hit the Wall in a striking parallel to the development crisis suffered by Apple's Macintosh in the early 90's. It's not just a simple correlation of events; Microsoft has rammed into a barrier for the exact same reasons Apple did:
 
  1. 1. reliance on isolationist development using proprietary technologies
  2. 2. embracing the suffocating tentacles of long term legacy support
  3. 3. adopting the casual indifference of a lazy dinosaur, lacking a clear direction for delivering new technology
  4. 4. establishing a position as a robber baron pirate to collect money rather than working to earn it
 
These aren't simple judgments, they are complex issues that often lack simple answers. It's easiest to view them in hindsight, and see how decisions made in the past can explain problems in the present and suggest solutions for the future.
 
Both Apple and Microsoft have employed and fallen prey to these four factors. They are not just simple traps, but can also serve as effective strategies in the marketplace. The problem, as with most engineering issues, is to balance the utility and the destruction each factor can cause. Here's a look at the first factor:
 
Isolationist, Proprietary Development
Apple has a long history of developing its own solutions to technology problems. Back when dot matrix printers were upgrading from 9-pin to 24-pin, Apple released a 27-pin printer. It was odd to the rest of the industry, but made sense for Apple, since it made it simpler to emulate the behaviors of a 9-pin printer.
 
When the rest of the industry was creating a variety of hacks to enable PCs to join local networks, Apple designed a sophisticated set of protocols called AppleTalk that made it easy to cable together Macs and printers and get them all to discover each other automatically.
 
Apple had the market power to develop the most elaborately sophisticated solutions possible. Isolationist, proprietary development initially worked in Apple's favor by helping to differentiate Macs and the experience Apple could provide for end users.
 
Proprietary Balance
The word proprietary is often misunderstood; it doesn’t mean less popular or non-mainstream, just because CNET analysts tend to use it incorrectly.
Proprietary technologies, like AppleTalk, are simply owned and controlled by a single company or proprietor.
 
The opposite of proprietary technology is open standards, technology that is shared in a way that anyone can implement. Apple has not only made wide use of open standards, but has also released its own inventions for others to use.
 
For example, the software technologies behind AppleTalk were released for the standard Internet Protocol as Bonjour, also known as ZeroConfig and formerly Rendezvous. Firewire is a hardware example.
 
Using Open Standards
Apple hasn't always developed its own technologies. In fact, the company commonly chose to use existing solutions when they were deemed good enough, simply because using open standards saved Apple unnecessary development work.
 
When Apple adopted existing standards, it often picked best-of-breed technologies that were priced out of the bargain basement range of the components used in many PCs, drawing criticism from users who valued price over performance and quality.
 
While PCs were dealing with IRQs and ISA slots, wacky x86 memory addressing, and ST-506 hard drives, Apple was using far more advanced technologies, from the auto-configuring NuBUS expansion slots developed by Texas Instruments, to the elegant memory allocation of Motorola's 68k and later the PowerPC processors, to SCSI hard drives with intelligent controllers and an extendable bus.
 
None of those represented proprietary developments; they were all based on open standards.
 
Making a Mess of Things
Those features resulted in Macs simply being nicer hardware. Microsoft discovered this as it worked to develop a similar graphical desktop environment that could run on the majority of PCs.
 
Microsoft was forced to make compromises and buck convention because on the PC, pixels weren't guaranteed to be square, software titles all followed their own random interface conventions, and oddball, non-standard hardware abounded.
 
Windows had to account for all those oddities, while the Mac System Software could conceptually be kept clean and elegant. In reality however, Apple's System Software became a tangled mess. The same third party software that made the Mac uniquely useful also made it increasingly complex and resistant to change.
 
As Macs adopted color and moved to 32-bit clean hardware, support was extended for existing software libraries reliant on old architectures, creating an increasingly complex system of artful hacks to make everything "just work" as users expected.
 
Apple could decree new ways of doing things, but developers couldn't afford to throw away their existing code base and start over every few years, so many new changes or proposals either went unused or became bogged down in committee style development efforts that made little progress.
 
State of the Falling Apart
To further complicate things, every new model of Macintosh that Apple rolled out had its own unique architecture.
 
Despite a sophisticated edge in hardware, and even the monumental leap to the clean and modern new PowerPC architecture, by 1995 Apple was finding it impossibly difficult to drag along support for scores of models of different Macs, each with its own architectural peculiarities.
 
On the software side, Apple had worked on various options:
 
  1. starting over from scratch and risking the release of a brand new platform, under the code named Jaguar
  2. overhauling the existing Mac platform with dramatic new updates code named Copland and Gershwin
  3. moving the existing Mac user environment to run on top of UNIX, delivered as A/UX and MAE
  4. creating an entirely new development platform for the Mac with IBM, code named Pink and Taligent
 
The underlying barrier to all these potential solutions was that none of them could run existing software without compromise.
 
If Apple delivered too much new technology, existing software would be left behind in a legacy ghetto, and if it fully supported existing software, its hands would be tied to legacy baggage and it would be unable to make significant progress in fixing underlying problems.
 
Paradise Lost
Apple's Mac was born as a simple appliance computer that applied a lot of sophisticated engineering to make everything simple and intuitive. However, after a few years of compounded infusions of complexity, the man behind the curtain began to show.
 
The complexities of networking and exchanging files with DOS and Unix users exposed further differences between the Mac's pleasant desktop surface and the spinning gears and motors behind the scenes. The Mac was becoming more like a PC.
 
The Sincerest Form of Flattery
Meanwhile, Microsoft was busy taming the PC into something more Mac like. In 1990, Microsoft started with the Multimedia PC specification, which tried to corral the random hardware that PC manufacturers were selling, and standardize it into a consistent product that was easier to support.
 
Windows instituted many of the conventions of the Mac, including standardized user interface controls and normalized keyboard shortcuts. Microsoft copied Apple's human interface guidelines, and only occasionally introduced some unique ideas that complicated things with inconsistent or non-intuitive behaviors.
 
Microsoft worked to hide the complexities of DOS behind a graphic shell, and standardized networking, printers, graphics, and odd hardware behind normalized software interfaces. By 1995, it had turned the PC into a close approximation of the Mac.
 
Windows CaN'T
Everything did not go according to plan however. Microsoft had intended to quickly migrate from DOS to its new Windows NT 3.1 operating system, but it turned out that NT's sophisticated design was too much for the PCs of the day to handle.
 
Only the newest and best equipped PCs could run NT at all; PCs able to run NT would cost the same or more as Apple's high end Macs. The PCs everyone actually had were barely able to run basic graphics on top of the bare bones DOS, so NT wasn't ready to fly as a mass market OS yet.
 
With Microsoft's plans to decisively move to NT foiled by reality, the company was forced instead to roll out Windows 95 using the same DOS-based architecture as earlier versions of Windows 3.0.
 
Windows 95 was designed as a stepping stone to NT. Microsoft migrated its higher level Windows NT APIs to work under Windows 95, so that most applications written for the new Win32 could work on both 95 and NT.
 
Microsoft also built a common driver architecture so developers could write hardware drivers that would similarly work on both.
 
Microsoft's proprietary Win32 software platform enabled the company to continue to work on NT while still having a mass market product to sell in Windows 95.
 
That was the sort of solution Apple desperately needed but was unable to deliver in its own 1990-1995 efforts with Pink, Taligent, and Copland; isolationist, proprietary development factors that formerly had differentiated Apple’s products now stood in the way of their very survival.
 
 
This Series
 
What do you think? I really like to hear from readers. Leave a comment or email me with your ideas.
 
 
|

Bookmark on Del.icio.us | Discuss on Reddit | Critically review on NewsTrust

Forward to Friends | Get RSS Feed | Download RSS Widget

Check out the Daily Show Multi-Pass on iTunes.com

 

Apple iTunes

Apple iTunes

Apple iTunes

 
 
Apple iTunes

Urban | Moto | Tech | Journal | Podcast
Friday, November 24, 2006