What makes a great app
Over the years I have gathered a lot of experience in the art of app building. Those interested in my most recent work can check out CityXcape, an app for people to find secret spots. After years of arduous experience, I would like to share some the insights I have gained while honing my app building skills.
So what makes a great app? Experience has taught me that the apps we enjoy have four elements: 1) A clear use case. 2) Responsiveness. 3) Personality. 4) Community.
Everything starts with purpose, and apps are no different. Your app must have a clear purpose to the end user, a task it is to deliver. This purpose is what folks in Silicon Valley call a ‘use case’. Not only should you have a use case, but your app should set expectations by stating what it is. Do not state a use case you cannot deliver. Set expectations, but make sure your app is able to fulfill them.
Responsiveness is the degree an app reacts to user interaction. A highly responsive app provides feedback to each interaction. In other words, responsiveness keeps the user in tune. If a user touches a button, that button is highlighted a different color. If there is a symbol, an explanation pops up when it is hovered. If there is a waiting period such as a download, a progress bar is shown. Again, a responsive app keeps the user in tune by communicating feedback information with each interaction. If using an app were to be seen as a conversation, responsiveness lets the user know that the app is paying to them. This not only improves user experience, it also places your app on a professional level.
Like people, most apps lack personality. They might do a task particularly well, but we stop thinking of them the minute that task is complete. For people to view your app as more than a commodity, you need to give it personality.
Personality adds dimension to your app. Most developers and product managers see this as trivial but it is personality that turns customers into fans. In fact, every time you inject a touch of personality into your app, you are slowly branding.
People have come to view branding as a high level concept to be discussed over whiteboards but that is far from the truth. Branding is a side effect of personality. The process looks something like this: 1) Personality is spontaneously injected into an application at random points in time. 2) These small bits of personality gradually converge into a theme. 3) This theme eventually becomes so pronounced that it crystalizes into a brand and voila!
An app without community is lifeless. Think of Uber for a bit. Uber scores a perfect 10 in use case, an 8 in responsiveness, a 4 in personality, and a whopping 0 in community. Uber provides no sense of community to either the driver or rider. It’s a transactional app.
As an application developer, you should provide elements that allow members to interact and feel like a community. It’s important to realize that what community looks like will vary depending on the application. For an app like Uber, community can be as simple as riders saving drivers they like into a favorites list which they can then use later for future business. For a social network, community may mean a platform for users to argue. There is no community cookbook, you will have to study your app and see what community looks like in this context.
In a nutshell, apps need to have a clear use case, be responsiveness to every user interaction, exude at least some personality, and allow a community environment to foster by empowering its users with the right tools. The app that scores perfectly in these dimensions is the one to rule them all.