tl;dr / Abstract
The commercial model for software on devices is for Apps. That works great when an app matches the task you have, but falls down when you have to cross one or more apps. Android has made some progress in getting around this (intents); and iOS is starting to create corrals of apps (e.g. passbook); and Facebook has created the people-centric ‘Home’. Have we passed the peak of importance for apps, or is it the only viable commercial model?
Interface styles
Writing this on OSX, I count three main models of getting to things that I use:
- Websites (via a browser and short-cuts)
- Applications (via the dock or search)
- Files (via folders or search)
Appification
On iOS the primary way is apps, arranged in a grid on the home screen (springboard). This model has been very good for Apple and developers, and is much better than what was standard on smartphones before, but it does have limitations.
For example, moving data between applications can be painful. If I find something on a map, the options for doing something else with that are limited to what Apple decides, currently Facebook, Twitter, Mail or message. Android has gotten further with intents, which provides app developers an API for sharing things around.
However, it still doesn’t feel smooth and I don’t consider more complex tasks with a workflow (e.g. web development) even possible in this model.
Another pain point for apps is simply needing apps to do tasks. Why have an app for every single airline? The task is ‘show my ticket’, but you then need apps for Easyjet, BA, Ryan Air etc etc.
Scott Jenson is very persuasive on this topic:
It’s just not realistic to have an app for every store you go to, every product you own and every website you visit. This creates an ever increasing set that must be curated, organized and culled.
Apple’s passbook is an attempt to gather different providers under one app, but it hasn’t really taken off yet, at least not in the UK.
Other methods
When you look at the possible ways of using an operating system there are many organisational principles that are not generally used:
- Task, where software and storage are secondary to the task, such as updating a friends contact details.
- Object, where system objects (like your friends in Facebook’s home) are primary, and you have actions for them.
- Topic, where files and actions are grouped by topics (e.g. social, management, a project etc.). I remember this method from Jef Raskin, who thought this could be shown in a spacial way on desktops.
- Geographically, where actions become available depending on where you are. (See Scott Jenson’s Just-in-time interactions)
I’m not saying one of these is the best way, it’s likely to be a combination of these things will work best, and that combination will be different depending on your use-case, and will change over time.
Of these methods, the just-in-time interactions make the most sense to me as the next step. For example, you are in an airport and pull out your phone, your proximity to the Easyjet desk pops up the ticket for them. You can also imagine being at home, so all your home automation actions/apps appear. It could work by wifi and web services, GPS, bluetooth, NFC, or anything really, what matters to me is the interface.
Why still apps?
I started writing this post last year, but now seems like a good time to put a stake in the ground: I think we’ve seen the peak importance of applications on mobile devices.
Facebook has just launched ‘Home’, a people-centric interface on the top of Android OS. The Verge did a review, and see how Facebook has kept apps, but relegated them to a lower layer of the interface.
Windows Phone is a more content-oriented interface, surfacing information on the homescreen rather than making you open apps to see things. A small step but an interesting one, I like it.
Commercial model
Given all these options, why do Android and iOS still dominate with their app-lead approach?
Well, who would pay to create the inter-related functionality needed to provide a task, object or topic based interface? It would require a totally different system to be provided as part of the OS, and a level of integration between developers that is difficult to imagine, let alone co-ordinate. It lacks a commercial model to pay for it.
Not everyone is going to be enamoured with a Facebook interface, even if it is easier. However, it is difficult to see how an alternative comes into being without one company building the whole interface.
I think the most likely next step past the app-only model is to incorporate a proximity and/or geographical API (as Jenson envisioned), where certain actions/apps are promoted to the surface of your home screen by your proximity to a service.
A left-field option might be the web based Firefox OS, with an open-source ethos that could break out of the app-centric mold.
I’m also very intrigued to see what Apple do in iOS7, I suspect that will show what they consider the next direction.
Looks like a few other people are thinking on similar lines, although perhaps for different reasons: