Software Releases And The Kitchen Sink

Matt Mullenweg who every now and then publishes a long essay did so today on his personal site Ma.tt, talking about version 1.0 of software and how it’s the loneliest number. In the post, he mentions how Apple is not afraid to release a first gen product that contained flaws because waiting in the wings was the iPhone 3G ready to correct the flaws and public perception of the first generation product. Matt goes on to talk about the time frame between WordPress version 2.0 which was released on December 31st, 2005 while version 2.1 was released on January 22nd, 2007. Quite a long time between releases. Although on paper it looked like the development team took a hiatus, in fact, that specific time period saw a rapid rise in developers contributing to WordPress. However, the ‘one more thing‘ problem crept up preventing a release from happening sooner.

I think that is a common problem amongst software in general, proprietary or open. I can’t recall the first generation of a product or piece of software that was perfect. One more thing syndrome is a mindset issue. Matt illustrates this perfectly within the following paragraph:

I imagine prior to the launch of the iPod, or the iPhone, there were teams saying the same thing: the copy + paste guys are *so close* to being ready and we know Walt Mossberg is going to ding us for this so let’s just not ship to the manufacturers in China for just a few more weeks… The Apple teams were probably embarrassed. But if you’re not embarrassed when you ship your first version you waited too long.

This made me think of the slogan, ‘release early, release often‘. However, you can’t release too early and too often because it will wear out the patience of users. As a software developer, you’ll do more harm than good. That’s why as it relates to the WordPress.org development cycle, I think that 3 major releases per year is a good balance between releasing often and not having a space in-between that would allow for the kitchen sink to be added to the software. Now that software upgrades are relatively pain free with the automatic upgrade system built into WordPress, the interim releases after major releases are not such a problem anymore.

Something that I think theme, plugin and software developers in general should take to heart is the following:

Usage is like oxygen for ideas. You can never fully anticipate how an audience is going to react to something you’ve created until it’s out there. That means every moment you’re working on something without it being in the public it’s actually dying, deprived of the oxygen of the real world.

Your Thoughts:

How many of you out there are sitting on plugins, themes, or little software projects of your own because you feel that they are not ready for release or that the public will consider what you’ve created to be a bunch of crap? Also, I’d like to hear your take on the 3 Major releases per year strategy for WordPress. Is that a good balance or do you think it’s too much or too little?