Editor's note: Andrew Mager is reporting from the Future of Web Apps (FOWA 2010) conference, held in Miami from February 22 to 24. Click here to read all of his coverage.
Fred Wilson from Union Square Ventures opened up Future of Web Apps in Miami this morning with his top ten tips for creating a successful web app:
SpeedSpeed is more than a feature, it's the most important feature. This goes for power users and mainstream users. Power users will give more sympathy for you if you are slow, but make it as fast as grandma can stand. Use Pingdom to keep an eye on your speed.
Instant UtilityThis means the service is instantly useful to you. If you build a service and the user has to spend an hour configuring the service, importing contacts, and data entry, people aren't gonna wanna use your web app. There are lots of tricks to use for instant utility like Facebook Connect or letting the user import data from LinkedIn.
When Youtube first started there would be a message saying, "come back in a week or so"
VoiceSoftware is media today. Just as media has a voice and personality, so does your software. The failwhale is a good example of this; it gives the company personality, attitude and it made Twitter media-saavy.
Less is moreOver time, you can grow the utility of your service, but start simple. Think about Facebook in 2004. Union Square invested in Delicious because the service was simple, but powerful. If you can do one little thing really really well, then you are building a successful web app.
ProgrammableMake your application programmable. You have to give others the ability to build upon your software. If you launch without a read/write API, then you are living in the dark ages. More users developing on your software makes the experience richer for all.
You want want to infuse your application with your user's energy and personality. The more they can contribute, the more ownership they have in it. Make your app more personable for everybody. Let people customize everything if you can. This can also be a bad thing though, don't let your users have too much control.
Make it RESTfulEverything in your application has a clean, comprehensible URL. Think Twitter lists: http://twitter.com/mager/design. It's really simple. This makes your app way more portable because the namespace of your application is memorable. LinkedIn does a poor job of this.
DiscoverableThere are millions of web apps out there, so you better understand SEO. You have to build your application from the ground up to be optimized for Google. It has to also be discoverable by social media; this is more important than search.
CleanThe application cannot be busy on the page. You can't be bothered with a bunch of crap. Big fonts, inviting, and people should know right away what they need to do. Tumblr's login is perfect.
PlayfulMobile, social, global, playful, and intelligent. Playful is the fun part of making software. Your users want to have fun.
The ability to play in an application is very important. The game mechanics will lure people back in. Think about how Weight Watchers works; it's a game. You establish goals, measure yourself against those goals, and get rewarded for executing on those goals.
Your web application should have some fun baked in.
Extra tips: don't hire a marketing person. It's gotta come from your team. Keep product marketing and guerilla marketing separate.