Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

The 10 Keys to a Successful Web App

02.23.2010
| 13975 views |
  • submit to reddit
Think of your favorite web applications.  The ones that you keep going back to again and again.  Even the ones that you are willing to pay for.  Chances are, it was fast, clean, instantly useful, and easy to find.  Along with these main features, there are also many other important factors to consider when building a web app.  Speaking today at the Future of Web Apps conference in Miami, Fred Wilson, a venture capitalist from Union Square Ventures, outlined several key principles for building a successful web application.  Wilson knows the indicators that hint at potential greatness in a web app.  His company invested in Twitter, Foursquare, Boxee, Delicious, and Feedburner at an early stage.  The following principles are what he calls "The 10 Golden Principles for Building Successful Web Apps."

Speed
This is the most important feature, Wilson says.  If your application is slow, most users will get frustrated and move on.  Applications must be designed with speed in mind. This will help its utility become immediately clear.  Tools like Pingdom can help you keep track of your web app's speed.

Instant Utility
Unless you're the next Facebook or LinkedIn, no one is going to want to spend an hour trying to configure a service, enter data, and import contacts.  Web applications should be friendly to social media sites like Facebook and Twitter, and they should allow users to import data from their existing social data stores. "These days, social media is as important as search" in matters of visibility, Wilson said.

Voice
Just like TV, Books, and Movies, Software is a form of media.  Your app needs personality because a genuine, original personality can endear users to your app.  Wilson says the cute "failwhale" on Twitter is a perfect example.

Less is More
'Start simple' is a good mantra for the web developer.  Sure there are popular sites that have become a total mess (I'm looking at you, Facebook), but back in 2004 Facebook was simple too.  Wilson's venture capital firm invested in Delicious because it was powerful, yet simple.  It did one thing really really well.  As long as your app does that, it can be successful.

Programmable
Open Source is an important concept in the world of development.  By making your application open to programming modifications, you give others the chance to build on your application and make it richer and more successful.  Don't launch your app without a read/write API ready.

Personal
This principle is not about conveying your own personality (that was "Voice").  Instead "Personal" means you should facilitate the end user's desire to add their own personality into the mix.  Let users customize liberally.  This gives users the feeling of co-ownership: a belief that they also helped make this application great.  Just don't let them have too much control, otherwise you'll have anarchy.  

RESTful
Twitter lists is a great example here.  Anything that helps keep your application URLs clean and concise is worth implementing.  This makes your app's namespace more memorable and portable.  Wilson says that LinkedIn doesn't do a very good job in this area.  

Discoverable
"A new Web app is a needle in a haystack," said Wilson.  You don't need to a marketing professional, you just need to understand SEO (Search Engine Optimization) so that Google and the other major search engines can index your application and its content.  It must also be discoverable by social media.  For startups that are strapped for cash, "guerrilla" or viral marketing can be effective because it's powerful and authentic if done right.

Clean
An overly complicated or unintuitive page can smother your app in the cradle.  The layout needs to be "clean" with plenty of empty space and large fonts.  Wilson says Tumblr's login is a perfect example.  

Playful
Finally, a web application must be engaging, and nothing is more engaging than good old fashioned fun.  Wilson says your applications should have a "game dynamic" that can turn your app into a pleasant little diversion. "The ability to play in an application is really important," Wilson said.  It will keep your users coming back for more.

Comments

Avi Yehuda replied on Wed, 2010/02/24 - 4:39am

Short and to the point.

Thanks!

Avi.

Nirav Purohit replied on Wed, 2010/02/24 - 11:49am

Agree with Avi. Good one.

Nirav

Carol Mcdonald replied on Fri, 2010/02/26 - 9:46am

there is a difference between open source and exposing a programmable api  (like Amazon, facebook)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.