I am working on a well established (aka clients using it for a while) video player. We recently found out that the drawing engine (ddraw) is deprecated in windows 8 and 10, and choose a modern solution to replace it.

Issue is, a completely different and apparently minor feature is affecting the usability of the new video player. Indeed, the program has its own theme, and it uses Non-Client drawing to customize the border of dialogs in order to fit the theme. Now I noticed that Non-client drawing interfere with the image rendering. Basically, when the window focus change, the video area might flash.

So I have the following options :

  • Keep both as-is and get flashes when changing focus.
  • Disable the non client drawing, thus preventing flashes from happening. But users will notice that the border of their dialog looks native
  • Keep working to have the best of both world. Issue is this development is not generating money, but is more on the maintenance side.

So what should I take in consideration before choosing one of those options?

By deprecated I mean the current version of the software will not show video on windows 10. This is a deal-breaker. As customers move forward to windows 10, we have to provide the new functionality.

  • Feature Toggles – Robert Harvey Mar 23 '16 at 15:12
  • 2
    What is your user base? Do you have paying customers for your video player, which might be unhappy if the new version does not support customized borders any more? May your company loose money if the customers become unhappy? – Doc Brown Mar 23 '16 at 15:24
  • 1
    @RobertHarvey: if I got the OP right, a feature toggle (or simply a regular config option) would let the user choose between ugly flashes or boring borders ;-) – Doc Brown Mar 23 '16 at 22:12
  • Users pay for the software. – UmNyobe Mar 24 '16 at 9:18

First, your users are typically not interested in your technical issues. They want a working software, nothing else. Note further that just because you think a feature is not important, your users might have a different opinion about that.

Second, if you can afford to strip any features from a software in a new release depends on your business model and business relationship to your customers. If your customers have purchased a specific version of your program, and you guarantee to support that version family (maybe your customers have a maintenance contract) you should actually avoid to strip any features from the program, you might run into legally problems else.

However, when you make a major version step, which is typically not supported by a maintenance contract, or your customers do not have a maintenance contract, or your business model is completely different (maybe your software is free and your company makes the money by advertisement), then you are legally not in a situation where you have to keep any feature alive. In such a situation you need to consider if stripping a feature, or changing anything in the UI might make some of your users so unhappy that next time they have to pick a video player they will choose one from a different vendor.

If, for example, some of your users see those flashes, or they were used to the customized borders and liked it, they might think "hey, the new version 3.0 of the foo player is crap, I will try version 4.0 of the bar player instead which supports customized border", your company might loose money. But if you know the market, you know there is no other alternative software which supports the feature, and you are relatively sure your users won't even notice the change, then you might take the risk and remove the feature.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.