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].

Reply via email to