Contextual Mobile Adaptation
Total Page:16
File Type:pdf, Size:1020Kb
Contextual Mobile Adaptation Malcolm Hall Doctor of Philosophy Department of Computing Science Faculty of Information and Mathematical Sciences University of Glasgow May 2008 © Malcolm Hall 2008 Abstract Ubiquitous computing (ubicomp) involves systems that attempt to fit in with users’ context and interaction. Researchers agree that system adaptation is a key issue in ubicomp because it can be hard to predict changes in contexts, needs and uses. Even with the best planning, it is impossible to foresee all uses of software at the design stage. In order for software to continue to be helpful and appropriate it should, ideally, be as dynamic as the environment in which it operates. Changes in user requirements, contexts of use and system resources mean software should also adapt to better support these changes. An area in which adaptation is clearly lacking is in ubicomp systems, especially those designed for mobile devices. By improving techniques and infrastructure to support adaptation it is possible for ubicomp systems to not only sense and adapt to the environments they are running in, but also retrieve and install new functionality so as to better support the dynamic context and needs of users in such environments. Dynamic adaptation of software refers to the act of changing the structure of some part of a software system as it executes, without stopping or restarting it. One of the core goals of this thesis is to discover if such adaptation is feasible, useful and appropriate in the mobile environment, and how designers can create more adaptive and flexible ubicomp systems and associated user experiences. Through a detailed study of existing literature and experience of several early systems, this thesis presents design issues and requirements for adaptive ubicomp systems. This thesis presents the Domino framework, and demonstrates that a mobile collaborative software adaptation framework is achievable. This system can recommend future adaptations based on a history of use. The framework demonstrates that wireless network connections between mobile devices can be used to transport usage logs and software components, with such connections made either in chance encounters or in designed multi–user interactions. Another aim of the thesis is to discover if users can comprehend and smoothly interact with systems that are adapting. To evaluate Domino, a multiplayer game called Castles has been developed, in which game buildings are in fact software modules that are recommended and transferred between players. This evaluation showed that people are comfortable receiving semi–automated software recommendations; these complement traditional recommendation methods such as word of mouth and online forums, with the system’s support freeing users to discuss more in–depth aspects of the system, such as tactics and strategies for use, rather than forcing them to discover, acquire and integrate software by themselves. 1 Contents Chapter 1! Introduction.............................................................................................................................11! 1.1! Research questions........................................................................................................................15! 1.2! The Role of Equator......................................................................................................................15! 1.3! Approach.......................................................................................................................................16! 1.4! Thesis Walkthrough......................................................................................................................17! Chapter 2! Context awareness...................................................................................................................18! 2.1! Background...................................................................................................................................18! 2.2! George Square...............................................................................................................................23! 2.2.1! Motivation: supporting collaborative ubicomp.....................................................................24! 2.2.2! System overview ...................................................................................................................25! 2.2.3! Recer .....................................................................................................................................29! 2.2.4! Modular design using Equip .................................................................................................32! 2.2.5! Flexible content generation...................................................................................................34! 2.3! Conclusion ....................................................................................................................................35! Chapter 3! Seamful Design.......................................................................................................................38! 3.1! Background...................................................................................................................................38! 3.2! Seamful games..............................................................................................................................43! 3.2.1! Treasure.................................................................................................................................43! 3.2.2! Feeding Yoshi .......................................................................................................................50! 3.3! Conclusion ....................................................................................................................................56! Chapter 4! Mobile ad hoc peer-to-peer systems .......................................................................................58! 4.1! Background...................................................................................................................................58! 4.1.1! Social proximity applications................................................................................................59! 4.1.2! Epidemic distribution using mobiles.....................................................................................66! 4.1.3! Emerging commercial ad hoc peer-to-peer systems .............................................................67! 4.2! Far Cry ..........................................................................................................................................69! 4.2.1! StreetHawk............................................................................................................................75! 4.3! Efficient distribution of data in mobile, peer-to-peer environments.............................................78! 4.3.1! Peer-to-peer Recer.................................................................................................................79! 4.3.2! Samara...................................................................................................................................81! 4.4! Conclusion ....................................................................................................................................84! Chapter 5! Dynamic software adaptation..................................................................................................86! 5.1! Background...................................................................................................................................86! 5.1.1! Displaying adaptive content..................................................................................................87! 5.1.2! Displays and user interfaces..................................................................................................88! 5.1.3! Individuals adapting software: Plug-ins and related systems ...............................................91! 5.1.4! People’s patterns of sharing software ...................................................................................94! 2 5.1.5! Recombinant computing .......................................................................................................96! 5.1.6! Self-adaptive and Self-healing Software...............................................................................97! 5.1.7! Mobile Architectural Requirements......................................................................................99! 5.2! Domino: An adaptation architecture for ubicomp ......................................................................101! 5.2.1! Example scenario ................................................................................................................102! 5.2.2! Communication...................................................................................................................103! 5.2.3! Recommendation.................................................................................................................104! 5.2.4! Adaptation...........................................................................................................................104! 5.2.5! Design Overview.................................................................................................................105! 5.2.6! Scope...................................................................................................................................105!