Thursday, 19 June 2008

Ageing Applications and their respective compatibility

Ageing Applications and Vista Compatibility

I still maintain that most applications will work under Vista and Longhorn (just today re-branded as Windows Server 2008) but by reading this blog you might think that there are quite a few issues. My gut feeling is on application compatibility is will follow a sliding scale of something like:

1 year-old application - 95% will be compatible with Vista
2-4 year-old application - 90% will be compatible with Vista
4-7 year-old application - 80% will be compatible with Vista
8 years and older applications - 50% will be compatible with Vista

What drives these kind of numbers? Not hard-core scientific research but experience with thousands of applications from Windows 3.1, NT4, 2K and Windows XP.

Hence, the reference to "gut feel". That said, these estimates can be backed up by the following events;

1) In 2005 Service Pack 2 (SP2) introduced a majority of the restrictions that are now in place with Windows Vista. Excluding the new UAC functionality, most the local registry, local machine IE restrictions were expected to cause a large issue with corporate applications with the release of SP2 - the reality was the only a small proportion of applications were affected.

2) In 2003, Microsoft released Windows XP with a new driver model and enhanced application compatibility support for legacy applications. This is the big hurdle for most developers (excluding driver developers) - if you got your application working on XP - then you are likely to get most of the application working on Vista and Windows Server 2008. The driver developers had to pretty much start again.

3) From 2001-2002 Vendors starting delivering application installations in the MSI format moving from the early days of a few poorly constructed MSI's (some packages were just Setup.exe's within a single custom action inside an MSI) to the present where roughly 80% of applications are shipped in the MSI format. Note: an install may be released an SETUP.EXE but really is a boot-strap MSI.

4) In 2000, Windows Installer started the installation standardization process that allowed vendors and corporate IT system administrator to rationalize their application management strategies to a single deployment technology (MSI) thus removing two of the primary reasons for application installation failure;
- Non-standard installation technology
- Non-transparent installation logic

It may seem straight-forward but vast majority of application failures are due to poor application installation routines.

5) Most application in use today that were shipped pre-Windows 2000 would have been targeted for Windows NT 4 or 3.51 and may have dependencies on 16-bit components or the NT driver model. These older applications represent the greatest challenge to application compatibility on Windows Vista.

But hey, that's why we can use SoftGrid under Citrix to deliver these legacy apps. No more need for kiosk machines (aka total security liability).

No comments: