Evan Williams, the Blogger guy and Twitter co-founder, gave a talk at LeWeb3 about keeping software small, and how sometimes you can create a product by removing features from an existing product. He showed how Twitter is less than Blogger, no titles, comments, templates, etc. It’s almost nothing compared to Blogger, but we’re using it and liking it.
It’s not a new story. When I was coming of age in computer science, the newest computers were minicomputers. They were called that because they were smaller and did less than the mainframe computers that came before. They were followed by microcomputers which did even less and were a lot more popular than minicomputers (which of course were more popular than mainframes).
Scaling things down can make them more useful. But it’s a paradox because once a feature is in a product you can’t take it out or the users will complain so loudly that you put it back in right away. I know, I tried, a number of times to back out of features that I thought of better ways to do. You can always add features to products, it will make the existing users happy. But it often comes at a cost of making the product more complicated for first-time users, and they don’t have a voice, they can’t complain, they just go somewhere else, usually quietly.
So Evan has a point. Software design, if you’re creating wholly new products, is like haiku. Find the smallest subset of a mature product that will attract people and ship it.
But there are certainly features they could add to Twitter that would have no impact on the steepness of the learning curve (i.e. how easy it is for a new user to get started). For example users are good at skipping over prefs they don’t understand. But you have to think carefully about what the default should be, so there’s no penalty for not caring.
Also features that only appear in the API have no cost in complexity of the user interface. They might make it possible for a developer to build a new product on top of the existing one. Since the user of the base product can’t see the feature, it can’t make it harder to learn. An example — Flickr lets you build an RSS feed of recent pictures that have a certain tag, say snowstorm. It’s nice to have, but only if it doesn’t get in the way of other more basic features.
Some users say they don’t want new features, but I bet most of them would be very happy to use a new feature that made Twitter more fun or useful. And there are alot of users who don’t say anything about it, and don’t think much about it. Most people aren’t interested in theories about why products catch on, they like it or they don’t, and don’t know why they do or don’t.
It’s always good to ask questions about why things work, but if I could offer the Twitter folk any advice, I’d say don’t hesitate too much to put in new features that will make users happy. Ultimately users like new features in products they use a lot. There’s a reason why products tend to bloat over time, it’s because users demand it. The trick is to not compromise too much on ease of learning.