Release Early, Release Often for proprietory software?

I got a copy of Real Basic via their competitive upgrade scheme for Visual Basic owners a couple of months ago. I’ve looked at it, and at one point thought about porting SdiDesk to it. The deal breaker is that there’s no equivalent to Visual Basic’s DHTML control. Nevertheless I’d like to try something using RB this year. And I’m following their “getting started” mailing list.

Currently there’s a fair old discussion on that list about REAL Software’s “Rapid Release Plans”. RealBasic 2005 will be released with a 90 day release cycle. In other words, they plan to bring out new versions more or less every 3 months.

Some users are suspicious that there’s a shift towards a “rental” model for the software, but REAL point out that if you allow your subscription to upgrades to lapse you won’t lose your existing software. You just won’t get any more upgrades.

So how and why are REAL Software making this shift? In their PDF white paper they point out :

In a nutshell, the amount of time a company can take to develop and release a software product has traditionally been driven by the needs of the retail distribution model rather than the needs of the software developer and its customers.

Now, naturally, the internet makes it possible to shorten that. “Live” updating to customers of existing products is often used to distribute bug fixes.

However, this introduces its own problem : if a company is developing a new version of a program, while continuously distributing fixes to the existing release, it ends up working on two versions of the code at the same time.

That adds plenty of cost. Both the dual effort and in managing and synchronizing the two versions of the code-base. The rapid release model tries to reduce this cost by making new releases smaller, more incremental improvements.

The idea is not that software is written any faster. Simply that if you intend for release 2.0 to add 6 new features over 1.0, it’s better to add one feature and release it every three months, than wait and release them all after 18 months. After each three month cycle, the “current” version is refreshed, and any new bug fixes can be made to that. New development, and maintainence of existing releases is easier and cheaper to keep synchronized.

As well as reducing the cost of maintaining two versions for 18 moths, rapid release also allows the company to be more flexible if the user’s requirements change. This reduces the risk of working on something that will be out-dated or unwanted when finally released.

Another point made by REAL, is that the media itself is changing. The print media are being supplemented or surpassed by the online media : mailing lists, blogs and discussion forums which are, themselves, working on shorter time-spans. The result of more, more frequent, releases, is more points to touch this fast moving online media. Every release is an opportunity for an online discussion, bringing the product to the attention of new people.

As REAL put it : In the Internet marketing game, each new

release provides a fresh opportunity to grab a fleeting moment of

coverage and online advertising can be focused on the benefits of each new release.

Having listed these benefits of pulverising the development of software into a finer granularity, REAL then have to worry about a different problem. What’s the business model?

Here a new set of forces come into effect. While the company and users benefit from the faster release cycle, there remains a problem of how to charge for it. The user’s perception is likely to be that she shouldn’t be spending more money every three months. The last bastion of slow cycle thinking is in corporate purchasing departments. Especially when the company must think about whether the upgrade is worth it. If you need to get permission from your boss’s boss.

At the limit, small payments for small pieces of value tend to fail because the cost of decision making outweighs the benefit of the purchase. Users prefer a scheme which aggrogates several cheap pieces of value into a single larger price because it’s easier to reason about and decide.

REAL clearly understood this, because they’re bundling several upgrades under a single price. Or rather a 12 month subscription (which should cover more or less 4 releases, though it’s not clear what happens if a release slips a couple of weeks and you only get 3 in your 12 months)

Those 12 months might still be too short for people, hence the low-level kvetching on the RB mailing list. But it’s in the right direction. Maybe if REAL demonstrate this working over the next year, they could make longer term subscriptions available and some customers will prefer them.

All interesting stuff. Obviously, rapid releases are a corner-stone of eXtreme Programming, and other agile methods. But the business model is another thing to think about, with wider implications than just releasing software.

Finer granularity gives more flexibility and reduced co-ordination. That’s implicit in free-software and one of the reasons that weblogs are exciting. It’s why loose agregations of smart, disorganized individuals; free agents, bootstrappers and microISVs can compete with larger, more structured groupings.

But there’s sometimes a mismatch between the granularity and time-scales of those people, and the requirements of customers. So there’s a need for a kind of adapter pattern. For encapsulating a fast spinning, high kinetic energy production, and presenting a slower moving interface to the outside world. Something like a gear box.

Smart disorganized individuals like to do a little bit of lots of things. But sometimes this needs to be packaged up as one big, consistent thing. One strategy is learn self-discipline. But self discipline isn’t always cheap or desirable. A software company doesn’t want to revert to 18 month release cycles just to appeal to purchasing departments. And maybe you don’t want to revert to doing one thing for six months, just because the employer needs it.

But if you’re going to avoid self discipline, you’ll need something else : an interface, a bundling strategy, or tools which can tame the chaos.

This, the SDI blog, blog is starting to warm up. Just added a call to my new (in progress) blogroll generating script. (See the right-hand column).

And some, er, Google ads down the side.

Why? What’s up with that?

Well, I’m a “portfolio worker” (read, under-employed). I have a regular part-time job, teaching programming in the university, which I love doing. And I’m starting to do some contract work too. Nevertheless, this isn’t keeping me in the manner to which I’d kind of got accustomed. But I don’t really want to give up teaching to go back to full-time programming.

So I decided I’m going “pro”. I want to try to get some kind of income from some of my online activity.

Of course, most of my online life is still emphatically non-commercial. But I’m going to do some experiments with a slightly different attitude. This blog will be run on different principles to my other stuff. It will be focussed … 😉 … and well written … 😉 … and regularly updated … 😉 … and intended to capture a larger audience than my personal blog and other online writings.

It’s also aiming to be “profitable”. Sort of.

I’m starting with a first mission that’s relatively low-aspiration : I want to build up the audience and revenue from this blog and SdiDesk related activities to pay my monthly hosting bill. That’s about 16 dollars a month. If I get there, I’ll have at least found where my bootstraps are, and will promptly set about trying to pull at them.

Over the next few posts I’ll start to further develop the themes of this blog and what I’m trying to do. The mantra “Smart Disorganized Individuals” sums up what I’m about. But I’ll need to keep elaborating. SdiDesk is part of it, though not the whole thing story.

If you look at my blogroll, you’ll see links about the increasingly fashionable area of life-hacking, getting things done, mind-mapping, idea processing etc. It’s hard to be as disorganized as me and not to care about this kind of thing. Or not be attracted to the tools. On the other hand, you probably won’t find me lusting over brands of paper notebooks. [That attitude must change! If it brings in ad revenue, you’ll be writing 500 words on Post-it notes – Ed]

So this blog isn’t going to be a “me-too” copy of 43-folders or life-hacker. (For one thing, it will be a damn-sight less Mac obsessed than 43-folders. 🙂

You’ll also see links to people trying to be Micro ISVs. That’s quite a tempting idea too. But it’s hard to reconcile with being still fairly dedicated to the ideal of Free Software. I’m not going to start charging for SdiDesk or anything like that. [Careful! – Ed]

No, really, I’m not!!! Although, remember I am (at least later this year) available to do custom modifications.

Even shareware works on a certain guilt-trip that’s hard to maintain while explicitly giving people the four freedoms. So, I know you can be a reasonably succesful software company with some sort of free-software commitment. But does it make sense to try to be micro and free? I’m not optimistic. Hell, even smart, experienced developers with popular weblogs are finding it hard to reach their minimal targets in this game.

Maybe this is an experiment in absurdity … 😉

If you do a search for the word “wiki” on Amazon.com, it’s surprisingly empty.

I suspect there’s an opportunity for someone there … 🙂

Update : that’s interesting. Amazon tells me I have a bug in the browser when I click that link. Seems like you can’t simply copy the URL from search result pages.

Well, that’s not too bad. Only a year and five months since the first post 😉

But now, SDI the blog is being resurected from hibernation … just as SdiDesk 0.2.2 is released.

Watch this space … (but you can talk quietly amongst yourselves while you’re waiting.)

How disorganized is this … I’m starting this blog a couple of days before going on holiday … come back late January when the whole thing kicks off.