Friday, May 2, 2008

Modular platform upgrades

I was talking with an industry contact earlier the week about an interesting problem: is it better to update a software package all at once or in little pieces?

The cost drivers were clearcut when back in the 1980s we had to ask someone to mail us a floppy disk, or in the mid-1990s to send a CD-ROM. Only major changes (that generated money) or crucial bug fixes would generate an update. For example,with PLOTTERgeist we sent out a beta release floppy for several months to address how the Motorola 68040 caching architecture violated our design assumptions for the segment loader in our printer driver. (AFAIK, the first and maybe only Mac printer driver to have its own virtual memory system).

Today, the Internet has ended the cost issue; I can’t recall the last minor update I got on physical media. So the issues instead are the revenue side, which boils down to two issues: charging for something that you want to get paid for, and the related issue of aggregating lots of little things into one thing big enough to charge.

Here, Microsoft and Apple provide an interesting contrast. Apple shipped the first OS X in March 2001, and shipped the sixth version (10.5 “Leopard”) in October 2007. That’s about one release every 16 months. Unless you buy a new computer, you have to pay $100 for each release.

For desktop users, Microsoft has released 3 operating systems since the end of the last century: Windows ME, XP and Vista. That's about one every 3.5 years. Although Microsoft obviously has a larger customer base, it appears that Apple is able to get more revenue out of each customer through more frequent releases.

Certainly Apple has a more modular and thus much lower risk platform upgrade strategy — befitting both their scrappy image and also the limited resources they had when they dug themselves out of the near-death 90s. Microsoft puts a lot of resources into really big upgrades, which may hit technical snags or even (as in the case of Vista market acceptance problems).

Apple pushes point releases about every 2 months depending on new hardware and security bugs; 10.3 made it to 10 releases (10.3.0 to 10.3.9) while 10.4 had 12 (10.4.0 to 10.4.11) Microsoft has its service packs. I don’t know enough about SPs to compare the strategy, but I think it would be worth it for any platform vendor to look further. Apple and Microsoft also release security and other bug fixes to their various applications, which also would be worth comparing.

But (in my conversation with my industry friend) what I think is really really cool is what they give away several times a year — free updates to major subsystems.. These subsystems are not only important parts of the Mac platform (most predating OS X), but also platforms in their own right. Looking at the Apple update page, it appeared that the regularly updated subsystems are (from oldest to youngest):

  • QuickTime, its multimedia (and streaming media) APIs and subsystems
  • iTunes, used to support both the iPod and iTunes [Music] Store business models
  • Safari, which is not only the Mac’s window on the Web and Web 2.0, but also an important (once only)part of the iPhone third party APIs
Interesting, all three of these are subplatforms that Apple now distributes and updates for both Mac and Windows. (Java would have made the above list, but since it’s Apple’s opening to Sun’s mythical write once run everywhere, it doesn’t fit as an Apple platform).

But what I find very interesting — if not courageous — is that APple is willing to favor subplatform success over trying to coerce primary platform updates. The latest QuickTime 7.45 release is available for 10.5, 10.4, 10.3 and Windows.

Since OS X came out, Apple has been really really good about supporting the N-1 OS release with most of its key applications and subplatforms. Having run R&D for our tiny software company, I know the extra testing is a real headache. But the Apple strategy has huge benefits:
  • it’s much more customer friendly — trying to support customers where they are, rather than coerce them into upgrading.
  • it’s more realistic: many individuals and organizations delay upgrading to new OS releases, either out of caution, to better coordinate upgrades across all machines at once, or just because they have better things to do with their lives.
  • the approach makes the subplatform much more successful — because it starts the adoption process of the subplatform N+1 long before adoption of updated OS has become widespread.
They can’t do everything this way. Some features will require the APIs of the new OS: for example, an occasional iTunes upgrade will require a free QuickTIme upgrade. The combinatoric problems of testing mean that not all subsystems can be tested with all other releases of the core OS, applications and subsystems.

There’s also the problem of cannibalizing the paid upgrade cycle: who’s going to pay for the cow if you give all milk away for free? One solution would be to switch to SaaS, and put the latest software into people’s hands as it becomes available.

Wherever Apple draw the line, I think it’s much more customer friendly (and aggressively making innovations available) than Microsoft. The beast of Redmond has been notorious in tying file format changes to Office updates to Windows updates. By default, it generates new incompatible files with the latest version of Office, forcing your friends and coworkers to buy the new Office. Make the new Office only run on the latest Windows, forcing people to buy the new Windows.

This model is a great way to extract rents from a monopoly franchise, but not a way to inspire customer loyalty among customers who have a choice. And perhaps, in the long run, it’s an ultimately self-defeating strategy. Certainly it’s a way to engender resentment and inspire a desire to switch to any other alternative — exactly the sort of precipitous decline that helped fuel DEC’s rapid collapse during the 1990s.

No comments: