Shawn Wildermuth

A Lesson for Software Development


New Features Should Always Support Disabling 

I use a Dish Network satellite dish for my TV.  They pushed an update last week to all their subscribers.  This new feature is a great idea: if an HD channel is available for a channgel (e.g. ESPN, Local Channels), tune the HD channel instead of the non-HD version.  Normally that would be perfect...except...not all HD versions of channels have the same programming.

For example, Discovery channel ahs an HD version they call Discovery HD Theatre.  They are actually two different channels with two different programming.  For example, two of my favorite shows are not shown on Discovery HD because they aren't in HD (Discovery HD is completely HD, they never show non-HD shows (AFAIK)): Dirty Jobs and Mythbusters.

The way they implemented the feature is that in their guide it shows both channels and lets you pick which one you want. For most users of the dish this works fine.  They can pick which channel they want. 

For me I don't watch much live TV.  I record most shows.  When my PVR thinks its recording Mythbusters, it changes the channel on the dish to the channel #.  But now the Dish changes to Discovery HD which has a completely different show on.

Dish Network acknowledged to me today that the feature should have a way to disable it but it doesn't. When I called them to find out how to fix it, they said that I couldn't...but if i'd give them a month to fix it, they'd credit me for a month of service.

The lesson here is that no matter how good a feature you think you are about to push out to customers, you should always have a way to revert the feature. As developers, we are usually nothing like our customer base so we often can't see the forest through the trees when it comes to new features. Its a lesson I have certainly learned before...