Perpetual Public Betas Are Totally Uncool

John Gruber (of Joyent and Daring Fireball fame) just posted to his company’s Joyeur blog about how Public Betas Are A Sham. And now I’m engaged in a lovely comments thread argument with “Boris” that I just wanted to share with you:

BORIS
We are going to be in beta for quite a while near the end of march. The good part about the web is that you actually have the freedom to stay in beta as long as you wish. If you develop hardware or produce printed media you know how incredibly frustrating it is to finally see your finished product and then finding a small error, misprint or bug. On the web, your product is never finished. On the web, every day is beta day. Long live the web, long live the beta!

DAVID
Boris: I think Gruber’s trying to say that what you’re describing is a bad thing. True, a perpetual beta is great for developers, but it’s terrible for customers since you’re basically asking them to pony up cash (or to look at ads) for something you don’t consider “done” enough to remove the beta label. ‘Beta’ is a way of ducking responsibility.

BORIS
David: That might be what he means (and I understand) but it’s not what he writes (and others might understand). True: asking cash for something that isn’t finished isn’t cool. But my point would be that there is no ‘Finished’ on the web anymore. Therefore the term ‘Beta’ isn’t that bad after all.

And it’s at this point that I whip out the trusty word counter and open a can of epic-length on his ass:

It’s true, there is no “finished” on the web — there never was any such thing as a “finished” website. There is, however, such a thing as being “done” enough for the general public, which for me means a couple of things:

  • Basic features are present and accounted for. The more ambitious the app, the longer this list will be, but “shipping” software isn’t missing anything really important. That’s not to say that it has everything it should or could have, just the minimum list of features needed for people to get into using it.

  • Those features been tested and found to work consistently on current release versions of the Big Three browsers. (And you know what? A lack of Safari support needn’t be a deal-breaker, so long as it’s forthcoming. Us Mac users know where to find Firefox if your app is useful enough.)

  • The site is open for business. Signups (if needed) are being taken, and invite codes are only required if the normal, intended function of the app requires them.

  • The site scales so that whoever wants to use it can use it most of the time.

  • There’s a help page, a contact form or just some resource to help new users get acclimated.

There is no such thing as ‘finished’ on the web, and there never was. Forgive me for saying so, but duh — we all already knew that. “Shipping” or “beta” are descriptors not of the state of the software (which will change constantly) but of the developers’ confidence that it’s ready for visitors. It’s a state of mind, not a technological fact. The technological fact is that the difference between a ‘beta’ site and a ‘shipping’ one is often invisible to the end user, except that calling something ‘beta’ sets the expectation that it might break and calling something ‘shipping’ or ‘version 1.0’ sets the expectation that it might break but not as much.

Shipping means a product has been tested and found to be generally reliable. Shipping means it’s supported by its maker to whatever extent they choose to support it. Shipping means accountability — not necessarily in a practical sense, but definitely in terms of reputation. Shipping means you can ask for the consumer’s confidence that your product is good.

Beta is the absence of those things. Beta is not something to be aspired to — it’s a temporary state that should last as briefly as possible. Of course websites evolve, of course there’s no such thing as finishing a website and having done with it. We all know that, and I’d assume your customers know that.