Every once and a while, a new operating system comes out. Apple seems to be on an 18 to 24 month life-cycle for MacOS X, Microsoft seems to be more at the 24-36+ months (if you also consider the major service packs), and some Linux distributions come out every 6 months. The hot topic is currently “to upgrade or not to upgrade” to Windows Visa, Microsoft’s latest and greatest operating systems. Shortly, the followers of the Apple cult will have the opportunity to get their favorite computers running Mac OS X 10.5 Leopard. In this blog posting, I look at the flip-side of the software world when it comes to an Operating System upgrade, e.g. the perspective of the company / people who create the applications (often qualified as ISV or Independent Software Vendor). And I’ll stay as far away as possible from the Web 2.0 discussion in this entry.
First things first, let’s get the if out of the way: The big debate related to upgrading or not to Windows Vista is irrelevant. If you are staying in the Windows world, you will eventually move to the recently introduced version of Microsoft’s operating system… at the latest when you change your computer. The same applies to 10.5 on the Mac OS world. In both cases, if you don’t want to eventually upgrade, you will either have to keep your machine as it is, or you will be required to switch to the other camp. The only valid debate is “when”, not “if”.
From a software vendor perspective, new operating systems are almost never 100% compatible with previous versions, independently from the effort to keep backward support has been done by the OS development team. Sometimes, the changes are rather small (from Mac OS 10.3 to 10.4, assuming you don’t plan to take advantage of all the great new features introduced), but even system updates as “simple” as service packs can be rather tricky (Windows XP Service Pack 2 was a good example, as it introduced changes and turned on the firewall by default), not to mention changes to applications bundled with the OS. For example, Internet Explorer is used by many Windows applications as the HTML rendering engine… with the major changes between version 6 and 7 of IE and the fact that Microsoft has started pushing it to all the desktops through the automatic update mechanism, incompatibility can arise. Any time something has a dependency on something else, there is a risk… and to paraphrase Murphy’s law, if it can break it will
The latest operating system released is Microsoft Windows Vista. Through the introduction of the greatly expanded security features (which is a great thing), Microsoft has also set stronger rules when it comes to how an application on its OS is supposed to behave. Having a software “Designed for Windows XP” (the logo you can only get if you have your product certified by an independent testing company) does not necessarily mean it will work fine on Vista. With the new program set in place by Microsoft called “Certified for Windows Vista”, software vendors might have to change some things that are no longer allowed, even if they still would work. Apple, with the introduction of Leopard, will also include changes to the operating system, reason why developers already have access to the beta versions of the OS.
Making sure that an application still runs on an operating system that is introduced after the software was released is not an easy thing to do and requires a lot of work from everyone involved. Microsoft and Adobe for example do not yet support Intel Macs (yes, I know, it’s a big shift) with their flagship products. Corel just announced the availability of the Certified for Windows Vista Service Pack for CorelDRAW Graphics Suite X3 (it should also be applied to users on Windows 2000 and Windows XP).
There will always be the debate of how many versions back you need to support a new OS. On this one, there are no rules and it should really be dictated by who the users are, what they do and more importantly when they expect change their operating system. While older versions of a product might work, there is no way a software developer can make sure that every version ever released will be compatible with the latest OS. Check with your ISV if you have questions about their specific compatibility and support policy.