Archive for the ‘Philosophy’ Category

Why release Alpha (or Beta) software?

Sunday, July 13th, 2008

Rob Diana, writing for Mashable, has a good post today about the software development cycle and the massive trend of Beta services on the web. I’ve also noticed a growing trend in Alpha releases and it sounds like Rob has too.

Because I released an Alpha version of Gridjit, I thought I would provide a different perspective and talk about why I released Gridjit as a private Alpha.

The earliest users of Gridjit will remember it as a very simple visualization tool for Twitter. It hasn’t strayed far from that original vision but its feature set and design have been significantly enhanced in the last few months. I was planning an Alpha release for this summer when Twitter disabled a very important feature of their API with little warning, rendering the then current version of Gridjit completely useless. Within a few days, Gridjit’s most loyal users were asking me on a regular basis when the new version would be ready. Even though Twitter’s actions were beyond my control, I felt responsible for maintaining Gridjit’s service and so I delayed the addition of some planned features and released the Alpha.

There were a few other reasons I decided to release a private Alpha.

The most important reason (other than the one mentioned above) is that it just doesn’t make sense for me to develop software in a vacuum. The positive response that the Gridjit Alpha has received so far has convinced me that there is value in the product and that it meets a need. I’ve received invaluable feedback (and bug reports) from users telling me things I wouldn’t have seen for a long time. In return, the group of people who are willing to put up with some bumps along the way get early access to a great service (I’m told) and have a lot of influence over how that service will turn out.

Another reason, one that may not apply to everyone, is that doing a private Alpha lets me make sure the system will perform well for existing users. Because Gridjit is not funded by outside investors, I have to keep it running using resources from the other half of my business and that means that I have to make sure I can work on it when I have the time. By limiting access in the early stages to a small group of people, I can respond quickly to their needs and gradually build up the automated systems necessary to allow more people in, in a way that scales for me.

Downsides to this approach do exist.

I wasn’t able to do a Muxtape or Laconica style release with tens of thousands of users overnight. Maybe I will try this with a different app or an evolved version of Gridjit later (another advantage of doing an alpha - you get to do a better beta release). And in many cases, this sort of grand entry does seem beneficial.

In the case of Gridjit, however, it started with and is ultimately software that I built because I needed it. So I’m ok with letting it grow over time and if it has a ton of users a few months or years out, then all the better. :-)