SPRABS.COM | blog : TechnicalTravelPersonal | Profession | Photos | About | Contact

Sunday, March 7, 2010

User Experiences Across Multiple Personal Devices

Jeffrey S. Pierce and Jeffrey Nichols, IBM Research

Summary

This paper presents an infrastructure which could be used to seamless experience across multiple personal devices. This attempts the software infrastructure part of the scalable computing problem that I discussed in a previous blog.

Details

Users today work with multiple computing devices but do not have seamless interaction because providing such functionality requires a basic framework which does not exist. Authors set off to develop an infrastructure that would allow exchanging information, events and commands across a user’s devices. They achieve this by elevating device ownership and creating twenty odd applications some of which they discuss in this paper.

image Authors chose to adapt to existing user practices and as a result had to build in room for device unavailability. They based their design on Instant Messaging (IM) architecture for its familiarity and support for various communication modes. They chose XMPP standard or Jabber for its open source and extensible nature. Users create an account in PIE (Personal Information Environment) servers and affiliate their devices as PIE clients. The infrastructure supports services that connect to clients and route messages. This reduces burden on server and makes app development simpler. Finally asynchronous communication support was improved to store and retrieve the most recent version of any shared state information. Applications can either be built as Java client using an Eclipse plug-in or communicate to clients over local socket using XMPP messages.

Amongst various applications built were Notebook and Shared Lists service for modifying common text files and lists across different devices. Another service synchronises or transfers files across personal devices. Send a URL service can open a URL on any device using a Firefox plug-in. Browse and Search Console services allows users to browse or search across multiple devices. Recent Shortcuts and Phone Events shares user history and events. Context service monitor input devices to tag devices  with server side aliases such as InUse or RecentlyUsed. Sever-side aliases were also used to support multiple communication models such as WorkDevices, Laptops, etc. Services register for XML namespaces on clients to handle traffic diverted towards them. Authors have described some sample codes for implementing an example service.

In the user study, 5 developers were given 4 tasks to achieve for which they were timed. It was observed that typically 2/3 of the time was spent in looking up API guides than in implementing tasks. Person 5 who spent a day reading the guide was able to achieve tasks in shortest time. Developers particularly liked reusability of XML namespaces. It was also observed that while some services perform in a peer-to-peer model others need to store most of their data on the server.

Review

I was amazed by the amount of work described in this paper. Not only do authors discuss the infrastructure but also describe several applications built to allow seamless interaction across various devices. I am not sure if authors discuss how a PIE server could be implemented and what happens in case a PIE server itself is unavailable. Another question left unanswered is if PIE clients can acquire the role of PIE server if so required. Authors should be credited for sticking to an open source and extensible framework.

Disclaimer

The work discussed above is an original work presented at UIST 2008 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

No comments:

Post a Comment