Why are apps still broken?
When we talk about the apps we use, we always seem to focus on the ones that work. We talk about Monzo’s clarity, the fact that WhatsApp somehow works better than every phone’s in-built SMS or Google Map’s slightly unnerving ability work out where we’ve just had dinner.
We talk a whole lot less about why some apps always seem to be slightly broken. Think about think about the apps from service companies, like the ones from IKEA and FedEx. These kinds of apps aren’t just buggy and clunky – they don’t really do what you’d actually expect them to do.
Let’s take IKEA as an example. They don’t have one, or even two, apps – they have three, all of which aim “to make shopping with us easier and more inspiring” and none of which do quite what you’d expect. The IKEA Store App is probably the most puzzling of the lot. You can look for items, build up a shopping list, find stock in a store and manage your offers. The one thing you can’t do? Buy anything. You can order online or do it in the store, but you somehow can’t actually do it in the store app. Even worse, their catalogue is pretty much just that – a paper catalogue stuffed into a mobile phone app, and it’s about as usable as you’d expect from that description.
There are plenty of other offenders.
When you book a table at a restaurant through OpenTable, you can't pre-order your meal, order flowers, get food or wine recommendations, or call a cab after dinner.
When you use most modern car apps a lot of the features make you feel a bit like James Bond. You can check where your car is parked, send routes directly to the onboard computer, lock and unlock doors and sometimes even control onboard cameras. But you cannot make an appointment at the dealer, can’t pre-order spare parts and in, some cases, you can’t be sure your car is even secure.
You get the idea. The products we use every day are surrounded by so many ancillary services that it’s really quite odd not to see these represented in the apps that are meant to make things easier for us.
So, who can we blame?
Designers for not being creative enough?
IT for bogging everything down (because we hear that all the time)?
Managers for not recognizing the full potential of apps?
The answer is: None of them.
We're still trapped in data silos
The problem lies with the data and how data is generally very hard to extract from the silos it gets “trapped” in. Organizations regularly find themselves in a mindset where it’s "okay" to have their software keep all its data to itself; you might even go as far as saying it's kept “hostage”. Vendors tell you that this is the only way to keep it safe.
Let’s go back to the IKEA example (and, of course, this is all speculative).
The problem probably already begins with their backend systems which manage commerce, stock and services. It may be an older backend and judging by their generally negative reviews on consumer review websites, it seems to have serious issues. It probably isn’t great to use internally, has faults with dealing with purchase information and may on an old server in a basement, or worse, a mainframe. But it’s the system they once bought for a ton of money because it worked, say, with an older inventory management system [or: insert any other arbitrary reason here].
If you wanted to introduce app-based workflows into a system this old, you probably don’t have very many options.
But it shouldn’t have to be this way. What if our data silos didn't have to be so 'silo-ed'? This is essentially why SaaS and the Cloud emerged; their standardized API infrastructure was a great first step towards making information more easily exchangeable between services.
But we’re still in the dark ages if we look to on-premise business applications, which is where most business-critical data still resides. There is little to no infrastructure like APIs for on-premises software, so there is no easy way to standardize the mess of proprietary software, legacy interfaces and a hodgepodge of databases... at least not yet.
In the future, we will use ‘Service Layers’ as a way to standardize and share data access. Service Layers are a common way for applications from different vendors to exchange information with other sources, regardless of whether they are in the Cloud or On-prem. If you think of different APIs, databases and backends as different languages, then a ‘Service Layer’ is the interpreter that seamlessly translates every request on the fly, and directs it to the correct, connected service.
Once companies have found a way to unite their data silos, this will open up unprecedented ways to offer better customer experiences within their apps. Standardization will further help create new business models in the Enterprise as a Service (EaaS) economy, through incorporating third parties into your apps for anything from processing payments, making AI-infused suggestions, to entirely handling the fulfillment.