Number of co-authors:46
Number of publications with 3 favourite co-authors:Steven L. Rohall:5Li-Te Cheng:3Carmen Egido:3
John F. Patterson's 3 most productive colleagues in number of publications:Mark Rouncefield:55Keith Cheverst:49David R. Millen:45
For a list of all the ways technology has failed to improve the quality of life, please press three.
-- Alice Kahn
Read the fascinating history of Wearable Computing, told by its father, Steve Mann
Read Steve's chapter !
John F. Patterson
Has also published under the name of:
Publications by John F. Patterson (bibliography)
Hupfer, Susanne C., Ross, Steven I., Rasmussen, Jamie C., Christensen, James E., Levy, Stephen E., Gruen, Daniel M. and Patterson, John F. (2009): Crafting an environment for collaborative reasoning. In: Proceedings of the 2009 International Conference on Intelligent User Interfaces 2009. pp. 379-382.
We motivate the need for new environments for collaborative reasoning and describe the foundations of our approach, namely collaboration, semantics, and adaptability. We describe the CRAFT collaborative reasoning interface and infrastructure that we are developing to explore this approach.
© All rights reserved Hupfer et al. and/or their publisher
Kray, Christian, Cheverst, Keith, Fitton, Dan, Sas, Corina, Patterson, John F., Rouncefield, Mark and Stahl, Christoph (2006): Sharing control of dispersed situated displays between nand residential users. In: Proceedings of 8th conference on Human-computer interaction with mobile devices and services 2006. pp. 61-68.
As the number of public displays in the environment increases, new opportunities open up to improve situated interaction and to enable new kinds of applications. In order to make distributed display resources available to nomadic users, a key issue to address is how control can be dynamically shared between display users. It is important to study how control over a shared display can be acquired, released or shared by nomadic and residential users given their competing demands for display resources. In this paper, we present a system and a user study investigating these issues in the context of two applications both competing for display resources provided by a deployment of interactive office doorplates. The first application (Hermes II) provides situated note leaving and messaging services whereas the second one (GAUDI) supports user navigating a university department. Office occupants (i.e., residential users) can control whether the navigation application may (temporarily) use their doorplate display (thus giving priority to the navigation needs of nomadic users to the department). We report on findings from a user study, and discuss interface design implications for specifying display control.
© All rights reserved Kray et al. and/or ACM Press
Hupfer, Susanne, Cheng, Li-Te, Ross, Steven and Patterson, John F. (2004): Introducing collaboration into an application development environment. In: Proceedings of ACM CSCW04 Conference on Computer-Supported Cooperative Work 2004. pp. 21-24.
We present contextual collaboration, an approach to building collaborative systems that embeds collaborative capabilities into core applications, and discuss its advantages. We describe the Jazz collaborative application development environment that we are using to explore this concept and discuss design guidelines that have emerged from our experience.
© All rights reserved Hupfer et al. and/or ACM Press
Cheng, Li-Te, Rohall, Steven L., Patterson, John F., Ross, Steven and Hupfer, Susanne (2004): Retrofitting collaboration into UIs with aspects. In: Proceedings of ACM CSCW04 Conference on Computer-Supported Cooperative Work 2004. pp. 25-28.
Mission critical applications and legacy systems may be difficult to revise and rebuild, and yet it is sometimes desirable to retrofit their user interfaces with new collaborative features without modifying and recompiling the original code. We describe the use of Aspect-Oriented Programming as a lightweight technique to accomplish this, present an example of incorporating presence awareness deeply into an application's user interface, and discuss the implications of this technique for developing CSCW software.
© All rights reserved Cheng et al. and/or ACM Press
Souza, Cleidson R. B. de, Redmiles, David F., Cheng, Li-Te, Millen, David and Patterson, John F. (2004): Sometimes you need to see through walls: a field study of application programming interfaces. In: Proceedings of ACM CSCW04 Conference on Computer-Supported Cooperative Work 2004. pp. 63-71.
Information hiding is one of the most important and influential principles in software engineering. It prescribes that software modules hide implementation details from other modules in order to decrease the dependency between them. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a field study of the use of APIs and observed that they served many roles. We observed that APIs were successful indeed in supporting collaboration by serving as contracts among stakeholders as well as by reifying organizational boundaries. However, the separation that they accomplished also hindered other forms of collaboration, particularly among members of different teams. Therefore, we think argue that API's do not only have beneficial purposes. Based on our results, we discuss implications for collaborative software development tools.
© All rights reserved Souza et al. and/or ACM Press
Sproull, Lee S. and Patterson, John F. (2004): Making information cities livable. In Communications of the ACM, 47 (2) pp. 33-37.
Millen, David R. and Patterson, John F. (2002): Stimulating social engagement in a community network. In: Churchill, Elizabeth F., McCarthy, Joe, Neuwirth, Christine and Rodden, Tom (eds.) Proceedings of the 2002 ACM conference on Computer supported cooperative work November 16 - 20, 2002, New Orleans, Louisiana, USA. pp. 306-313.
One of the most challenging problems facing builders and facilitators of
community networks is to create and sustain social engagement among members. In
this paper, we investigate the drivers of social engagement in a community
network through the analysis of three data sources: activity logs, a member
survey, and the content analysis of the conversation archives. We describe
three important ways to encourage and support social engagement in online
communities: through system design elements such as conversation channeling and
event notification, by various selection criteria for community members, and
through facilitation of specific kinds of discussion topics.
© All rights reserved Millen and Patterson and/or ACM Press
Patterson, John F., Day, Mark and Kucan, Jakov (1996): Notification Servers for Synchronous Groupware. In: Olson, Gary M., Olson, Judith S. and Ackerman, Mark S. (eds.) Proceedings of the 1996 ACM conference on Computer supported cooperative work November 16 - 20, 1996, Boston, Massachusetts, United States. pp. 122-129.
We introduce the Notification Service Transfer Protocol (NSTP), which provides a simple, common service for sharing state in synchronous multi-user applications. A Notification Server provides items of shared state to a collection of clients and notifies the clients whenever one of the items changes. The division between client and server in this system is unusual; the centralized state is uninterpreted by the server. Instead, the responsibility for semantics and processing falls on the clients, which collude to implement the application. After describing NSTP, we differentiate it from other systems in terms of the four design principles that have guided its development.
© All rights reserved Patterson et al. and/or ACM Press
Hill, Ralph, Brinck, Tom, Rohall, Steven L., Patterson, John F. and Wilner, Wayne (1994): The Rendezvous Architecture and Language for Constructing Multiuser Applications. In ACM Transactions on Computer-Human Interaction, 1 (2) pp. 81-125.
When people have meetings or discussions, frequently they use conversational props: physical models, drawings, or other concrete representations of information used to enhance the exchange of information. If the participants are geographically separated, it is difficult to make effective use of props since each physical prop can only exist in one place. Computer applications that allow two or more users to simultaneously view and manipulate the same data can be used to augment human-to-human telecommunication. We have built the Rendezvous system to aid the construction of applications that can be used as conversational props. The Rendezvous system is similar to many UIMSs or user interface toolkits in that it is intended to simplify the construction of graphical direct-manipulation interfaces. It goes beyond these systems by adding functionality to support the construction of multiuser applications. Based on experience with several large applications built with the Rendezvous system, we believe that it is useful for building conversational props and other computer-supported cooperative work (CSCW) applications. We present a list of required features of conversational props, some example applications built with the Rendezvous system, and a description of the Rendezvous system.
© All rights reserved Hill et al. and/or ACM Press
Arango, A., Bahler, Lisa, Bates, Peter, Cochinwala, Munir, Cohrs, David, Fish, Robert, Gopal, Gita, Griffeth, Nancy D., Herman, Gary E., Hickey, Takako M., Lee, K. C., Leland, Will E., Lowery, Carlyn, Mak, Victor, Patterson, John F., Ruston, Lillian and Segal, Mark (1993): The Touring Machine System. In Communications of the ACM, 36 (1) pp. 68-77.
Hill, Ralph D., Brinck, Tom, Patterson, John F., Rohall, Steven L. and Wilner, Wayne T. (1993): The Rendezvous Language and Architecture. In Communications of the ACM, 36 (1) pp. 62-67.
Rohall, Steven L., Patterson, John F. and Hill, Ralph (1992): Go Fish! A Multi-User Game in the Rendezvous System. In: Bauersfeld, Penny, Bennett, John and Lynch, Gene (eds.) Proceedings of the ACM CHI 92 Human Factors in Computing Systems Conference June 3-7, 1992, Monterey, California. p. 647.
The Rendezvous System is an infrastructure for building multi-user, synchronous applications. Multi-user, synchronous applications are those that are designed to be used by several people simultaneously. Examples of such applications range from collaborative debugging of software to multi-party contract negotiations to games for several players. This videotape shows a demonstration of one multi-user application we have built. The application is a card table that allows up to four people to play any card game they wish. On the tape, you will see several rounds of a game of fish. This game, though simple, serves to highlight four key capabilities that an infrastructure for building multi-user applications must support. These are: 1) support for separate, customized views for each user of the same underlying data, 2) support for public data (i.e., data shown to all users) as well as private data (i.e., data shown only to a particular user), 3) support for access control among users so that certain data is only accessible to some users, and 4) support for the direct manipulation of data objects on the users' displays. We believe that the ability for people to communicate with one another in the structured manner of multi-user applications offers an enormous opportunity for people to enrich the way they work, learn, and play. Many sorts of multi-user applications are possible and research into infrastructures like the Rendezvous System may some day allow for the rapid production of these types of systems. For more information, please see the suggested readings.
© All rights reserved Rohall et al. and/or ACM Press
Patterson, John F. (1991): Comparing the Programming Demands of Single-User and Multi-User Applications. In: Rhyne, James R. (ed.) Proceedings of the 4th annual ACM symposium on User interface software and technology Hilton Head, South Carolina, United States, 1991, Hilton Head, South Carolina, United States. pp. 87-94.
Synchronous multi-user applications are designed to support two or more simultaneous users. The RENDEZVOUS system is an infrastructure for building such multi-user applications. Several multi-user applications, such as a tic-tac-toe game, a multi-user CardTable application, and a multi-user whiteboard have been or are being constructed with the RENDEZVOUS system. We argue that there are at least three dimensions of programming complexity that are differentially affected by the programming of multi-user applications as compared to the programming of single-user applications. The first, concurrency, addresses the need to cope with parallel activities. The second dimension, abstraction, addresses the need to separate the user-interface from an underlying application abstraction. The third dimension, roles, addresses the need to differentially characterize users and customize the user-interface appropriately. Certainly, single-user applications often deal with these complexities; we argue that multi-user applications cannot avoid them.
© All rights reserved Patterson and/or ACM Press
Patterson, John F., Hill, Ralph, Rohall, Steven L. and Meeks, W. Scott (1990): Rendezvous: An Architecture for Synchronous Multi-User Applications. In: Halasz, Frank (ed.) Proceedings of the 1990 ACM conference on Computer-supported cooperative work October 07 - 10, 1990, Los Angeles, California, United States. pp. 317-328.
Rendezvous is an architecture for creating synchronous multi-user applications. It consists of two parts: a run-time architecture for managing the multi-user session and a start-up architecture for managing the network connectivity. The run-time architecture is based on a User Interface Management System called MEL, which is a language extension to Common Lisp providing support for graphics operations, object-oriented programming, and constraints. Constraints are used to manage three dimensions of sharing: sharing of underlying information, sharing of views, and sharing of access. The start-up architecture decouples invoking and joining an application so that not all users need be known when the application is started. At present, the run-time architecture is completed and running test applications. As a first test of the complete Rendezvous architecture, we will implement a multi-user card game by the end of the summer.
© All rights reserved Patterson et al. and/or ACM Press
Egido, Carmen and Patterson, John F. (1988): Pictures and Category Labels as Navigational Aids for Catalog Browsing. In: Soloway, Elliot, Frye, Douglas and Sheppard, Sylvia B. (eds.) Proceedings of the ACM CHI 88 Human Factors in Computing Systems Conference June 15-19, 1988, Washington, DC, USA. pp. 127-132.
We describe two experiments that compare the relative utility of pictures, labels, and the combination of both as navigational aids for computerized catalog browsing. The results point to the usefulness of example pictures as search aids in the context of menu traversal through hierarchically structured pictorial databases. We take this outcome to be a reflection of the disambiguating role that pictures can play for verbal category labels.
© All rights reserved Egido and Patterson and/or ACM Press
Patterson, John F. and Egido, Carmen (1987): Video Browsing and System Response Time. In: Carroll, John M. and Tanner, Peter P. (eds.) Proceedings of the ACM CHI 87 Human Factors in Computing Systems Conference April 5-9, 1987, Toronto, Canada. pp. 189-198.
Patterson, John F. and Egido, Carmen (1987): Video Browsing and System Response Time. In: Diaper, Dan and Winder, Russel (eds.) Proceedings of the Third Conference of the British Computer Society Human Computer Interaction Specialist Group - People and Computers III August 7-11, 1987, University of Exeter, UK. pp. 189-198.
Show this list on your homepage
Join the technology elite and advance:
Changes to this page (author)25 Feb 2010: Modified18 Aug 2009: Added
17 Aug 2009: Added
17 Aug 2009: Added
02 Jun 2009: Added
24 Jul 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
22 Jun 2007: Added
28 Apr 2003: Added
Page maintainer: The Editorial Team