App Development

The 4 Myths of Mobile App Development

“For an industry that’s built on science, the technology world sure has its share of myths.”

–David Pogue, Founder of Yahoo Tech.

The app market continues to evolve as developers and users explore the possibilities of mobile technology. In 2015, the number of mobile-only internet users surpassed that of desktop-only, with people now spending at least 54% of their digital media time interacting with mobile apps.

As the top digital disruptor in business today, it comes as no surprise that everyone, from first-time entrepreneurs to multinational corporations, is sensing the urgency to break into mobile in a big way.

However, there are so many misconceptions around mobile app development that a lot of entrepreneurs and businesses end up squandering time and money they simply can’t afford. In my experience at the helm for numerous app development projects, I’ve been able to observe what works and what doesn’t when it comes to creating a best-in-class app product.

If you’re looking to create an app that innovates rather than regulates, here are the top 4 myths that you need to bust to do mobile right.

 

MYTH #1: Developing apps natively per platform is a waste of time and money.

REALITY: 

If you want a five-star app, build natively. Period.

The benefits of building a cross-platform app seam clear. You only have to code some once and you can push it out to everyone using any device. Sounds simple. Logical. Facebook thought so initially, as did LinkedIn. But the ease was countered by some pretty dramatic downsides. How dramatic you ask? Well, Mark Zuckerberg called Facebook’s over-reliance on HTML5 as opposed to native as “the biggest mistake we made as a company”.

In comparison to native apps, a cross-platform app is worse across every important metric: functionality, performance, UI etc. When entrepreneurs and business go the easy route of app development, they don’t realise that all they’re doing is creating a crappy experience for everyone everywhere.

But cross-platform approaches still lure startups that don’t want to invest more time and money developing separately for iOS and Android Operating Systems. Instead, they rely on HTML5, hybrid applications and cross-platform toolkits, but none of these work well enough to build the high-end mobile experiences users expect. They will eventually, but they don’t right now.

Each of these solutions come with their own set of drawbacks:

  • HTML5: Cross-browser compatibility issues are difficult to resolve, which means that you end up needing to optimise for each platform anyway.
  • Hybrid Apps: There’s a leaky abstraction layer (E.g. “Is that a URL bar refreshing in the app?… Seriously??”) and the communication layer between the app and web view is complex and littered with errors.
  • Cross-Platform Toolkits: Require large amounts of custom code per platform, making it easier and faster to write native code for each.

The takeaway: Instead of going broad and writing something once, spend the time and go deeper on your most popular platform first. Then expand from there. You want to pick the platform that resonates most with your users — whether it be iOS, Android or both. It all depends on what you want the app to do and the audience it’s designed to reach.

Figuring out your optimal platform means you need to dig into the demographics of your user base. In a previous post about validating your app idea, I discussed how researching the size and shape of your market is a critical step in influencing the direction of your app concept. You need to see firsthand that different users’ habits are largely driven by the platforms they use. Android users look for functionality in different places than iOS users, and so on. From both a speed and quality perspective this is the only way to go.

 

MYTH #2: My backend server is ready to support mobile apps.

REALITY:

You will need to change, upgrade, or completely rebuild your backend to create the best mobile experience.

Most companies still aren’t used to building the type of backend server that creates top mobile apps. Without the right API design and implementation, an app will perform poorly in the real world. Some companies see increases in mobile traffic that are 200% higher — or more — than their website. Take banks as an example: Whereas customers can now check their account 10 times a day on their smartphone. Your server needs to be able to handle that kind of workload.

To avoid crash issues due to increased mobile traffic, here’s a checklist to consider when integrating a mobile app with your web server:

  • Maximum Payload Size: In mobile, the best experiences are the ones where the minimum amount of data is sent. A good API for mobile should allow the client to specify the maximum payload size returned from the server (4 KB is usually enough).
  • Retry rather than Redo: Given the flakiness of network connectivity, users should be allowed to send the same API call to the server multiple times for certainty. Retrying the same API call should not mean two calls on the same server end (E.g. Posting the same Facebook status message twice).
  • Low Latency: Bandwidth isn’t the only networking issue when dealing with mobile devices. The lower the latency on each API call, the snappier your app will feel.
  • Single API Call per Screen: This requires tighter coupling between the mobile device and the server, but can make for a very compelling mobile experience. Ideally, every screen on mobile would make at most one API call to the backend. To loosen the coupling, the API could be designed to allow variable return data, with much of the heavy lifting done on the server side.

 

MYTH #3: You can develop your mobile app internally as fast as an outside company.

REALITY:

Developing your app yourself will take 3x longer.

Throughout my time helping entrepreneurs and business embrace mobile innovation, lots of folks have asked how long their app will take to make. I may assess that an app would take three months to develop for one platform. Sometimes they’d come back with the decision to develop the app internally. Keeping tabs on these app projects, it comes as no surprise to see them finally launch almost a year later in the App Store.

If you want to develop an app, you can’t make the mistake of thinking just because you have HTML, CSS and JavaScript capabilities that mobile will be plug-and-play for you. Unless you have a dedicated, built-out mobile team, this will probably not be the case. And very few entrepreneurs and startups have this luxury. When they decide to go internal, they’re essentially choosing to pay with time instead of money.

Why does it take startups so much longer to do it on their own? They don’t anticipate their most critical need: Hiring.

If you are planning to build internally, you want to be confident that you already have the people and skill sets you need to execute. This isn’t just about coding talent either. You need to have people with mobile product experience, mobile Quality Assurance (QA) testers, and mobile UI/UX Designers. You need all of these people working together to put out a great product. Otherwise your developers may head down one road only to discover they had the wrong product vision, or they hadn’t even thought of QA.

When you bring in a development company, you are provided with experts in all of these areas who can work in parallel to iterate quickly and deploy internally. Having a Mobile Product Manager keeps you focused on the three to five (maximum!) core functionalities an app should have.

Speed isn’t just important for its own sake either. The sooner you get your app into the App Store or on Google Play, the sooner you get to see people’s reactions to it. The faster you can gather that feedback, the closer you are to your next release.

There’s also the chance that you’ll realise halfway through that your company simply doesn’t have the people or resources to finish an app it’s started. Then you have to call in a company for what we like to call “a rescue.” It doesn’t sound good — because it isn’t.

This doesn’t mean that working with any outside developer will do. When choosing an app development company, you’re really choosing a partner. To make sure you end up working with the right partner, we suggest asking every company a series of probing questions:

  • How do they learn as they develop new mobile capabilities?
  • How do they capture and leverage the data from their previous projects and experiences? What have they learned from working with other clients?
  • Do they offer the ability to co-innovate (pairing their own staff with the client’s to develop, design, and test)?
  • Do they follow agile methodologies (test driven development, quick iterations, constant communication)?

For all of these questions, the ‘right’ answer is not a one-size-fits-all, but the one that best suits your business. At agile development companies, internal knowledge sharing is accomplished through a combination of human and technical means: lunch and learns, demos, company-wide standups, an internal project management site, and rotating staff across projects to expose them to a wide range of experiences. You want answers that make it clear that it’s easy and encouraged for you to participate.

 

MYTH #4: If I outsource to a mobile development company, I won’t have to do any work.

REALITY:

For the best outcomes, clients need to be heavily involved with the company they’ve contracted.

Sometimes we have clients who just say “Hey, pretend to be me and make the decisions you think I would make”. In other words, they just want to hand the whole project over. At Launchpad, what we’ve found is that to do the best work, we need as much information as we can get as fast as we can get it, and that requires client participation.

In my experience as a Product Manager across a wide variety of app development projects, the greatest apps I’ve been involved with resulted from the client working very closely with the design, coding and QA teams. Ideally, they have the opportunity to collaborate with the client to see what everyone wants and envisions.

The best case scenario is actually having our client sit with us to work toward building a solution — not just trading emails or checking in every so often over Skype. We call this co-innovation, as it allows the key stakeholders to build together.

When you work side by side with someone, trust forms so much faster. It’s so much easier to make decisions and work through issues. Simply put, the ability to be co-located with someone and to co-invent is a key factor for app development success.

Ultimately, busting all of these myths depends on finding the right partner. You want someone who gets you, gets your app, and is just as invested in your success as their own especially if you’re at a smaller startup or a company that is only beginning to invest in mobile. Given the increasing importance of these platforms, finding this exact fit could not only make or break your mobile strategy, but your entire business.

Do you have any questions about mobile app development? Feel free to ask in the comments section below.