The model of the single, personal computer is outdated. Users increasingly employ a heterogeneous collection of personal devices: desktops, laptops, tablets, PDAs, mobile phones, etc. The user experiences that we create for those computing devices, however, have failed to keep pace; they still largely assume the use of a single desktop or laptop computer. As a result, the burden is too often on the users themselves to manage their information across their devices. We need a new model that explicitly reflects the fact that users may employ a personal collection of devices.
I personally got interested in the need for a new model as a Ph.D. student at Carnegie Mellon. During the day I would often work with a desktop and laptop computer side by side, the desktop to provide fast 3D rendering and the laptop for email, web surfing, and writing papers. While writing my thesis, I would often transfer a chapter from my laptop to the desktop in order to take advantage of its larger display. Despite the fact that both devices were mine and the fact that they were sitting next to each other, transferring files between them was a hassle. And I would inevitably go home at the end of the day and forget to transfer the chapter I was working on back to my laptop, making it impossible to get any more writing done that evening. Eventually I got tired of the sheer hassle and decided there must be a better way.
The problem with the model of the personal computer is that it puts the emphasis on an individual computer. As users shift to using a collection of devices, I prefer the model of the personal information environment, where the individual devices are tools for interacting with users' personal information. As a step toward that model we've been experimenting with an infrastructure based on instant-messaging that simplifies creating services that span a user's personal devices.
Instant-messaging provides an infrastructure for multiple entities to communicate in near-real-time. While those entities are traditionally people, they could just as easily be a set of a user's devices. Our infrastructure allows users to create a persistent set of their personal devices and subsequently makes it easy for those devices to determine each others' availability and communicate.
With that infrastructure in place, prototyping new user experiences that span personal devices is much easier. Our infrastructure makes it easy for developers to create services that plug into our infrastructure and exchange messages with other services running on any of a user's personal devices. To date we have created services that allow users to drag and drop files, URLs and text between devices; search across their devices; remotely browse devices; synchronize files and directories; keep shared notebooks and lists; and many others. However, our infrastructure will really succeed only if others take it up and start building their own multi-device user experiences.
Why? Because user experiences based on the old model of the personal computer just aren't enough anymore. And if we're going to create effective and elegant user experiences to replace them, we need to "let a thousand flowers bloom" to find out how best to support users' new computing practices.