One of the attributes of a good software development process is consistently releasing software. With this in mind, I wanted to compare the development cycles from Microsoft and Apple when it comes to their Operating Systems. I only compared the client operating systems and not the server versions.
10.0 — March 2001
10.1 — Sept 2001
10.2 — Sept 2002
10.3 — Oct 2003
10.4 — April 2005
NT 4.0 — July 1996
Windows 2000 — February 2000
XP — Oct 2001
LongHorn — 2006 (estimate)
It is interesting to note that Apple has consistently produced incremental improvements to their operating system with about one release per year. (They say that starting with 10.4 they are going to slow down this pace, I’m guessing they will release a new version every 2 years.)
I am curious about the size of the development teams. I would guess that Apple’s is probably smaller, but I can’t find any actual numbers. Apple doesn’t worry as much about backwards compatibility. If a developer wrote software that takes advantage of a nonstandard API, Apple doesn’t care if it stops working in a later release. Microsoft on the other hand does extensive testing to make sure that older software will work with each new operating system. This may give Apple something of an advantage because they don’t have to support a large set of complicated “bugs” in order to make poorly written software work as expected.
The foundation of OS X is NextSTEP which was designed by some of the best Object Oriented programmers back in the 80’s. If Apple does indeed have a smaller developer team, I wonder if the base of software they are working with gives them some type of advantage when it comes to consistently delivering new versions. I’m sure both companies are making use of OO design, but if Apple strives for the same type of elegance and simplicity in their code as they do in their hardware, they may have a significant advantage.
When Microsoft comes out with a new release, it usually involves years of coding. The upgrade from Windows 200 to Windows XP was an incremental change. Most of XP seems to be based on Windows 2000 and the changes seem to be more cosmetic than anything else. I believe they made some significant changes under the hood (especially with regard to graphics), but for most uses XP just has a different (possibly better looking) interface. If you have a computer with Windows 2000, it is hard to justify upgrading unless you have a specific application that requires XP (video editing for example). Because of this, I think Microsoft may be trying create new versions of the operating system that are less incremental. If the changes are revolutionary then more people may want to buy it for the new features.
From the client side of things, there isn’t really any killer application that is making people go out and buy new computers. Video editing is probably one of the few applications that really requires today’s top end hardware. If Longhorn is going to be significantly slower on today’s hardware than XP or even Windows 2000, what is the incentive to upgrade? Microsoft is going to make an operating system that is so innovative that people will be compelled to upgrade. They did this when Windows 2000 came out. The majority of the upgrades to Windows 2000 weren’t because of the stunning new features. People upgraded because it was more stable and easier to use. By easier to use, I’m not referring to the cosmetic changes to the interface. I’m referring to the fact that it was much simpler to do things that we now take for granted like setup networking.
Microsoft is going to have a difficult time of convincing people to upgrade to Longhorn unless they deliver a product that is much more stable and much easier to use. Right now it looks like they have a lot of cool features (transparent windows, etc), but it will take a lot of work to turn these features into actual usability improvements.
Apple has been following the incremental improvement path. The differences between 10.2 and 10.3 weren’t earth shattering, but 10.3 runs enough faster and has just enough improvements to make it worth the $129 upgrade price. In general you have 2 options to speed up a mac, buy a new computer or buy the newest operating system and perhaps some additional RAM. There is a lot of incentive to upgrade your OS if you know it will make your computer run faster. I don’t how long they can keep this up, but I’ve heard reports of people using the beta version of Tiger that won’t go back to 10.3 because of the increase in speed.
In the long run, it is hard to say which strategy will win. But if Apple continues to produce incremental upgrades every 1 to 2 years and Microsoft continues to produce radical changes every 4 to 6 years (with a possible incremental improvement in between), I predict that Apple will continue to erode Microsoft’s market share. With a shorter release schedule, Apple will be more prepared to deal with changes to the market. They will also get feed back more quickly. If the market doesn’t like 10.4 Apple can quickly correct for this in version 10.5. On a 4 to 6 year development cycle this is much more difficult to do.