Why do so many mobile apps suck?

If you work at a mid size enterprise and are in charge of rolling out your company’s new mobile app offering, unfortunately your options suck. Your boss or their boss probably just used a beautifully designed consumer app, and they had a vision for something your company could do on these incredible phones to make your customers happier. Now it is your job to make it happen.

This app will be harder for you to build than that whiz bang camera app of the week. You will have to figure out how to:

  • Not only support the devices out there, but budget to support all the new ones coming (new OS versions, as well as new platforms and form factors)
  • Integrate with whatever backend systems hold the data that your app will need
    Make sure the app is secure enough so your IT group doesn’t shoot you

If you don’t happen to work out at one of the few companies that has assembled a strong mobile development team, then these are your options:
Use a Mobile App “Platform”

Whenever there is enterprise grade complexity, there are never a lack of platforms to choose from. I’ve been looking closely at these the last couple of months, and can put most of them into one of two buckets:

  1. MEAPs – Mobile Enterprise App Platforms

What they do -A combination of tools and services a company can use to build an app. They generally offer some guarantee of future proofing the app, promising support for new devices and OS updates. If this seems like a vague description, it is because the products are just that, vague.

How they came to be –  Many of these usually come from companies that have been engaged with companies as professional services vendors, and saw the general trends that I listed above. They also realized that they were building some basic components across all their customers, so the obvious next move is to bring these components under one umbrella, market it as a platform and shift their revenue from hard to scale, chunky, unpredictable services revenue into predictable, scalable licensing revenue.

Why they suck  – While there may actually be some productized code in these platforms, they generally are customized per deployment. To take advantage of the productized parts, the customer can either assemble pre-built components into a mediocre app of some sort, or live through a costly, maybe lengthy customization phase – which they were trying to avoid in the first place by selecting a platform to build their apps.

  1. Visual App Designers

What they do – Enable non-developers to build an app using some set of WYSIWYG tools

How they came to be – If scarcity of app developers is a problem, than let’s make it possible to build apps without them.

Why they suck – These generally involve translating some visual design language to native for all the major mobile platforms at some lowest common denominator. This results in a poorly optimized user experience on every platform. Steve Jobs says it better than I ever could:

We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

–Steve Jobs

Build a Team

Good luck here. The scarcity of mobile app devs is well documented (read more here). If you are a qualified mobile app developer right now, your options are endless. You can opt for the cool small company/startup of the day, or any high-profile, brand name company you want – they all need you. Recruiting and retaining a team at a mid size company is going to be painful.
Hire a Vendor

There are any number of companies out there that will build an app for you. From large service providers to 3 man outfits based in a far flung locale. I won’t dig into the pros/cons of this since this option has and will always exist in roughly the same form, everybody differentiating in whatever way they can to maintain some margin in what always becomes a race down to zero margin.

None of these are great options, and it feels very much like companies building web sites in the late 90s. The options aren’t that great, and the results don’t ever wow you, they just kind of work. Just like building for the web did, this will evolve. Talent will become more available, the tools will mature and the platforms will settle down. Along they way though, there is going to be a ton of opportunity for products that can make this process less painful.