While nailing down the features of a successful app might be difficult, developers agree on some key themes about building them. Five essential things to know about mobile app development
So your business needs an app. It’s probably taken a lot of deliberation to get to this point but the reality has sunk in. Now the planning starts. Whether it’s to serve a real customer need or create one, building an app can be a harrowing task. Commissioning one, however, can be just as brutal.
The mobile application landscape seems to ebb and flow with the tides and it can be hard to tell exactly what characteristics make for a successful app.
Various features have been trumpeted since smart phones and tablets began their domination of the gadget landscape, but after polling a handful of local developers, there seems to be a few key themes.
Plan with your budget and audience in mind
Josh Sookman, CEO of Toronto-based Guardly Corp., thinks that a lot of budget is wasted before any code is even written. “First, look at, ‘what’s the underlying budget?’ and always make sure to balance performance and the breadth of availability,” he said.
There’s no point getting elbow-deep in development only to find that you’ve missed your key demographic. Performance for your app, whatever its use, must be taken into as much consideration as how many people you need to reach, and how many platforms they use. Otherwise, your budget will be quickly spread thin maintaining multiple sets of code.
Ed Van Beilen, principal at Toronto-based New Toronto Group, designers of mobile apps for RIM, the Weather Network and Chrysler LLC, said that while previously he got only requests for native apps, “more typically we’re seeing more of the ‘we want to cover all our bases’ sort of approach.” He said that the advent of HTML5 and Mountain View Calif.-based Adobe Systems Inc.’s AIR Runtime has given businesses far more depth of features while requiring only one set of code.
Both AIR Runtime, a packaged version of Adobe’s Flash environment, and HTML5, a new Web standard for coding, can run on multiple devices with a lot less coding budget.
“The advantage there is you can write your code basically once and run it on all these different platforms. The slight disadvantage might be perhaps in performance,” Van Beilen said.
While it may seem to be desirable to code on more flexible platforms, there are pitfalls.
Sookman warns that “native apps typically deliver a much more elegant, easy-to-use and snappy, response-based interface. It also allows you to customize a lot of the look and feel of the device itself,” whereas designing for so many different platforms at once can neglect the standard buttons and features users expect.
Noel Webb, vice-president of Toronto-based SpeakFeel Corp., developers of apps for HomeSense, SVEDKA Vodka and Royal LePage, said integration of location-based services is next on his list as a must-have feature.
Webb said they “are hugely requested right now.” In particular, SpeakFeel is getting a lot of requests to make daily deal apps, similar to Groupon, that integrate automatic location checks to personalize content and ensure coupons will work where you are.
Sookman calls the location phenomena “one of those game-changers (that) mobile really opens that up. Certainly, we’ve seen a lot of innovation around location and how we can use that for certain things, whether that’s games between friends, location-based coupons, or figuring out when you want to pickup groceries nearby.” He said the tools for location services are constantly evolving. GPS services are being bundled into nearly all phones, and that not only profoundly affected the development of Guardly, but, in fact, allowed it to be created.
Webb also said “gameification” could be the next big app trend. “Some of the bigger (apps) that are coming out, and more specifically, what a lot of people are beginning to look (for to) integrate into their apps, is this whole idea of ‘gameification,’” he said. “(For example,) Foursqaure gameifies the idea of checking in somewhere.”
Instead of merely offering up content in a portable form, or framing a mobile experience of a Web site in an app, many app makers are being tasked to gameify content by tying in an unlock and achievement system to app content.
Webb said it can be something as simple as giving rewards, or badges, to prompt stickiness in app use, and as complex as integrating a meta-game within the app that can be played on its own and actually spurs users to discover more services or products they didn’t know about.
Expandability on multiple platforms
Ideally, every business could afford the time and budget it requires to commission and maintain native apps for every platform. But, much like the first point, designing to your budget, often being able to expand to multiple platforms from the get-go is a more holistic, and realistic, approach.
Van Beilen said that “as much as creating native applications is the most efficient way to program, in terms of using the least amount of memory and getting the best performance per device, the limitation there is you end up having to potentially write three or four versions of the same program for those different platforms. The upside (is) raw performance.”
He also said that, while it seems great having three sets of code, you’re not done there. You also have to budget the maintenance and updating of those different code sets, so that none of your apps are ever left in disrepair or with outdated content.
Webb suggests a hybrid approach if you can’t pin down your audience to just one OS. “The idea of doing a cross-collateralization with an iPhone app and an HTML5 Web app, that is something that’s becoming increasingly asked for to be able to reach the largest user base and demographic that you can possibly get,” he said.
In fact, even the makers of Guardly, who painstakingly, and at great expense, coded native versions of the app for nearly every device, often question the need for native apps at all. “If I were making recommendations, and I have to many other companies, more and more I’ve found myself saying, ‘why are you building native? It doesn’t make any sense,’” Sookman said. “If you don’t need access to rich APIs, (or) a lot of the core-data APIs that some of the native clients give you, then don’t waste your time with it. It’s not necessary.”
Ease of use
This should be obvious, but it’s the mantra for every app developer. User experience is paramount. Even if you’re building your app on the slimmest budget and expected to hit every single device on the market, you cannot neglect the users or they will neglect your app.
Manish Jetly, CEO of Toronto-based dotH Inc., said that every programmer, and anyone who pays those programmers, should be aware of any and all environments the app will be consumed within. Each OS and handheld has its own set of buttons for specific actions, or assumed rules for navigation.
Building these user experience (UX) traits into the interface of an app can be the difference between making a painful, yet useful app, or one that even “laymen can easily use.”
Sookman agrees that, for instance, “iPhone users are used to a certain UX, whereas Windows Phone users would be used to a metro-style experience, and sometimes building (one app) for every platform doesn’t deliver that type of experience that users on the platform who use other apps and the OS would expect.”
It can be tricky to balance that, but each developer was clear; no number of features can supersede good user experience and user interface design.Related Download
Sponsor: IBM Canada
Exploring the frontiers of cloud computing