mrc's Cup of Joe Blog

Join us in exploring the world of modern development, evolving technologies, and the art of future-proof software

6 development mistakes that will kill a mobile app

EducationSummary: As more businesses create their own mobile apps (or mobile web apps), they’re entering uncharted territory. They aren’t prepared for the changes that mobile development requires–a problem that leads to costly mistakes. Learn about some of the most common mistakes, and how to avoid them.

The rise of mobile resembles the rise of the internet. They both saw rapid adoption. Both change the way businesses operate. Neither can be ignored.

The problem: For businesses, mobile is uncharted territory. While developing for mobile devices is a necessity, many businesses aren’t prepared for it. They aren’t ready for the changes that mobile development requires.

If businesses approach mobile development without understanding these changes, they’re bound to make mistakes. Like what? Whether you’re developing a mobile app, or mobile-specific versions of existing web apps, here are 6 development mistakes to avoid:

1. Not accounting for touch

Many mobile apps fail because they’re nothing more than scaled-down PC apps. The problem: They don’t address the differences between a touch-based interface and a mouse-based interface.

A mouse-based interface is precise. A touch based interface is not.

Hover boxes work on a mouse-based interface. They’re pointless on a touch-based interface.

Small buttons work great on a mouse-based interface. They don’t work for touch.

According to this article on penthouse-magic.com, “Research shows that the optimum size for a clickable area on a mobile device is 44px x 44px. These are the ideal dimensions to ensure that the average human finger can accurately target the intended link. This can be achieved by adding appropriate padding around a link to expand its clickable area, and applying adequate spacing between on-page elements.”

The differences between touch-based interfaces and mouse-based interfaces require a shift in development methods. Yet, judging by some of the mobile business apps I’ve seen, many business haven’t received this memo.

“Your app needs an interface that works for touch,” says Trevor Stricker, President at Disco Pixel. “Maybe this sounds obvious. But why do so many apps put things behind buttons that are teensy on a retina display? Why are there ever more than four tabs stretched across a screen?”

2. Not optimizing for speed

photo credit: Nathan E Photography via photopin cc
photo credit: Nathan E Photography via photopin cc
According to recent research, speed is even more important for mobile apps than it is for typical websites. Why?

Mobile users often lack time (or patience), and have no tolerance for slow apps. How much does a slow app hurt user adoption? Google once found that just a half-second delay in load time resulted in a 20% drop in traffic.

The question is: How can you improve your app’s performance? If you’re building native mobile apps, here’s a good list of performance-improving tips. If you’re building mobile web apps, here’s a great article for improving both performance, and perceived performance.

3. Not using an agile approach to development

In the past, development took a linear approach. Developers gathered requirements, created specifications, and created an application.

With mobile development (and web development as a whole), developers need a more agile approach. As technology evolves at a quickening pace, you need a different development approach. You need an approach that lets you adapt to changing needs quickly.

“The biggest mistake is to build an app in a “waterfall” development process,” says Alex Moazed, President & CEO of Applico. “A waterfall process is gated and linear. You will finish all of the design and wireframes before starting development, for example. The engineers will build from a full specification document that is difficult to change and update. Why is this a problem?

Human behavior is difficult to align with when building software, particularly mobile software. Something that you design in a wireframe could have a different experience when interacting with it on a phone. To that point, it is imperative to build mobile apps in an iterative process. Don’t fully design the app up-front. You should be developing the app and cutting builds every couple weeks to your stakeholders. Gather feedback as you go and improve upon the app in an iterative fashion.”

4. Not accounting for connectivity issues

What’s the biggest business advantage to mobile apps? They give you and your employees (or even your customers) instant data access from anywhere.

Now, what happens when your salespeople venture into a rural area? What happens if your customers live in an area with spotty coverage? Are your mobile apps worthless without a data connection?

“Your app needs to handle a flaky net connection,” says Stricker. “Of course it works in your office connected over wifi. Maybe it handles the net connection dropping by saving the data to send for later. But does it handle the flaky state when it transitions from 3G to LTE and silently breaks the connection? Does it handle when the phone claims to be connected but is really on a gated network without access to the internet? Is it silent while trying to connect, making the user think it’s hung?”

5. Not building for every platform

photo credit: miniyo73 via photopin cc
photo credit: miniyo73 via photopin cc
Do you remember the dominant players in the smartphone market before iOS and Android came around? RIM and Palm. Now, one is out of business, and the other is struggling.

When the iPhone burst onto the scene, iOS quickly took gained ground in the smartphone market. Then Android came along and eventually took the mobile OS lead. Now, we see Windows 8 making a push. What will the landscape look like in another 5 years? Who knows?

Now, I mention all of that to make a point. Mobile operating systems come and go. Users are quick to jump to the latest and greatest option. If your development efforts don’t address these facts, your app will likely fail. These days, you need apps that work across every platform.

“When developing apps it’s important to have a big picture approach,” says Boris Kontsevoi, president and founder of Intetics Co. “Don’t just design for one platform thinking that it’s not necessary to cover other platforms or that it won’t be too hard to develop these later on. While it certainly won’t be “too hard”, it’s much more efficient to use cross-platform tools from the outset. This saves time and money down the line if an expansion is needed.”

6. Not accounting for TCO

Many companies focus solely on development cost and ignore Total Cost of Ownership. They forget about the maintenance, upgrades, changes, etc… they must make to their app once it’s built.

Once you build a mobile app, the job doesn’t stop. The fact is, developing your app is the easy part. Maintaining and enhancing that app is the challenge.

“Obviously updates will be made as operating systems and other adjacent software changes,” says Chris Rovin, Cultivator at PwrdBy. “But you’ll learn about how the app is used, and how different mobile interactions are than web or in person interactions. No matter how good the IDEA is, you can’t predict everything. Be ready to make changes and find a dev who’s in it for the long haul.”

So, what do you think? Is there anything you would add to this list? If so, please share your thoughts in the comments.