Sharing is good. How will mobile apps play nice?

With Apple’s announcement of 3D Touch and a split-screen capability on the new larger iPad Apple is setting the stage for a new era, centered on new ways of interacting with information and apps. By allowing users to see more than one set of things at once a key friction is removed, and it’s clear how a number of different workflow and entertainment situations can improve with this sort of sharing. What’s less clear is how this will work in practice with the existing modes that mobile apps have been built towards. A glimpse into another app is going to require permissions and data sharing between apps, and as users start to see different apps at the same time how long before they expect drag and drop level interaction? Obviously you can accomplish that with text fields, but what about even basic structured data like dates. Sounds simple, but take a look at all the different (and fun) date pickers on different apps in your phone- how would you elegantly take a date from one of these apps and use it in another?
datepickers
It’s been pointed out many times: we don’t really know what “an app” will mean in 3-5 years time (nice piece here, with a list of references). As more and more devices get connected (today the Apple Watch and other wearables, tomorrow the Internet of things) this will become more even pointed. Groups of apps from the same company doing different related things, perhaps on different devices, make sense, and can get connected “on the back end” but this get more and more cumbersome to manage. It was notable that the apps that were demoed in the 3D Touch part of the Apple Keynote this week were either internal to Apple, or the web. How will this work in a constellation of apps? This is important for the typical consumer user, critical for the enterprise.
Today, apps are (over)optimized for use on a single device, with dedicated user attention. The web on its own goes perhaps too far the other way, but there is a reason why we moved towards that as the standard “app platform” on the PC, especially for occasionally-used functionality. We would never have moved past AOL if users had to download an app for every single thing they wanted to do with the web.
Isn’t there a shared component model that exists? The mobile operating system should surely be this- it provides incredible functionality with consistent interfaces. Permissions and security rear their ugly heads here. Smart phones (and watches and cars) have permission controls for a reason, and we won’t just allow “the web” to access every capability of a device- or we might, but good luck with that mobile web banking experience with the biometric security which is now shared with every other site on the web. Though we routinely click through on permissions for apps, developers can’t simply assume that all the apps we are sharing, or looking at together, will have the same level of permissions- what if I explicitly don’t want one app to have location permissions, but the app I am 3D Touching from has such permissions, should the other app also get to know where I am?
There are some hints that sharing will become easier in app development. App Groups in iOS are a possible solution, but they are typically used for one organization to pull widgets (small components of functionality or information) into their own apps. App Groups are not set up for managing across corporate boundaries. The data sharing here can get complicated: I might be prepared to share customer delivery data with a partner, but not pricing information, for example. It’s also worth noting that today on the consumer side companies like Facebook and WeChat are already enabling versions of this sort of sharing, either through direct partnering for functionality, or with content as widgets within the core app experience (e.g. Facebook’s Instant Articles feature).
On the enterprise side apps typically come from a smaller set of vendors, but to deliver great experiences likely need to share more data than Instagram or Angry Birds. Salesforce, with its recently announced combined application development and distribution platform, and other enterprise mobile application platform providers like SAP, Kody and IBM may have an interesting opportunity here. Perhaps there is a chance that semi-walled gardens from these providers can encourage some limited permission and data sharing within their SDKs. Rather than expecting complete openness a controlled solution with trackable sharing might work; for example a customer identifier could be common between app in a multi-vendor app cluster. Certainly this opens an opportunity for app developers (enterprise and independent) to add value across ecosystems. Is IBM in the box seat with their previously announced enterprise work with Apple? We’ll see.
In conclusion, we are starting to see new interaction modes which are asking us to rethink what apps really are — and more to the point — how they may play with each other.