A few years ago I wanted to create a Facebook application. I chose to develop an app that integrated with the Steam Community API. It was a fantastic learning experience where I was able gain valuable javascript and ajax experience I wasn’t getting at my day job. Later, I converted from ASP.NET Web Forms to ASP.NET MVC. This again was something I wasn’t exposed to at my day job.

Since then, however, numerous Facebook API changes and availability issues with the Steam Community API have made just keeping the app working a constant struggle. I poured hundreds of hours into maintaining the app while adding very little new functionality. It was no longer a valuable experience. Not to mention that in addition to my time, I received a total of $20 of revenue from the app. Now I made this open source from the beginning and I wasn’t expecting to make a profit. I wanted to provide a service that users wanted while expanding my development skill set, and constant breaking API changes wasn’t allowing me to do so.

What about my users? I was thrilled when I began to see thousands of users adding my app. I strived to keep the app usable, but at a certain point I just gave up. The unreliable availability of the Steam Community API was out of my control, and it completely broke my most requested feature – automatic publishing. I’ve let my users down by promising something that was ultimately not possible for me to deliver.

So what now? Should I resurrect this pile of somewhat working code and attempt to keep it going? If I do, how long until I miss another breaking change? Maybe it’s my fault for not watching the Facebook API change log on a daily basis. My current plan is to simplify the app as much as possible and attempt to keep the core functionality working. We’ll see how it goes.