By John Houghton on May 17, 2012
Creating an iPhone app for your company has many benefits, and can even be the holy grail for some, but there are misunderstandings about what it takes to do it right. We’re concerned here with the process for creating a high-quality enterprise app. There is a lot of information out there on how to create an app in 5 minutes, or for as little as $99, but we aren’t concerned with that here. You can also create a web page in 5 minutes, but this level of effort ultimately won’t help your company, and neither will cranking out a cheap app. If you are putting your brand on an app, it has to be good. There are a lot of apps out there that don’t succeed in the marketplace because they don’t follow a strategy, are poorly designed and built, are buggy because they are not well-tested, and don’t have many downloads because they are not promoted. Below is the basic process for building a high-quality app of simple to moderate complexity.
Strategy and Planning – What are your ideas? What are your goals? What’s the competition doing? Before you do anything, you need to see what else is out there to understand the other offerings and how they are positioned against the market. How are other apps promoted? Look at penetration and user feedback. Download them and see how they work. Generate your own ideas on how you think your app should function. All of your ideas need to be vetted and you need to get on the same page with your stakeholders. Your app needs a name, so you’ll need to deal with copyright issues. Time: 3 days to 3 months.
Design – After researching what’s out there, you should have some good ideas for designing your app. A design document is necessary so that engineers know what to build, and it is even more important if you are dealing with offshore resources. The design document should list the requirements and the functionality necessary to meet those requirements. The more you think there is a chance for misunderstanding, the more detailed your design document needs to be. It can also include market requirements, user profiles, wireframes, storyboards, use cases, pseudo code, and so on. It is best if this document is not written by an engineer, but by someone who spends a lot of time with users. Time: 5 days to 6 weeks.
Programming – When a lot of people get quotes for apps, the quote is only for programming, but as you can see, an app needs strategy, design, testing and promotion in order to make it viable. Once you get your designs done, you hand them over to an engineer, or a team of engineers, who then code the project. To do a serious app, your developers should use native xCode and be writing in Objective-C and Cocoa Touch. These perform better, are easier to test, and offer the full functionality available in iOS (Apple’s mobile operating system). Whether you find your resources offshore, in-house, or use a local vendor, this is a subject for a future discussion (I’ve addressed some of it in this post on development cost). Biggest pitfall: You think you’ve communicated everything clearly, but instead of realizing your vision, you end up with a zombie app. Safeguard: Regular and excessive communication – have them repeat back their understanding of what they’re building. Time: 10 days to 3 months.
Testing – This is a big one that doesn’t get enough attention. Testing is a big exercise that requires a clear methodology and due diligence. If you’re doing this in-house, you need to go and buy the target devices, which can include: iPhone 3, 4 and 4s, iPod 3 & 4, iPad 1, & 2, and they should be new. In addition to the hardware, you need to cover your target deployment operating systems, whether they are iOS 3, 4, and/or 5. Although you can set your app so that it is only compatible with iOS 4 and above, you still will have some thinking to do. I use some of my friends as a barometer of typical users who sometimes lag in upgrading their devices. One friend has an iPhone 3GS and he runs iOS 3.3.x, so if you make it only compatible with iOS 4+, you’re saving money, but you’re missing part of the market. If you are a global company, you should also test in various geographies. We’ve developed apps for global companies and during testing we found bugs that only manifest in certain countries and on certain carrier networks. Given the possible combinations of hardware, OS, geography, and carrier, there could be millions of test cases, so really you can only cover the big ones (major carriers, major countries). For example, I’ve seen European apps with server-side components that don’t work in the US and vice versa. Carrier-specific issues are difficult to diagnose, and one bug can take weeks to fix. As part of testing you can also perform usability testing with your target users in a user interface lab. Time: 2 weeks to 2 months.
Release and Promotion – Have you ever taken a chance to see a film that had a good title but you knew nothing about it, only to find yourself sitting in an empty theater? Hollywood knows very well that a film needs a heavy promotion budget in order to get people into theater seats. The same is true with apps. ‘Nuff said. Time: 4 days to 2 months.
Developing an enterprise iPhone app can be a rewarding experience for both you and your company. This is a basic summary, but by looking deeper into each of these best practices, you can have better luck with enterprise iPhone app development.