It’s hard to believe how much excitement now exists around the word “app”- as if it’s a new term in the industry instead of just a shortening of Software Applications. Every company wants to have it’s own app, people are looking at the economic impact of the application market, etc and acting like such a concept hadn’t even existed 10 years ago- last time I checked though software’s been around pretty much as long as hardware has been in the world of PC’s- and the flexibility of having an application do something for you is pretty much par for the course.
This is a shame, as it distracts from what makes modern apps different from the classic software model. For me, that’s the fact that applications have finally become something that can be grasped by the mass market by simplifying- tiny chunks of code which serve a purpose with a pretty, and (hopefully) simplified UI. Massive applications like Microsoft Office and Photoshop now seem like the exceptions, rather than the rule, and instead we’re seeing smaller applications with discrete use models resulting in applications that are easier to use, reducing bloat (although introducing different forms of bloat due to frameworks and so on), and making integration (though API’s) all the more important (preventing a single application becoming a small, walled garden of information inaccessible to other applications).
And once we’ve considered what this change actually means it’s easier to start to seeing parallels to other developments in software. We’ve seen small applications before, and not on mobile phones, but on PC’s and they were called Widgets. I wasn’t a big widget person as I felt it was just as easy to Google the data I wanted and didn’t appreciate the extra resource burden, but I get the perk of having a highly visible, simple application on your desktop just like an app on my phone. Apps, of course, encourage interaction too, so they’re more useful than a read only widget that gathers information. But we should be careful before we embrace applications, because, like widgets before them, they all have various gotchas.
For me, riding the wave of the app world, I’ve seen a growing set of issues with this approach to software:
- Integration is key- but is typically missing. If you can’t “share” data outside of the application, the information is locked away- Google showed us the benefits of making data indexable, yet it was very quickly forgotten when apps came along and suddenly your data was hidden away in an app that couldn’t be searched.
Google’s latest OS tries to fix this (by allowing Google Now integration and deep app searching) but still rather too much information for my liking requires an app to access it and little or no knowledge of what lies within a specific application is available to the global OS – I can search my PC and expect to find content created within files – but the same can’t be said for content on my mobile device. And that’s before we even account for the data you’ve stored in an app which you don’t have installed (e.g. if you store something in Evernote on your desktop PC and don’t have the same app installed on all your devices).
- The OS wasn’t built for lots of fragmented applications – and nor was the human mind. Forgetting about the data inside of your app I mentioned above, the challenge becomes exposing people to the right apps and information when they need it- how do you find the right app to do the job you wanted? What happens when your “start menu” or application list has 50 plus items?
Some clever people are trying to solve this problem with app launchers that use context to surface the right app, but that’s normally based on some very basic information (most have location and time based information to work with, giving you work apps when you’re in the office during 9-5, and home related apps in the evening for example).
- Flexibility of data in apps – if your email is one app and you decide to try another app that’s not a problem – the back end (email data accessible via IMAP, POP, HTTPs etc) is easy to access. But try taking your OneNote content to Evernote, or your Health data from one fitness tracker to another- if you’re lucky, there’s an export tool that exports in a way that can be imported in your desired new app, or maybe some kind third party who was stuck like you wrote an app to move it- but most of the time you’re just straight out of luck.
API’s are making things easier, but API’s store data in such a way that requires programming skills to retrieve data, where open standards (HTML, email protocols) are intended to give standardised methods of access and data display.
All in all, I worry that in our dumbing down, we’re risking building a future that’s less easy to use and more tightly controlled by individual companies, rather than open standards.