Featuritis, Tyranny and Web Applications


I’ve been excited about the possibilities of web apps ever since Paul Graham sung their praises back in 2001 (I’m sure other people were talking about them in 2001 and before, but Paul’s essay was especially influential for me). What’s not to like? With web apps you get to release early and often, get real-time feedback on which features your users actually use, there is no clunky installation, and you get to write your app in something other than C++ (in my case, we got to write Seekler in Ruby, which is sweet).
One of the most promising properties of web apps is that they aren’t as susceptible to featuritis. If you’re not familiar with featuritis, just think back to the earliest version of Winamp you ever installed. It was a lean, simple, just-plain-great mp3 player. You know how you stopped using Winamp because they added all these insane features that made it slower, bigger, and less usable? That’s featuritis – the tendency of successive versions of software to add more and more features, most of which you never use.
Featuritis isn’t completely the product of over-eager developers (although that’s part of it). It’s mostly a result of the economics of desktop software – if you want someone to buy/download the newest version of your software, you better add some new stuff to justify it. No one is going to pay $200 for a new version of Windows that adds no new features, but is simpler, faster, more stable, and more secure.
Web apps don’t have this same pressure, because there is a different business model. With web apps, developers don’t have to justify the next version. Instead, we just have to make sure the current version is awesome enough that you’ll keep coming back (and either click on our advertisements or pay a monthly fee, depending on the app).
Web apps can shift their focus away from features and compete on things like performance, usability, simplicity, community and content. Of course, features are still important – although you don’t have to convince users to get that next upgrade, you still have to prevent them from moving to your competitor. But whereas before the focus was almost entirely on features, it’s now a little more balanced, so hopefully that means less featuritis and less bloat.
Jeff Atwood got me thinking about all this when he wrote about featuritis over at Coding Horror. I was reading his thoughts on upgrading to the newest version of Winamp, when this caught my eye:
“I don’t have to upgrade, of course, and there’s nothing forcing me to upgrade.”
And there lies one of the key advantages of desktop apps – even though there is considerable pressure for user to upgrade their desktop software, they do have the freedom not upgrade. And many users don’t upgrade. I know many users happily plugging away with old versions of word processors or graphics programs, some of them quite content running Windows 98. In fact, there are whole sites devoted to making sure people can find and use old versions of desktop apps.
The vast majority of web apps simply take this freedom away from their users. And yet, in all the talk I hear about the greatness of web apps, I rarely hear this problem discussed.
I think as we move out of the early days of web apps, this is going to be a bigger and bigger problem. The sizable number of users who don’t upgrade their desktop applications regularly are going to be pretty annoyed every time we force some new, shiny toy down their throats. Are we developers going to be (hopefully benevolent) dictators, forcing each individual to endure what we think is best for the masses? Or, on the other hand, will we be so terrified of angering our users that we stop delivering new features altogether? Neither option sounds that pleasant to me.
Clearly, I’m not the only one concerned about this: check out the latest version of Gmail. You’ll notice that they have a new link in the right-hand corner: ‘Older Version’. And I’m glad they do, because GTDInbox doesn’t work with the new version. But how long will they keep that up? Will they keep a link to all past versions?
It would seem the ideal situation would be to let users opt-out of updates but this presents some pretty big techincal headaches. Maybe you can just skin the old UI on new functionality to hide some of the new features. But when a new feature requires changes to your database, how are you going to make sure all current and old versions play nicely together? Are you really going to test creating and viewing data on every pairwise combination of app versions? Or are you going to sandbox old and new users into different DBs? Any way you slice it, it’s going to get real complicated, real fast.
Perhaps this is just a fundamental trade-off for web applications: you get some great benefits, but on the downside, you’re at the whim of the developer. But I suspect it’s solvable. I doubt there is a silver bullet, but if we start talking seriously about the trade-offs and possible solutions now, we might be able to get the best of both worlds.


One Response to “Featuritis, Tyranny and Web Applications”

  1. Adam Says:

    I suspect that GMail will eventually force the upgrade, once the third-party plugins have been fixed so they work with the new version and Google is more confident in its stability. They also introduced some wrapper functions that third-party plugins are now supposed to call so that they can rely less on the implementation, giving Google more freedom to change its implementation in the future.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: