They say variety is the spice of life, and for the most part, I agree. As North American consumers we have a tremendous array choice, whether it’s the innumerable variety of coffees at the local Starbucks or the seemingly endless choices of breakfast cereal at the supermarket. No matter what your particular taste or preference, the marketplace almost always finds a way to meet your needs. I like that.
But for software developers variety isn’t always a good thing, especially when you consider the tremendous variety of development tools, platforms, and process methodologies one can use in mobile application development. HTML or Native App? Agile or Waterfall project management? So many options, so little time. And with the mobile app market still very much in its infancy, the landscape is only going to get noisier and more crowded. The infographic below from ClickSoftware.com gives you some idea of the tremendous size and exploding growth of the mobile app marketplace.
85 billion mobile apps and we’re just seeing the tip of the iceberg. Mind-blowing, isn’t it?
Now more than ever the importance of a solid, thoughtful application production process cannot be overemphasized. If an app is rushed through production it shows: it’s slow; it’s clunky; it’s ugly. A rushed app development cycle usually ends up with a 1-star marketplace rating (for consumer apps) or poor adoption levels (in a corporate setting). The marketplace is simply too crowded, too competitive for developers to risk turning out a mediocre app.
With that in mind, we thought we’d serve up a few of the mobile application development best practices that we run across again and again from industry experts and the development community.
Keep It Secret, Keep It Safe
Security and privacy in mobile computing can be a tricky balancing act. Too much and you risk turning off users with multiple logins, too little and you jeopardize the integrity of your customer’s data.
While the particulars of data protection will vary from app to app (an Angry Birds profile probably doesn’t need to be locked down as tight as employee information), the Center for Democracy and Technology, a nonprofit organization that works on internet public policy issues, recommends following the following five general principles around privacy and security:
- Be completely transparent about how you are using or transmitting user data
- Don’t access more data than you need, and get rid of old data
- Give your users control over uses of data that users might not expect
- Use reasonable and up-to-date security protocols to safeguard data
- As the app developer, you need to be responsible for thinking about privacy and taking privacy into consideration during the various stages of your app lifecycle
Keep an Eye on Analytics
One of the nice things about apps for mobile phones or tablet devices is that you don’t necessarily need to be connected to a network to use them. For developers, the downside of this convenience is ‘user blind spots.’ With app users off the grid, developers have a limited (or non-existent) ability to monitor usage details and track technical support issues. In a recent publication on mobile app development strategies, global consulting firm Accenture addresses this issue, saying“…it’s crucial to incorporate analytics features that track how users interact with the application. This will not only help identify ongoing technical support issues but also reveal whether users are interacting with the application in the fashion developers expected.”
Accenture further recommends incorporating crash log capabilities so developers can effectively take corrective action in app updates or future releases.
It’s All About User Experience
Most developers understand that it’s the user experience that makes or breaks a mobile application, so it only makes sense that developers dedicate a sizeable portion of their production efforts to creating an intuitive, user-friendly interface. The Human Factors Group at AT&T Labs emphasizes the importance of early-stage prototyping with sketch pads and stencil kits like UI Stencils and App Sketchbook as well as digital prototyping tools like Balsamiq and Axure.
And when it comes to testing the user experience, Accenture reminds developers that while a useful, easy to use interface is paramount, it’s easy to overlook some of the more basic technical issues during user testing like power consumption. After all, an awesome app won’t seem that awesome once users realize it’s a battery hog.
The App-Splosion Is Here
With a multitude of device platforms and development tools to choose from, mobile application developers face a technically challenging marketplace. But by following a few common sense (and commonly overlooked) best practices, developers can create efficient, appealing apps no matter what platform or development methodology they employ.
Do you have any best practices for mobile app development you’d like to share? Let me know, I’d love to hear from you.