One reader discusses where compatibility issues stem from when using an older application on a newer OS:
The only "legacy" software I run is a shareware calculator program I purchased when I was still running Windows 95 (fifteen years ago) and it has never given me a bit of trouble on any edition of Windows. Why? Because it was well written!
People just love to demonize the OS when their old -- and often unpatched -- applications and drivers don’t work correctly but the truth is...
Like any other tool, operating systems are designed to be used in a certain way. Microsoft publishes an applications programming interface so that programmers can write code that will be reliable and stable no matter what version of Windows you are using. If software developers use the APIs provided by Microsoft, their software will run, not only on the current version of Windows but all future versions of Windows. The problem is that software vendors often bypassed XP APIs in order to extract better performance (at the expense of future compatibility). This was particularly important to ISVs in the early days when people were still trying to run Windows XP on 800MHz processors with only 128MB of slow RAM.
The bottom line …
Any application written to Windows XP certification standards will run under Windows Vista or Windows 7 -- unmodified. System level drivers are the exception to this because they interface with computer hardware. (It was legacy hardware drivers that gave Vista a bad name. That and the MS marketing team setting ridiculously optimistic expectations for Vista on lame hardware!)
Before Windows Vista, Microsoft made little attempt to enforce the programming standards defined by their APIs. Instead, they put a premium on legacy support (at all costs). This legacy support opened the doors for malware to creep in -- and caused a plethora of security problems for XP.
Microsoft tried to stem the tide by encouraging ISVs to seek Windows XP certification, but few software vendors actually sought such certification. Three years have passed since the NT 6 kernel was released. Most of the major ISVs have released up-to-date NT 6 drivers and Windows 7 is benefiting from this 'vendor catch-up.' (The NT 6 kernel is found in both Vista and Windows 7 -- and will probably be the kernel for Windows 8 as well!)
The XP-mode solution is a good one (it is a full XP SP3 implementation). However, the Microsoft Virtual-PC infrastructure makes it look sluggish. A better solution for running XP-mode is the VMware player. It will port the XP-mode code you download from Microsoft directly into the VMware player.
-Marc