Where Einstein Meets Edison

Critical Features for Multi-Device Applications

Critical Features for Multi-Device Applications

Oct 29, 2012


Whether or not morphing devices will become the norm, an increasing number of mainstream consumers are interacting daily with devices that have different-sized displays: PCs, smartphones, tablets, TVs, cars, smart watches, smart glasses etc. To be successful, software developers must build “morphing” applications that elegantly adapt to these different form factors. Further, morphing applications need to cater to the different contexts in which they are used. For example, email on a smart watch needs to be vastly different from email on a TV screen.

It is not just developers of consumer applications who need to build morphing applications. With the consumerization of IT and increasing numbers of employees telecommuting and working on-the-go, more and more business users are using tablets and phones in addition to PCs to get work done. Accordingly, business applications increasingly need to run on multiple devices in different usage scenarios. Consider for example, Microsoft’s popular intranet content management and document management software SharePoint, which is designed to be accessed via a PC browser. When the iPad was released, Uruguayan startup SouthLabs recognized the subpar experience of SharePoint on the iPad and built SharePlus, a native iPad client for SharePoint. Since its release, SharePlus has been downloaded more than half a million times and versions for the iPhone, Mac OS, Android and Blackberry Playbook have been added.

With the proliferation of device ownership, it is becoming normal to begin an activity on one device and continue it on another. For example, one could start working on a presentation on the PC at work but finish it on a tablet on the train home. Similarly, one could “experience” a book by reading it on an e-reader most of the time, but having it read out as an audiobook while in the car. The device becomes incidental to the activity and simply represents the best usage scenario at the time. Applications must recognize this and provide a frictionless experience across devices.

So how does one go about building such an application? Here are my guidelines on building morphing applications for post-PC era devices.

1. Have a solid cross-platform strategy

Lest it not be obvious, you must think carefully about which platforms your application will support and use this strategy as a critical input for creating the underlying application architecture. At the minimum, you should consider the web, Windows, OS X, iPhone, iPad, Windows Phone, Android (phone and tablet), Windows 8 tablet and Blackberry. Applications must look and feel like they were designed for the device. Some applications that provide a great cross-platform experience are Gmail, DropBox, Evernote, Remember The Milk, Netflix, Spotify, Skype and Pocket. Common strategies include responsive web design, native applications for each platform and near-native applications generated by a tool such as Adobe PhoneGap or Appcelerator Titanium from a common core developed using web technologies (Javascript, HTML and CSS.)

2. Synchronize application state across devices

The ability of an application on any particular device to pick up from where the user left off on a different device is critical in ensuring a seamless user experience. A good example of this is Netflix, which presents a list of videos under a “Continue Watching” header, allowing one to, for example, start watching a movie on the big screen TV in the living room and easily continue watching it on the tablet in the bedroom.

3. Synchronize application configuration across devices

Many applications are highly personalized via user settings. Copying these settings across to a fresh installation of an application on a new device makes the user immediately comfortable in a new environment. Once the application is running on multiple devices, synchronizing changes in any one device provides consistency in the user experience. Google Chrome does this really well. If you sign in to Google Chrome, your bookmarks, extensions, apps, theme and any other browser preferences are saved and synced to your Google Account. These are then loaded when you sign in to Google Chrome on another device.

4. Store permanent data in the cloud

Manually managing data across devices is painful and gets exponentially more difficult as more devices are involved. Consider photos for example. A typical user might have a laptop, a tablet, a smartphone, a point-and-shoot camera and a DSLR. Each of these has at least one camera and most have at least basic editing capabilities. One might want to sort and edit photos taken using the DSLR on the tablet first, and then do more advanced editing on the laptop. Such scenarios are only practical if permanent storage is centralized in the cloud. Therefore, the device itself should not be relied upon for permanent storage. Instead, it should be used for temporary storage in an on-demand fashion, like buffering media for responsive playback, editing or for specific offline scenarios use such as travel where connectivity is slow, expensive or unavailable.

A cloud-first strategy doesn’t just allow convenience and flexibility. It is more cost-effective for the consumer since minimizing the amount of offline storage required makes devices more affordable. Further, it makes data social by enabling sharing and collaboration. Additionally, it makes data more secure. If important data are stored in the cloud, the repercussions of losing one’s laptop or tablet are limited to the cost of replacing it. All of these benefits can be realized by enterprises through private clouds if they are concerned about giving up control of their data to a third-party.

Spotify is an excellent example of cloud-first storage. It provides unlimited streaming of music for a monthly fee, obviating the need for music ownership. It allows downloading of tracks to local storage for listening offline.

5. Get user experience professionals to design the user interface

Let’s be honest. Most software is difficult to use. I say this not as an aloof armchair critic but as a technologist who has made a living from designing and writing software for more than a decade. The reason for this is that software is by-and-large designed by engineers. Software is like an iceberg. What the user sees, what the user cares about, and what the user interacts with is only 10%. The remaining 90%, the inner workings, the nuts and bolts and gears, the part that gets the “real” work done, is hidden. That’s what the bulk of the engineering effort goes into–and it’s difficult to get right. More often that not, the user interface is slapped on without much thought to making it easy to use. Its main purpose is to expose the inner workings so that the user can use it. Ironically, the user interface, the 10% that is neglected, is at least as important as the inner workings. But engineers are notorious for not appreciating that users are not as technically savvy nor familiar with the software.

Add multiple devices to the mix and the task of designing a great user experience becomes far more challenging. An appreciation of the subtleties of each device that the application is to run on is required. This is why graphics designers and interaction designers must design the user interface, while working closely with the engineering team.




Akshay Luther


Akshay is a 2014 MBA Candidate at the MIT Sloan School of Management, Entrepreneurship & Innovation Track. He is passionate about the potential of disruptive technologies and innovative business models to change the way we live in the developed and developing worlds. His interests include user experience design, consumer devices, the internet of things, consumer web / mobile applications, web services / platforms, wearable computing, data visualization, big data, collective intelligence and 3D printing. Apart from having written innovative software that is used my millions of users as a software architect, developer and consultant with market-leading companies in Australia and Europe, Akshay has helped grow the India business of a multinational user experience company as a technical evangelist, founded a cloud storage startup and founded an open source project that has enabled thousands of organizations to build virtual supercomputers out of the spare processing power of their existing PC infrastructure for uses such as breast cancer research and natural resource modeling. An avid foodie, traveler, photographer and sportsperson (adventure or otherwise), Akshay's main claims to fame are that he has lived in five continents and has been a certified hang-glider pilot. You can follow his thoughts at akshayluther.com.

No comments


  1. Critical Features for Multi-Device Applications « Akshay Luther - [...] I wrote a feature article for MIT Enterpreneurship Review, entitled Critical Features for Multi-Device Applications. [...]