By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
Six Apart’s Movable Type 3.0 announcement created, well, a bit of a ruckus. I won’t rehash the saga here; if you haven’t been paying attention, you can catch up by reading Brad Choate’s well-considered take. I’m very much in agreement with Brad.
That’s not to say, however, that Six Apart didn’t fuck this up, big time.
Their mistake was not that they raised their prices and removed the unlimited aspects of the free personal-use license. Sure, that would have been enough to piss off the subset of their users who want all of the features but don’t want to pay a dime. But the people who are the most angry at Six Apart are people who are willing to pay for Movable Type, and are willing to accept license restrictions. Many of them donated, voluntarily, for previous versions.
I see two big mistakes Six Apart made.
This is the nature of commercial software: people pay for features. Or, stated conversely, people will not pay for upgrades without features.
Everyone loves bug fixes. Everyone loves performance improvements. But what people will pay for are features. Microsoft is sitting on $50 billion in cash on the basis of this premise.
The problem with making MT 3.0 a paid upgrade is that it offers very few new features. This is not merely my subjective opinion — Six Apart’s Mena Trott said so herself last month:
Movable Type 3.0 is not the fabled “Pro” version as originally described. We had always imagined Pro as being a feature packed version that would contain all the features ever requested. What we’ve learned in the past year is that every user wants a different set of features, and we need to create a product that is not just feature-packed, but robust, extensible and geared toward a specific audience. Movable Type 3.0 and on will not be the solution for everyone, and that’s okay. For some users, TypePad makes more sense. For others, non-Six Apart tools make more sense.
Movable Type 3.0 is not intended to be a feature release (3.x releases will address the addition of features). While we have devoted a great deal of resources to making the main feature — comment registration — sophisticated and flexible, it’s the Movable Type engine that has evolved (and will continue to evolve) significantly. In this vein, we’ve made speed optimizations to this release as well as made processes such as rebuilding smarter.
Working on the engine first, and then adding features later, is a perfectly acceptable strategy for Six Apart. But they shouldn’t have attempted to sell upgrades until they were ready to ship a feature release.
You can certainly argue that the world would be a better place — or at least filled with better software — if people were willing to pay for non-feature release software. But they’re not.
On December 22, Ben Trott announced the upcoming MT 3.0 on the official Movable Type weblog, writing:
The next version of Movable Type will be version 3.0, a significant and free upgrade.
Now, this week, MT 3 was released, but it wasn’t free. Yes, there is still a free version available, but with severely limited licensing terms — one author and three web sites.
No matter what you think about the new MT licensing terms, there’s no way you can reasonably claim that MT 3.0 is a “free upgrade”.
“Under-promise and over-deliver” is good advice for developing a loyal user base. The best way to achieve this, however, is not to promise anything at all.
Don’t announce ship dates. Don’t announce forthcoming features. And don’t announce future pricing. When the software is done, then announce it. You will never disappoint.
Open source and hobbyist projects can afford to be open about their future plans, because users are willing to accept that these plans might not pan out. But users will hold commercial software companies to their word.
The urge to pre-announce is strong, because (a) as a developer, you’re excited about the new features you’re working on; and (b) users are excited to hear about new features.
But pre-announcing is merely a statement of intention, and depending on the state of what you’re announcing, sometimes only a prediction. Intentions change, and predictions are often wrong. A company that announces software after it is ready to ship will never be wrong.
Plus, the more time you spend talking about future versions of your software, the worse it makes the current version look. The whole point of upgrades is that they’re supposed to be better, but the current version is the only one that’s available today, thus, the current software is what you ought to promote. You want your users to be excited about the shipping software, not software on the horizon.
It’s worth noting that this is a PR debacle, not an engineering one. Movable Type is still a good product and a good development platform. But that’s not to downplay the severity of the problem caused by the reaction to MT 3.0. Six Apart’s credibility is essential to the ongoing success of Movable Type.
With open source software, users can put their faith in the licenses behind the software. If the developers do anything that takes the software in a direction you don’t like, you can take the existing software, fork it, and continue development in the direction you want.
With commercial software, users put their faith in the company behind the product.