The million-dollar question on everyone's mind is: "How can my app become the next Angry Birds?" An amazing app requires more than just technical development know-how. There are many factors and skill sets a developer needs that go beyond understanding the mechanics and how a feature can be coded. Experience in software development is an obvious plus because you can work on the technical details that prevent the app from crashing, using too much battery life or causing memory leaks. Most developers have the misconception that if they come up with a great idea and create it, the users/consumers will come, but that's not necessarily true. Just because the app executes well technically doesn't make it an amazing app. Other factors to creating an amazing application include: usability of the application, quality assurance testing, and marketing / sales/ business development (yes, touching the dark side). These factors are often overlooked when creating an application so let's take a look in further detail:
Understand your audience! You need to clearly understand the demographic that your application is targeted towards. For instance, the best games challenge a user or have addictive qualities that compel more gameplay. When you play and win a challenging game, your body releases feel-good endorphins. So when developers create a game, it must be challenging enough to be interesting, but also provide a sense of accomplishment. The game needs to be addictive and immersive (i.e. takes them to a virtual world for a short period of time and allows them to strive for a sense of accomplishment). Understanding your demographic allows you to understand their psychological drivers thus allowing you to create the addictive scenario needed to keep that demographic interested and coming back for more.
The details in the design and using features that enhance the user's experience and immerses them deeper into the app is critical in building loyalty, as well as creating consumer demand. Having a polished look is also an important factor to making an amazing app.
One way to create a more engaging and immersive experience can be borrowed from the video game console world. For years haptic effects have provided realistic rumble or force feedback in video games. For gamers, it gives a sense of realism as they engage in virtual surroundings. The technology has made its way into mobile devices; recently Grand Theft Auto III from Rockstar Games used haptic effects to create a console-like gaming experience on Android devices where users can feel every punch and kick they land in a fight. The key to success is to enhance the action of the app with haptics, and not overwhelm the user, and by using proper haptic design tools and techniques, the developer can minimize battery impact.
Introducing any new technology like haptics into an app can cause confusion if incorrectly applied, so it's critical for developers to have a clear design phase within the development cycle that ensures the user interface looks and feels like it should. A defined development cycle with a clear design phase helps developers identify and address usability issues and opportunities, and is critical to the success of an app.
Quality assurance (QA) testing
This part of the product development cycle is often cut short or overlooked completely. A QA engineer actually has a different thought process compared to the developer, so it's not advantageous to let the developer do the QA for an app. The app developer is often too involved in the mechanics to be able to do a thorough QA testing. App developers usually do their own unit testing, but the QA engineer has to do the overall testing like stress tests, crash test, memory leak tests, overall functionality, etc. They approach apps as if they are the end user. A good developer never short cuts this process because it comes back to haunt them. It takes a lot more effort to get a consumer to try an app again after they've written it off due to a bug they encountered.
Marketing, sales and business development
Understanding your demographic also applies to the marketing, sales and business development part of the product life cycle. As I mentioned earlier, just because you built it doesn't mean the consumers will demand it. Marketing is necessary to all successful apps. Marketing is how an app becomes well known. Marketing, sales and business development are the army that can bring in the money for applications. We've all heard the success stories.
As part of the marketing, sales and business development process, you need to create a great name for the app, something memorable and catchy. You also need to make sure you have a good tag line and an elevator pitch because you never know who you meet and when you only have a minute to promote your application. Messaging needs to clear and crisp.
Building an amazing application comes down to successful execution of many things some of which are usability, great technical features and development cycle, extensive QA and good marketing. At a minimum, these factors will get you closer to being the next developer to create a big application, but a little bit of luck and the resources I've listed below can't hurt either!
Suzanne Nguyen is the director of developer marketing at Immersion, a firm that provides haptics technology for mobile devices.