News



Rethinking “Beta”

Hey folks,

I’ve been receiving a number of questions about why Form Tools 2 is still in beta and when a final, stable release will be out. Many people are clearly concerned about getting on board with a script that isn’t polished – a very understandable concern! Well, I’ve been rethinking my position these last couple of days and thought I’d write a post about what’s going to change.

As it stands today

The “beta” label has nothing to do with the stability of the script – in fact, I’d regard it as having been stable for many, many months now. Actually, my original plan was to leave Form Tools 2 in beta indefinitely. I like the term “beta” for a number of reasons and thought that Google’s model of leaving scripts in perpetual beta fit well for what I was trying to do.

Consider this: no software is every truly complete or perfected; all non-trivial scripts have bugs. This is just the nature of the beast. In light of this, it seemed dishonest NOT to label Form Tools 2 as a beta! Scripts that proudly proclaim “v1.0″ imply a polished, bug-free product. That’s never the case – I didn’t want to give a false sense of the state of the script.

But the way I’ve implemented it is problematic. Unlike other scripts, Form Tools versions are released in a single thread: everyone get the same code, like it or lump it – and they’re all labeled “beta”.

Problems with this approach

1. People think “beta” means unfinished and shy away from using the script.
2. Adding in new features adds it directly to the trunk. This is great because it ensures everyone’s up to date, but it’s also problematic because some changes have higher impact and risk. Generally people favour stability over new features.
3. Component dependencies. There are increasing more modules, all of which rely on the Core. As the core changes, the modules can be affected. Up to this point, the dependencies have been few and far between, but it’s going to escalate. Mapping a particular dependency for module A to beta “2.0.0-beta-20090116″ makes less sense than mapping it to “2.0.1″.

What’s going to change

Basically I’m going to be moving to a more typical release model – retaining the agile approach, just tweaking it a bit. There will still be a single branch of the code (the trunk), but the main download files will ALWAYS be “standard release” snapshots – 2.0.0, 2.0.1 etc. You won’t see any more numbering schemes like “2.0.0-beta-20090116″ from the standard download files – this will be both for the core, modules and API. Upgrading *will* provide you with the option of downloading beta as well as standard releases, but they’ll be hidden by default.

For people interested in the latest cool stuff coming out of beta, they can go to the Custom Build page. That script will list all beta versions as well as the standard release.

The “beta” term will now be more intuitive to a lot of people, I think. It will contain newer, less tested code – for most people, they won’t care: they’ll just get the standard release and be done with it.

Also, I’ll be updating the custom build and upgrade scripts to visually display dependencies. Now THAT’s going to be fun! :-)

Coming soon…

In the short term, I’ll be releasing one more update to Form Tools tomorrow or the day after: it will contain a new feature to allow you to pinpoint multiple email fields in your forms for use in the email templates. This will be the final “beta”. I’ll then make that release the final 2.0.0 release.

That’s pretty much it. Part of what prompted this whole thing was that I want to add two new larger features to the core: a scheduler and an error logging system, and didn’t want to create a new branch… but that’s another story. More on that later… :)

- Ben

Filed under: News @ 4:50 pm
4 Responses to “Rethinking “Beta””
  1. Mophilly Says:

    I applaud this move, Ben. The Form Tools project succeeds at being easy to set and use. Kudos for that. There are many solutions that aren’t laid out in a manner I find approachable. Your project is well done from my point of view.

    The standard release numbering will help the users a lot. Using the popular scheme of even numbers for new features and odd numbers for stabilization release could help too. E.g. 2.0 is the new stuff, 2.0.1 is a set bug fixes; 2.0.2 enhances features; 2.1.0 has really new features, and so on.

    Keep up the good work!

  2. StephenB Says:

    I could not agree more! Form Tools is one of the best scripts I ever used. Easy to setup, configure, and manage.

    Keep up the good Work!

  3. suBi Says:

    awesomme ! The ” beta ” version that I have been using is stable. One of the best scripts I have ever come across.
    More features are welcome :) :) Keep on the great work.

  4. Form Tools » Blog Archive » 2.0.0 Final Released Says:

    [...] « Rethinking “Beta” [...]

Leave a Reply