Making software simpler for end users is incredibly important, but sometimes simplifying your software means making things simpler for you, the developer. And the best way you can do that is to avoid adding any feature that would bury you in support costs.
I’ll give you an example: a number of FeedDemon customers have asked for an integrated blog publishing tool, which certainly sounds like a good idea. However, I’ve avoided adding one because it would be too hard – and I don’t mean too hard to develop, but too hard to support.
Most blogging services enable third party applications to post to them through a “standard” API, but I’ll wager that every developer of a blog posting tool has experienced hair loss trying to deal with all the creative ways that blogging services support this API. And they must quake in their boots when they hear that a popular blogging service is coming out with a new version, since that often means changes to how external tools post to them. These developers probably spend a huge chunk of time dealing with “bug reports” that are caused not by their application but by changes to blogging services.
If blog posting was FeedDemon’s primary purpose, I could accept this support burden. But it’s just one feature among many, so it wasn’t worth it. I figured I was better off integrating with third-party tools that provide the same functionality.
So before you add that cool new feature to your software, take a minute to consider whether the benefit to your application is worth the time you’ll spend supporting it. You don’t want to find yourself unable to keep up with the competition because you’re spending too much time supporting features you didn’t really need to add in the first place.