When should you release software?

Post ImageWhen Dickson and I saw Google Talk the other day, an old discussion about when software should be released was renewed. The application was so basic and underwhelming that we couldn’t help but think they should have waited longer to release it. Usually Dickson thinks that software should be released when it’s more complete, whereas I think it’s okay to release sooner. So how do you determine when software is ready to release? Should you release very early, or just wait until the software is almost ready? What does the word “beta” really mean, anyway? Lots of good questions, and I don’t have answers for all of them. I do have some opinions though, and hopefully you’ll share yours too. Keep in mind that when I talk about “software” in this post, I don’t mean only things like Microsoft Outlook. Websites are software too.

It seems to me that the word “beta” has taken on new meaning in the world of software. In the past, releasing software as beta meant that you wanted it to have some real world use, to iron out the bugs that all software has. Lately though, I think that has changed, thanks in large part to Google. Take Google Talk, for example. The software “just works”. So why release it as beta? Well, for one thing, it has almost no features. And look at the discussion the release has generated in the blogosphere. It’s almost as if Google deliberately released software into the wild as “beta” to get some feedback on where to take it, feature-wise.

The meaning has changed in another way too. In the past, releasing something as “beta” meant essentially, “this is free because in exchange for you using the software, we’re going to get valuable feedback to improve it for eventual sale.” Now however, again thanks in large part to Google, that has changed to “we have no idea how to make money from this, so we’re calling it a beta.” Hence, why Google News has never gotten past it’s beta state. Lots of focus on Google, I know, but they are the new villain after all.

So what does “beta” really mean then? And more importantly, when has your software reached “beta”? Well, I think it depends in large part on what kind of software you have. Consider Microsoft Windows, for example. As we all found out the hard way with Longhorn, releasing an operating system too soon can be extremely detrimental. An operating system is too important a piece of software to release before most of the features are set in place. The Windows Vista beta that was released a couple weeks ago is a much better release – pretty stable, and very much focused on ironing out the bugs. Software like Google Talk however, is probably okay to release very early on, whether or not you call it “beta”, because at the end of the day it doesn’t affect nearly as many people.

Maybe what we have is not a question of what makes a release “beta” but instead, what kind of beta release is it? Consider tip #12 from Joel Spolsky’s Top Twelve Tips for Running a Beta Test:

Don’t confuse a technical beta with a marketing beta. I’ve been talking about technical betas, here, in which the goal is to find bugs and get last-minute feedback. Marketing betas are prerelease versions of the software given to the press, to big customers, and to the guy who is going to write the Dummies book that has to appear on the same day as the product.

Armed with that knowledge, maybe Google Talk and other applications like it are just different types of beta releases. Perhaps we should called Google Talk a “feature beta”, where the goal is to gather information on what sort of features the software should eventually have. I think that’s an interesting way of looking at software, as a series of different types of beta releases. Indeed a software application is never really finished, so maybe a “final release” is more like a “money beta”, where you start charging for the software. Of course, I could go on forever, creating endless types of betas. And there will always be anomolies, like Google News or even Flickr, which is in “beta” but costs money.

So let me try to answer the question, when should you release software? I think part of the answer is a question; what do you want to accomplish by releasing the software? If you want to gather information on what sort of features the application should have, release it early! The danger though is that you may create a negative image for yourself by releasing software that doesn’t really do anything, or which doesn’t meet expectations. If you want to iron out bugs, release the software later in what I would consider a “traditional beta”. And if you have software that you don’t know how to make money from, just release it as “free”. No need to confuse things by calling it a “beta”.

I also think releasing software is a very situational decision, in that no two pieces of software have the same set of circumstances surrounding them. While it may be okay to release one early, it might not be a good idea to release another so early. Deciding when to release software then, requires careful consideration of a number of variables, including what the goal of the release is, does the software work, who is it being released to, what other applications like this exist, etc. Once you’ve come up with a clear idea of all the variables, you can then decide to whether or not the time is right to release your software.

Google Desktop 2

Post ImageLooks like Google isn’t slowing down their efforts to become a software company! Today the company released Google Desktop 2:

Google has rolled out a beta version of its desktop software, adding such features as “Sidebar,” which offers a personalized panel of information such as e-mail, stock quotes and news.

The software, unveiled on Monday, also includes a scratch pad style tool for taking notes and tools for searching one’s desktop and Microsoft Outlook inbox.

Looks pretty interesting, though I haven’t downloaded it yet. The sidebar is a very thought-provoking feature. Longhorn once included a sidebar, but it is no where to be found in Vista Beta 1. Perhaps the Google Desktop release will force Microsoft to rethink the sidebar feature?

Read: CNET News.com

Microsoft: Browse. Search. Subscribe!

Post ImageHere’s some notes I took from the keystone by Dean Hachamovitch from Microsoft:

  • Longhorn *heart* RSS
  • Microsoft is betting big on RSS for Longhorn. They want to “RSS everything”.
  • They are using IE7 to show off the RSS experiences in Longhorn. This is the first public demo of IE7. IE7 now supports auto-discovery of feeds much like Firefox, an icon lights up on the toolbar. You can also view a preview of the feed, complete with search-in-page functionality. You can then subscribe to the feed in much the same way as a user would add a Favorite in IE today.
  • Now they are using MSN Search to search for Gnomedex, to display that it has an RSS feed that you can subscribe to.
  • Longhorn has the concept of a “subscription store” called a “common feed list”, so that all applications can hook into the same collection of feeds using the Windows API. This is the killer RSS feature for Longhorn, IMO. They are showing how this works with a new build of RSS Bandit.
  • They just thanked Dave Winer for inventing the enclosure tag. Was that necessary? You can only beat a dead horse so many times…
  • Now they’re showing how the Outlook calendar works with the whole Subscribe mentality. They visited the HTML schedule page for Gnomedex, and created an RSS feed from it. Now they have a special program that looks in the common feed list for feeds with calendar objects, and then adds them as appointments into Outlook.
  • Wow, someone at the front made a comment and just got chopped.
  • Oooh, pretty little demo of a photo blog being downloaded and the photos displayed in a screensaver complete with captions and descriptions. Very neat way of visualizing a photoblog.
  • Now they’re talking about the extensions to RSS that they are proposing. One of them allows RSS to work better with lists. Another allows a publisher to describe the content of the feed. They worked with Amazon.com to create RSS feeds out of the Amazon Wishlists as an example.
  • The specification for the Simple List Extensions is going to be released under a Creative Commons License. They played a video from Larry Lessig welcoming Microsoft into the CC family.
  • As of noon today, there will be an architectual overview document on RSS in Longhorn and specs for the Simple List Extensions avaiable on the web.
  • Schedule: Longhorn Beta 1 is set for PDC05, and will contain some of the envisioned RSS experience.
  • “This is the start of the conversation.”

All pretty cool stuff. I can’t wait to see the first beta of Longhorn, it should be pretty awesome if all of this stuff is implemented and working well.

Read: Gnomedex

Red Screen of Death

It’s been a very long time since I have seen a Blue Screen of Death (BSOD) – Windows XP is extremely stable in my experience. Chances are, I’ll never see one again, because in new, early releases of Longhorn, the screen of death is red:

The first Red Screen of Death (RSOD) reports surfaced this past weekend on various Web logs, including one written by a Microsoft employee. For their part, Microsoft officials are not denying that the RSOD exists. But they are characterizing the RSOD brouhaha as a “tempest in a teapot.”

You can see a screenshot here. Pretty funny!

Read: Microsoft Watch