Hi Charles, Unfortunately, while it is all well and good for an end user to say companies should make software, especially an operating system backwards compatible, he or she is likely unaware of the technical aspects of what they want. They are unaware of the complexity or the difficulty involved in making backwards compatibility a reality. All they want is for it to work which is the difference between an end user and a software engineer.
For one thing hardware is constantly changing. New hardware means it requires new software to be designed to support it and make use of it. Old software either has to be upgraded, rewritten, or outright replaced in order to keep up with changing hardware specifications. As a result from time to time older software that depends on say an API within an operating system can and will break if it also is not upgraded along side the operating system or API. For example, I have a number of games written for Windows 95 which used Microsoft DirectX 6. DirectX 6 was developed during the mid 90's, and was designed for the 90's era of hardware and software. DirectDraw, the graphics component, was sufficient for graphics cards of the time, but isn't up to handling the video cards we have now so was replaced by Direct3D in DirectX 9. Likewise DirectSound was designed for sound cards of the mid 90's such as the Soundblaster Live with 4.1 surround sound etc. However, by the mid 2000's Microsoft realized that DirectSound either needed to be rewritten from scratch to support modern 5.1 and 7.1 surround sound hardware or replace it. They chose to replace it with XAudio2 in Windows Vista, Windows 7, and Windows 8. Both DirectDraw and DirectSound were phased out mainly do to changing hardware specifications, and are no longer going to be upgraded because newer technologies have replaced them. The problem is, of course, that many older games depended on those technologies and now are having compatibility issues with modern Windows. The question is who is to blame? Its easy to point the finger at Microsoft since it is their operating system and technologies that broke compatibility, but people who do that aren't aware of the decisions they had to make in order to move forward or try and maintain some old software that was simply not design for modern hardware. From Microsoft's point of view it is the third-party developer's fault because they have not upgraded their software to meet the new hardware and software specifications. As a developer myself I would agree with Microsoft if a piece of software breaks its not Microsoft's fault. It should be the developer's responsibility to insure that their software is updated to run on newer hardware and software without errors. It shouldn't be Microsoft's responsibility to support every piece of software ever written on their platform while trying to move forward with supporting newer hardware specifications. Another issue is support for 16-bit applications such as older Dos and Windows 3.1 applications. Many people are aware they can't play a lot of Dos games on their Windows 7 or Windows 8 64-bit computers without a Dos emulator like Dosbox but don't know why. The reason is that newer 64-bit processors were not designed to run 8-bit or 16-bit software. Therefore the problem begins with processor manufacturers like Intel and AMD, but if Windows can't run someone's favorite 16-bit application or game of course Microsoft is going to take the blame for that even though they aren't the one who created the problem. The two solutions for that specific problem is either an emulator of some kind like Dosbox, which already exists, or a virtual machine. One can't reasonably expect Microsoft to spend time and money on researching ways to support older 8-bit and 16-bit applications from twenty or more years ago when the simplest solution to the problem is for the developer of said software to upgrade their older software, or for the end user to install a free emulator like Dosbox if they absolutely can't live without their 16-bit applications. The thing here is that Microsoft does remarkably well for maintaining backwards compatibility when and where they can. Its just that in the process of moving forward not every piece of software ever written can be maintained without the developer themselves getting involved and upgrading along side the operating system. Computer technology, especially hardware, is constantly changing and software engineers are always trying to keep up with those changes. They either don't have the time or the financial motivation to continue supporting 10, 20, or 30 year old software just because a few end users can't or won't upgrade. Unless you still want to kick Microsoft where it counts and blame them for the situation I'm afraid you are going to have to blame the industry as a whole for that. When Apple switched to an Intel based platform they basically told all their older users if they upgrade to OS X they would have to buy all new hardware and software. I'm sure some Apple users were pretty ticked about it, but it was necessary for Apple as a company to grow and expand. Apple has never regretted the switch, nor have they provided any kind of backwards support or compatibility for OS 9 and earlier since moving to OS X. It is all 64-bit, and that's the way it is. Linux, perhaps the most configurable operating system, similarly has no backwards compatibility beyond a couple of versions. Moreover a lot of distributions are not compatible with each other. However, unlike Windows and Mac Linux is an open source platform so anything that is not compatible with the new OS can be updated, compiled, as needed by the end user base. Yes, that takes more technical skill and know-how than your average PC user, but they offer an option neither Windows or Mac currently have for maintaining older software beyond a certain point. Bottom line, before end users crucifies Microsoft for not maintaining backwards support for program x they need to take a good hard look at the reasons why, and compare it to what other developers in the industry are doing. If end users are so upset at how Microsoft does things regarding backwards compatibility they have two choices. They can either never upgrade or they can install and run virtual machines which will support their older software. Whatever they choose progress such as it is will move on with or without them, and it is stupidity to assume Microsoft, Apple, etc can continue to support software for decades beyond the original estimated life span of a given software product. Then again, I think the entire reason we are having this discussion at all is that end users and developers have two drastically different views of how long a piece of software should last. When a company like Microsoft creates a piece of software they generally consider 10 years to be the maximum life of the product, will support it for 10 years, and then consider it deprecated. when an end user goes out and buys a product he or she often has some unrealistic idea that if they buy a piece of software today that it should last longer than 10 years. They may expect it to last indefinitely or at least as long as they want it to. They don't go out and buy a peace of software expecting to replace it in five to ten years, but that's the reality. So we end up with discussions like this one wondering why Microsoft doesn't offer backwards compatibility beyond 10 years, and that reason is because that is all they expect their software to last. Cheers! On 9/8/14, Charles Rivard <[email protected]> wrote: > The first thought is that it's the modern operating systems that are the > problem, and that these operating systems should be made backward compatible > > to accommodate software that has loyally been used by the multitudes. I > doubt if that can be done, though. > > --- > Be positive! When it comes to being defeated, if you think you're finished, > > you! really! are! finished! --- Gamers mailing list __ [email protected] If you want to leave the list, send E-mail to [email protected]. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/[email protected]. If you have any questions or concerns regarding the management of the list, please send E-mail to [email protected].
