What Twitter Taught Me on How to Build a Web Application
A lot of people are out in the world, looking for something. These people are not looking for a lost dog or wristwatch, but these people are looking for something more valuable; ideas. Ideas are extremely valuable now, and they always have been. Nowadays, ideas have changed slightly. They are more likely to involve software and vast server farms. A lot of people are wondering, “How do I generate an idea that will be popular and generate income for me?”
I don’t claim to be an expert, but blogging allows people to pretend to be experts on various topics, so I’ll take a shot at explaining how to make a popular application. Remember that other negative things, such as the application having a horrible interface, may reduce the effect of these tips.
How to Make a Popular Application
1) Create something that nobody needed before, but now that you have showed them, they want it.
This can be called the Twitter effect. In the history of communications, using 140 character messages to communicate isn’t what people thought that they really needed. Now, some people are crazy about microblogging.
A huge advantage in creating something that nobody previously thought was needed is that in the beginning, the creator has no competitors. Twitter has had massive success while competitors are not close to Twitter’s user count. Of course, Twitter’s mistakes have users flocking to FriendFeed, identi.ca, and Plurk.
2) Create something that can easily be used in many, many ways.
I’m going to use Twitter as an example again. People are constantly finding new and creative ways to use Twitter. Not everybody is just using it to broadcast what they had for breakfast. CNN is using Twitter so people can quickly be notified of breaking news (find CNN’s Twitter account here). Comcast is using Twitter to interact with customers (find Comcast’s Twitter account here).
2.1) Create something extensible
Both Twitter and Firefox have had a lot of success due to the fact that both are extensible (in slightly different ways). Twitter’s API allows developers to create things such as Twhirl and Summize (the latter being acquired by Twitter recently).
When you make something extensible, it makes it much easier to use it in many ways. Firefox is a great example of having an application with many uses through extensions. The Firefox extension ScrapBook can make Firefox into a primitive web scraper, Twitterfox gives Firefox the features of a Twitter client, and I could keep going with good Firefox-related examples.
3) Create something that the user thinks saves time.
They say time is money. Interestingly, helping decrease the amount of time it takes to get something done can generate you money. Notice that the title of this tip doesn’t say, “Create something that saves time.” If an application saves time, but potential users think it will waste time, then it does not matter that it saves time.
Conversely, if your application increases the time it takes to get something done, but the user thinks that time is being saved, you will still generate money. The problem with making the user think that time is being saved when time is being wasted is that it does not take very long for the users to figure out that time is not being saved at all. What’s that? It’s the sound of the customers walking away with their money.
How does this relate to Twitter? Now, a lot of Twitter users would simply say that Twitter is a time-wasting social network. Still, if a user thinks Twitter is a time-saving service, the user will use it as a time-saving service. Of course, the user might discover that Twitter isn’t saving them any time and then stop using Twitter. The key here is to use either Twitter itself or Twitter’s extensibility creatively.
An example of applying GTD (Getting Things Done) to Twitter is to creatively use the SMS features. Depending on the user, it may or may not save time. If you spend enough time thinking about it, more ways to use Twitter and Twitter applications can be thought up.
Posted in Best Practices, Twitter | Comments

