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.
Previous articles:
-
-
-
-
-
-
-
-
-
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.
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 of Platform Crisis
-
1. reliance on isolationist development using proprietary technologies
-
2. embracing the suffocating tentacles of long term legacy support
-
3. adopting the casual indifference of a lazy dinosaur, lacking a clear direction for delivering new technology
-
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:
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.
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 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.
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.
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.
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.
State of the Falling Apart
To further complicate things, every new model of Macintosh that Apple rolled out had its own unique architecture.
On the software side, Apple had worked on various options:
-
-
-
-
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
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
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