Making a great app takes time

Hey all, I’m Bruce. I’m a new hire at Shockoe.com. I’m very excited to be here on the front lines of the mobile revolution!

Building a mobile application involves much more than just making the app. There’s extensive design work, development time, and testing that goes into every mobile application that you ever use. To further complicate things, not every app is created equal, and many projects have specific needs that can be difficult for a non-technical user to understand. As part of Shockoe’s mission of helping you tame the mobile monster, we’ve put together a few things worth considering when you’re trying to design your mobile application.

Making apps takes time. Making a great app takes more.

Creating an app that suits both your company’s and users’ needs takes time. Time needs to be spent on coming up with a design that catches the eye and conveys all of your information, and time needs to be spent with the code behind the application to make sure that it can actually do everything that your customers need it to do. Then there’s testing. Though often overlooked, testing is the difference between an app that ‘works’ and an app that you can’t live without. A little bit of extra time on the testing of your app can make a world of difference when it gets into your customer’s hands, and make the all important first impression that much more memorable.

Cross platform support: a whole new can of worms

Take a look around any public space and you’ll see dozens of different devices. Apple, Google, BlackBerry, and Microsoft each have their flagship lines of phones, each with their own operating systems, and frankly it’s extraordinarily difficult to support them all. Here at Shockoe we make use of Appcelerator’s Titanium API, which allows us to share a great deal of code between different versions of our applications, but even that doesn’t come for free. Each OS has its different quirks, different UI themes, and different modes of use, and every different device will take debug, design, and development time, no matter how awesome your tools are.

Servers: out of sight but not out of mind

People don’t tend to think about servers when they’re thinking about mobile applications, and for good reason. If a server is doing its job, the users will never even know it exists. However, when you’re thinking about making the next hit mobile application server needs are something you absolutely need to keep in mind. Will your users need an account to make use of your app? Will you need to be able to send updates out to your users? Will you need to store information from various users’ phones for your app to really be useful? In any of these cases, you’ll need some kind of server.

Long term maintenance: How long will you be living with this app?

After your app is finished, it enters into a new phase of its life. As devices change, other software gets updated, and user feedback is received, it is important to continue to update your application to address these changing concerns. UI elements may need to be updated to work with the hottest new version of iOS, you may need to fix an error introduced by an update to Google Maps, or your friendly neighborhood hackers might find a security vulnerability in some library that is critical to your application and require an update or complete rewrite of the problematic code, or your app could become so wildly popular that your old servers just don’t cut it anymore. You need to be prepared to deal with all of these things when you start planning for your application.