dabbler's weblog


About This Weblog
Moore's Triple Crisis
Old Computers
OS Independence
Open Pragmatism
Welcome to the Net
Quick Search Bar

In this weblog
Other weblogs


Today's Discussion
Create New Topic
List by Topic



Other Sites
Notes by Dave
Bau Family News
Recent Updates
Read Yesterday
Most Read Ever
Scripting News
Joel Spolsky
Dan Briklin
FoRK Archive

Join Now

.NET Signals an Industry Shift

Wed, Sep 12, 2001; by David Bau.

What is Microsoft .NET? It is a mishmosh of offerings, including a password service, a bunch of new devices, and a basket of Java-like programming languages. To some, it is just Microsoft's latest wave of hype.

But it is not just hype. There is a reason for it. Microsoft is responding to an dramatic shift in the industry that is being caused by a three-way Moore's law crisis.

Let me explain.

The Old Windows Platform Triangle

For the last two decades, Microsoft has been at the center of an industry built around its universal software platform. As with all platform businesses, Microsoft has focused on three lines of attack that support each other like a triangle: customer-facing products, company-controlled adapter technology, and a community of developers. The three-way focus translates to Microsoft's three complementary product lines: applications, operating systems, and developer tools.

Platform Triangle: The Software Platform Triangle

Let's look at each of the three legs of Microsoft's traditional platform triangle.

Microsoft applications have always been driven by the company's basic little ambition: to put its software in the hands of every person on the planet. Bill Gates' original vision of "a computer on every desk and in every home" may be uninspiring today, but in 1972 it was a radical goal that took several decades to play out. Remember that before the microcomputer revolution, computers were just for specialists who did esoteric data analysis. Microsoft produced applications that changed the landscape by broadening the appeal of computers to the masses. And they have succeded. By solving everyday problems, Microsoft Word and Excel have today displaced the pen and calculator as the ordinary person's desktop weapons of choice.

However, the genius of Microsoft's platform strategy has never been in their applications alone, but in the fact that they build all their applications on top of Microsoft's proprietary adapter technology: Windows.

Other operating systems may rate higher in elegance, power, or maintainability. But Microsoft's Windows operating systems are unparalleled software adapters, supporting thousands of different applications running on thousands of different kinds of hardware configurations. And Microsoft continuously evolves Windows to support both the latest devices and the oldest software.

The reason extreme operating system adaptability has been such a wonderful design is that it allows people to tap most powerful invention of the information age: Moore's law. In 1965 Intel founder Gordon Moore observed and predicted that due to the rapid pace of innovation in semiconductors, computer systems would double their speed every 18 months. Moore's daring prediction of exponential progress has been remarkably on-target. But the cause and effect of the accelerating rise of computer power has been a never-ending tornado of changing hardware designs, not just in semiconductor manufacturing, but at every level in storage, communications, interfaces, peripherals, and software. Every month there are new hardware protocols, formats, chipsets, devices, and software applications enabling faster communications, bigger storage, cheaper designs, and clever new functionality.

If you have a software solution that is designed to work with a specific configuration of hardware, the inexorable march of Moore's law will guarantee that your monolitic solution will be obsolete - ten times too slow - in just 60 months.

To avoid being left in the dust of hardware obsolescense, you need to layer your solution on top of a very flexible adapter that lets you upgrade your hardware without throwing away your software. In other words, to fly in Moore's tornado, you need Windows. Windows works because it bridges the gap between yesterday and today. Windows is always fresh.

But Microsoft can not and does not keep Windows fresh on its own. For this, they rely on the the third leg of the platform triangle: Microsoft's community of independent developers. This part of the puzzle is less visible than the other two because the activity is not aimed at the mass market. But this third leg is possibly the most important: its purpose is to nurture and grow the triangle.

Windows is what I like to call an n2 product. It is an adapter technology that supports interconnections between n different hardware and software products, and its value is proportional to n2, which is the number of interconnections it provides. As long as "n" continues to grow, Windows will be continue to become more valuable, and Microsoft will continue to become more profitable. Therefore Microsoft has an enormous incentive to encourage third parties people to build other products to be compatible with windows to grow "n".

So in order to build their Windows platform, Microsoft has always spent enormous efforts in supporting third-party software and hardware vendors who build solutions that are compatible with Windows. They sell programming languages, Visual Basic and Visual C++, specially designed to help developers build software for Windows. They run a hardware compatibility lab where they test hardware and drivers for quality. And every quarter Microsoft releases through a program called MSDN, a vast amount of supporting technical software, literature, and support for independent developers. This encyclopedia is needed because programming Windows can be complex: it takes a lot of knowledge to squeeze all the power and performance possible out of a Windows system. Nevertheless, the effort is worthwhile: releasing an application on Windows means that your product can be used by almost every computer user and on almost every personal compuer hardware configuration. The "n" for Windows is large, and the "n2" value is unbeatable.

Microsoft has built a uniquely spectacular hundred-billion-dollar business around this the Windows platform. But Microsoft's platform triangle is about to collapse.

Moore's Triple Crisis

Currently, the software industry, and Microsoft in particular is facing a triple crisis on all three legs of the platform triangle.

Triple Crisis: The Triple Moore's Law Crisis

In applications, Microsoft is facing the problem of saturation. The widely recognied issue here is that almost everybody who wants to do something with their computer software can already do it. Why would you buy a new version of Microsoft Word or Excel? You already have an old version, and it already spellchecks, autocompletes, slices, and dices. It is hard to justify buying a new version of a digital product that works fine and never wears out. Unfortunately for Microsoft, desktop software is immortal.

In the next generation of applications, Microsoft is facing competitors like America Online that are using a new model for software applications. Why doesn't AOL suffer from the same saturation problem that Microsoft is facing? There are two reasons. First of all, AOL focuses not on software inside the box, but on software between boxes. As computers become more numerous and cheaper, the big world outside the box becomes far more interesting than the little world inside the box.

The second trick is that AOL sells software products that are only good as long as you pay for them. Stop subscribing, and you don't get AOL's chat rooms, instant messaging, or email services. Also, to enjoy Time Warner's latest movie, book, or news, you need to pay for the content when you get it. The new generation of software applications will not suffer from the same business-killing longevity as Microsoft's desktop software. The new wave of software applications are are linked to services, time, community, or content. The new wave of software has ephemeral value.

In operating systems, Microsoft is being confronted by an inversion of Moore's law. Since about 1998, it has become obvious that the exponentially rising power of PC technology has started to overshoot the needs of the ordinary customer. This means people are starting to shop for cheaper computers instead of more powerful ones. If Moore's law says that power doubles every 18 months at a fixed price point, it also implies that at a fixed power point, prices see twice as much downward pressure every 18 months. This inversion has huge implications: as people start focusing more on price, the traditional torrent of new hardware standards is slowing down, and the new focus is on cutting costs everywhere and on a new generation of simpler, more monolithic solutions.

One Microsoft competitor that is taking advantage of the Moore's law inversion is Palm. The latest Palm VII is based on the same old Motorola architecture that powered the original Palm 1000 five years ago, which also happens to be based on the same architecture used by the Apple's original beige Macintosh in 1984; Palm is only now planning for its first major change in architecture ever, with a plan to move from the Motorola 68000 to the ARM's RISC architecture. In this and many other ways, the world of Palm devices has proven to be a quiet backwater that is fairly isolated from the Moore's law hurricane of shifting standards. Although Palm's operating system is extremely simplistic and doesn't deliver the same amazing adaptability as Microsoft's Windows, the cheap and focused design has value. Palm devices are less expensive, smaller, and have longer battery life when compared to Windows CE devices, due to Palm's simpler design.

Another competitor riding the Moore's law inversion is Linux, the unix-like operating system that is built around freely available open-source code. The obvious benefits of Linux are cost and control. Licensing Linux is costs nothing, which makes it suitable for cheap hardware devices. And since the source code for every bit of Linux is open, vendors that want to twist the operating system to introduce radical innovations such as new high-performance filesystems can do so. As a result, Linux is spawning a new generation of specialized monolithic appliances such as the Cobalt Qube and the TiVO video recorder. The fact that Linux doesn't make it as easy as Windows for the end-user to upgrade hardware or software inside the computer doesn't matter: people don't upgrade these specialized, cheap devices. They replace them.

In the developer community, Microsoft faces a suprise: a brain drain caused by dramatically increasing developer impatience. Microsoft has always made enormous investments in libraries, compilers, and tools to help developers be more productive, and nobody doubts that Microsoft's tools are some of the best available. So why has the center of gravity shifted away from Microsoft's tools?

One reason is that Microsoft was slow to recognize that the Moore's law crisis affects development costs just as dramatically as it affects hardware costs. As computing power gets cheaper and software becomes more ephemeral, it makes sense to save software development hours by wasting CPU cycles. This means that some convenient approaches to programming that used to be too wasteful of computing power have now become cost-effective.

Java is emblematic of the development community shift. Sun's Java system uses the system's computing power to provide software designers with programming conveniences such as automatic memory cleanup, error checking, and self-describing code. Similar systems like Smalltalk and Lisp have been tried before. But they failed because compuer power was scarce and software was immortal, so it was a mistake to waste CPU cycles for the convenience of programmers. However, in the new era where there is a Moore's law surplus of computing power and software is ephemeral, you must be willing to waste CPU power in order to save time on software development. This is what Java is about. Microsoft's Windows-oriented development tools are focused on optimizing CPU performance. But in today's world, it is completely pointless to have programmer spend weeks counting up memory resources when our computers spend millions of cycles every second sitting idle and might as well spend that free time doing the job automatically.

Similarly, scripting languages that are interpreted and loosely typed such as Perl and Python have long been used for prototyping and dabbling. But now, with CPU cycles cheaper than dust, programs written in these interpreted languages are fast enough for serious use. If the prototype works well enough, why rebuild it to go any faster? In the new world, programmers are paid to be impatient.

The New Triangle

I don't pretend to know what Microsoft is planning to do with .NET. However, this much is clear: on all three legs of the software platform triangle, the landscape is shifting, and both the industry at large and .NET in particular is redefining the playing field on all three sides.

The New Triangle: The New Platform Triangle

On the applications side, Microsoft has revealed that .NET includes online services such as Passport, Hotmail, and calendar services. It's not clear how Microsoft plans to make money on these new software applications, but certainly one path they could follow is the AOL pay-as-you-go model. Certainly, Microsoft's services do not have to be immortal in the same way as their desktop software.

On the systems side, Microsoft is diversifying their Windows platform to deal with the consequences of the Moore's law inversion. They are releasing new monolithic systems such as their Ultimate TV recorder and their XBox game system, and they are rapidly streamlining Windows CE to compete with Linux and Palm. These new systems are not as configurable by end users as Windows itself, but they are simpler, more focused, and cheaper than a PC.

On the developer side, Microsoft is rallying support around a new runtime system that helps developers trade the Moore's law surplus to achieve lower software development costs. They are introducing a Java-VM-like Common Language Runtime that provides the same developer conveniences as Java; they also contain deep features that make it easy to build and integrate with Microsoft's new generation of online applications, and also take advantage of Microsoft's operating systems.

On each of the three lines, Microsoft is facing a sea change where they are starting on the losing side of the battle. The old Windows franchise is ill-equipped for the new challenges, and Microsoft has smart competitors that have already started to entrench themselves on high ground.

However, to Microsoft's advantage, they have a uniquely unified strategy for all three battles, and unlike their competitors, they can a execute on a plan that advances all three lines of their platform triangle while playing their competitors against each other.

The question is no longer if the industry is shifting. The question is, when the dust settles, who will be left standing?

presented by weblogger.com

Last update: Saturday, November 3, 2001 at 5:55:43 AM
Copyright 2002 - dabbler's weblog