10 Golden Principles For Building Successful Mobile/Web Applications
Wildly popular VC blogger Fred Wilson defines in an excellent 27 minute video the ten most important criteria he uses when deciding to give the gold, that is, fund a web application. Note, this video is from 2010, so no doubt the ideas are still valid, but the importance of mobile vs web apps has probably shifted to mobile, as Mr. Wilson says in a recent post: mobile is growing like a weed.
- Speed - speed is more than a feature, it's a requirement. Mainstream users are unforgiving. If something is slow they won't use it. Pingdom is used to track speed across their portfolio. A trend they've noticed is that as an application slows down they don't grow as quickly.
- Instant Utility - a service must be instantly useful to users. Lengthy setup and configuration is a killer. Tricks like crawling the web to populate information you expect to get from your users later makes the service initially useful. YouTube won, for example, with instant availability of uploaded video.
- Voice - Consumer software is media (magazine, TV, newspaper), each media property has a POV. Your software needs a personality/attitude. It can't be bland. The Fail Whale, for example, showed Twitter's personality.
- Less is More - services should do one little thing, all the time, very easily and very well. It should be quick, easy, and fast. These kind of high utility services do well and give you the platform to grow upon.
- Make Your Applcation Programmable - Others should be able to build on top of, connect to, and add value to your web application. Create read/write APIs. Read-only APIs are not real APIs. Brings more energy/users/richness/data to your application. Like speed, it's absolutely essential.
- Personal - make your application infused with your users energy by allowing them to contribute more data and personality to your app. This generates a feeling of ownership and the more likely they will advocate it and be part of your marketing team. Includes: changing backgrounds, avatars, user generated content.
- RESTful - create deep and open architectures where everything in the application has a clean and comprehensible URL. Example: https://twitter.com/fredwilson/lists to see all the lists Fred Wilson is on. This is an easy to understand URL, it can be emailed, and it facilitates the discovery of your application.
- Discoverable - build your application from the ground up to be discovered by Google (SEO) and social media (virality). Understand SEO so your application can be discovered in the haystack of other applications. The product itself needs to be viral, it can't just be added in later. The product must be a marketing vehicle for the product itself. Twitter and FourSquare, for example, launched at South by Southwest and the application was tweaked to work especially well in that environment. Use creativity and work to get your app to spread.
- Clean - the application can't be busy on the page. You need to be able to look at it and not be bothered with lots of stuff. Use lots of space, big fonts, and not too much functionality on any one page. Make it inviting and make it so users know immediately what to do. Example: http://www.tumblr.com/login, let's people know what they need to do.
- Playful - use game dynamics to help users have fun and incent the kind of behaviours you want them to engage in. Example: Weight Watchers uses goal setting and reporting. LinkedIn: relationship accumulation. FourSquare: badges.
URL structure and SEO discoverability are two obvious changes in the mobile first world, which makes the other avenues of discoverability all the more crucial.