The wonders of version-less software as a service are extolled from all corners of the internet: Nothing to install! Updates come to you automatically! Everything just gets better all the time. And that’s all true, but it’s not the whole truth.
The flip-side of this automatic wonder is that you’re forcing constant change on everyone. The only way to prevent that from being unbearably grating is to make it incremental, and exclusively additive.
There’s no room to change your mind about the fundamentals once a sizable customer base has been trained to expect the familiar. Anyone who’s ever tried to remove a feature from internet software will likely be so scarred from the experience that they never attempt it again.
This is where it’s so easy to cry boohoo as a developer: “Oh, those damn users just can’t see or accept the brilliance of newness! If only they would be patient, relearn everything for me and my creations, we’d all be better off!”
The fact is they probably wouldn’t. Most software just isn’t important enough to warrant a steady stream of newness friction. Makers eat and sleep their software all day long, so most changes seem small and inconsequential. But users have other worries and changes to face in their daily lives; learning your latest remix is often not a welcome one. They invested attention to learn the damn thing once, then went on with their merry life. And what’s so wrong with that?
Nothing, I say. We have a very large group of customers who still enjoy Basecamp Classic. It’s been 2.5 years since we released the new version, but the Classic version continues to do the job for them. It just hasn’t been a convenient time for those customers to disrupt their work to upgrade Basecamp, or maybe they just don’t like change. It really doesn’t matter.
That doesn’t mean they’re not happy customers. Just the other day one wrote to say how much they loved Basecamp, yet felt obliged to apologize for not yet upgrading to the latest version. There’s nothing to feel bad about! Except that the software business makes us feel like there is.
Installed software didn’t have this kind of tension because of versions. If you were using Photoshop 3, you weren’t forced to upgrade to Photoshop 4 until you were ready. (Though other network effects, like sharing files sometimes forced the issue, but that’s a separate story). Something important was lost when we moved away from those clear versions.
Users lost the ability to control the disruption of relearning and adjusting to changes; developers lost the will to commit to revolutionary change.
Yes, splitting versions, like we did with Basecamp Classic, isn’t without complication. But from someone who’s been through the experience, the complication is not only overstated, but the benefits have also been under explored.
Maybe it’s time to ask yourself: What could we do if we weren’t afraid of revisiting the fundamentals of our software? What if we just did a new version and kept supporting the old one too? 2.5 years after we committed to this strategy, we remain happy with this rarely chosen path.