Jump to content

VirtualDub Developer: "Why don't I drop Windows 98 support?&a


Fredledingue

Recommended Posts

Already an old article, but he does still support w98.

(Dropped w95 thought. )

A while back, someone asked why I don't simply drop Windows 98/ME support altogether.

The reason is, simply, that I don't yet have to.

For the most part, the rule for making a program compatible with down-level operating systems is as follows: don't use functionality that isn't available. I claim that this isn't that hard. If all you need is to call GetLongPathName(), simply check for the entry point using GetProcAddress(), and if it isn't present, emulate or stub it. It's poor style to fail to load on Windows 98 just because you called GetModuleAddressEx() in one spot. Using Unicode entry points can be a problem, since very few functions have their Unicode versions supported on Windows 95/98/ME, but UNICOWS, the Microsoft's Unicode API emulation layer, is available for that if you want to take the easy route.

Now, there are a couple of good justifications for dropping Windows 95/98/ME support. One is memory: if you require at least 1GB of memory, you might as well drop 9x support, because there are very few stable 9x systems out there with that much RAM due to a kernel address space problem with the default cache behavior. The second is testing -- the share of 9x systems out there is minimal at this point, and in commercial development, it probably isn't worth the cost of testing those platforms. If you don't test those platforms, you might as well not support them at all, because you won't be able to state with confidence that it will run on 9x platforms or devote real development time to fix any problems that are found anyway. On an open-source project with less formal development/release/testing processes, however, there are fewer excuses.

In VirtualDub's case, there are also more specific circumstances in which it would be very annoying not to be able to run on 9x platforms. Some video capture devices never made the transition successfully to the NT driver model, and thus are permanently stranded. Other devices performed better under 9x, at least at one time. Finally, there are some perfectly good 9x systems out there that can't make the jump to XP, either due to general lack of drivers, or due to memory; VirtualDub and Windows 98 will run comfortably in 96MB of memory, but you would have to be insane to run Windows XP on that much. I see being able to run on these down-level platforms as a distinctive feature.

source

Edited by Fredledingue
Link to comment
Share on other sites


As he points out in the quote, it is not hard to make an app API level compatible.

The problem comes with support and testing...

And of course, what environment is used to create the app.

If one was using Microsoft Visual Studio for example, then Microsoft has done an outstanding and notable job of exterminating 9x. :angry:

With a few MS tweaks to the compiler and libraries, it could have still been compatible if the app writer wanted - even if the app was not 'officially supported'.

But of course, M$ are running a business (the digital god reigns!).

Supporting a previous product (you know, post-sales support), is not good business, unless the majority of customers are using that previous product.

In this case, it makes good business sense to push those customers to the 'new' product before dumping the old one...

Remember, Micro$oft are a business and as such, the almighty dollar is the bottom line, not the customer (unless it will significantly affect their bottom line...). It's not like WE have a choice, really.

There is always: In a world without Fences and Walls, who needs Gates and Windows.

Anyway, it's good some people still support the old school!

Skype is a perfect example of an app that is API level compatible, but does not claim to officially support 9x, although it works fine (except webcam).

Link to comment
Share on other sites

BenoitRen, I know that you're fan of Win95 but you're using OS which was released 11 years ago (Win95 OSR 2.5).

As the limitation, WDM drivers aren't supported.

Of course there's more but I'm sure that you know that perfectly. ;)

Edited by rainyd
Link to comment
Share on other sites

And Win98 SE was released 9 years ago. Your point?

Yes, I know Win95 doesn't support WDM '2.0' drivers, but that's a hardware limitation, not a software one! And VirtualDub is software.

You know, my argument about OS age isn't that weak as you think. Win95 is really an old system (despite that you're using the latest version of it) and base of users must be very small. This is of course important factor for the software creator/s.

As for the WDM: as for as I know Win95 do not support any version of WDM drivers and that's OS limitation (you can't install DirectX 9.0 too)!

I presume that he dropped support for Win95 in 1.7x version probably because some function of the program aren't supported by OS.

Link to comment
Share on other sites

Win95 is really an old system (despite that you're using the latest version of it) and base of users must be very small. This is of course important factor for the software creator/s.

Doesn't mean much when big projects like SeaMonkey still work fine on Windows 95. It's not like Windows 98's user base is that big either.

As for the WDM: as for as I know Win95 do not support any version of WDM drivers and that's OS limitation

Wrong. I guess you didn't know that Win95 supports USB to a certain extent either? Install the official USB supplement, which also installs a newer kernel, and suddenly Win95 supports USB and WDM '1.0' drivers.

Link to comment
Share on other sites

...Install the official USB supplement, which also installs a newer kernel, and suddenly Win95 supports USB and WDM '1.0' drivers.

Yeah, I remember when I used Windows 95...

Around 1997 I finally replaced my Windows for Workgroups 3.11 with Windows 95 OSR2.x. I used the USB supplement then.

In itself, it was quite a big jump in kernel and device support.

In 1999, I upgraded to Windows 98 Second Edition and have not looked back (or forwards) since!

I've rebuilt Windows 98SE a few times since then as I've upgraded hardware.

Link to comment
Share on other sites

Yeah I remember in 1996 using my Toshiba Infinia with win 95 and Toshiba's own USB devices, I didn't see many other USB devices on the market at the time so I didn't think much of it, but looking back I had a neat little computer.

Just for fun I went onto Crucial to see what it would cost to fully upgrade that old computer, turns out a stick of 32MB EDO RAM is $45 :blink:

Edited by MichelleD
Link to comment
Share on other sites

For the lack of support for 95, I'm not sure, but I think it has lesser capabilities with VfW and/or DirectShow, the thing VirtualDub requires the most.

You have to consider that VirtualDub isn't some archive manager or 3D modeller or other computational program, as some of the programs that mysteriously dropped 9x support are, it's main feature is video capture, a process that is hardware-oriented and requires proper OS support.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...