What Are The Implications of Dropping Windows 98 Support?

Up to now in my application, I've been supporting all flavors of Windows from Windows 98 to Windows NT/2000 to XP to Vista.

But because of adding Unicode in my next version, support of Windows 98 would still be possible, but very difficult.

I know there are still some of my users running Windows 98.

What are the pros and cons of me no longer supporting Windows 98?

Answers


Dropping support for Win98 opens up a whole host of new Win32 API's that you can use in your software. This will allow you to provide a better experience for the majority of your customers on newer OS's.

Continue to provide the current version of your software for Win98 users, but make it clear that Win98 will not be supported in future versions of your software.

I think most Win98 users are starting to get the message and will be upgrading soon. Also, if they are unwilling to pay for upgrades to their computer/OS, they are unlikely to be willing to pay for upgrades to your software ;)


The impact to you and your business is going to be a function of what percentage of your users are still running Windows 98, and what percentage of your support time you're spending on them. If those two variables are at or around the same proportion, I'd keep supporting it.


I think that Sherm hit the nail on the head here:

If you still have users running Windows 98, then one obvious drawback to dropping support is that some of those will inevitably refuse to upgrade. They'll either stick with the version of your software they already have, or switch to something else.

I would only add one thing to that -- anybody using Windows 98 probably isn't going to be so keen on upgrading anything. In fact, it's likely that the users you've got out there who are using Win98 are using older versions of your software anyways.

In any case, the advantages for supporting a minimum of WinNT-based Windows are too numerous to list here. The best solution here is to provide a link to the last functioning Win98-compatible version of your software to these users, but you shouldn't go out of your way to cater to people who are still keen on running a 10-year old OS.


If you still have users running Windows 98, then one obvious drawback to dropping support is that some of those will inevitably refuse to upgrade. They'll either stick with the version of your software they already have, or switch to something else.

On the other hand, the cost of developing for and supporting those users probably outweighs the additional revenue gained from it. So even though in principle you don't want any unhappy customers, in practice it may be more cost-effective to keep 99% of them happy.


The most common thing to do in your situation is to leave the customers with Windows 98 running the old version. Sometimes you just have to let go of the past.


Well, if one of your customers in running a 10-year-old OS (on presumably 10-year-old hardware), something tells me they aren't spending much updating your software.

Unless it's a private customer, paying you for custom software, I wouldn't worry about it.

And if it is a private customer asking for custom software, perhaps you should show that the prices of modern machines vs your premium for having to work with such an old system.


There are a few Unicode functions still available on Windows 98:

http://support.microsoft.com/kb/210341


Depending on your roadmap and technologies you use - it may be possible (but a bit of a pain) to branch your code. Using a decent SCM system, you could develop in your "new" branch and back-port (merge) features and bug fixes that are also relevant to the win98 branch.

It's a bit of work, but it would allow you to continue to provide new features to all customers, and not leave your win98 users out of the process.


If a customer/user is content to run on Windows 98, then, they will be content with an out of date version of your software.

Just freeze the current Win98 executable and explain in the release notes that newer features will only be available in Win2K or Vista versions.

I dont think this will upset anyone (you may know different!) and as long as you commit to fix bugs the customer should be happy.


Need Your Help

How to find out if a pointer is on the stack on PC/Visual C++

c++ c visual-c++ pointers low-level

[This is for PC/Visual C++ specifically (although any other answers would be quite illuminating :))]

Setting the value of an Android TextView when I click a button

java android textview settext

In Java, if I want to set the value of a JLabel when I click a JButton, I can code it like this...