Results 11 - 20
of
373
An algorithm for distributed groupware applications
- Proceedings of the 13th International Conference on Distributed Computing Systems ICDCS’93
"... ..."
(Show Context)
A Selective Undo Mechanism for Graphical User Interfaces Based On Command Objects
- ACM Transactions on Computer-Human Interaction
, 1994
"... It is important to provide a recovery operation for applications with a graphical user interface. A restricted linear undo mechanism can conveniently be implemented using object-oriented techniques. Although linear undo provides an arbitrarily long history, it is not possible to undo isolated comman ..."
Abstract
-
Cited by 74 (0 self)
- Add to MetaCart
(Show Context)
It is important to provide a recovery operation for applications with a graphical user interface. A restricted linear undo mechanism can conveniently be implemented using object-oriented techniques. Although linear undo provides an arbitrarily long history, it is not possible to undo isolated commands from the history without undoing all following commands. Various undo models have been proposed to overcome this limitation, but they all ignore the problem that in graphical user interfaces a previous user action might not have a sensible interpretation in another state. The selective undo mechanism introduced here can undo isolated commands by copying them into the current state if that is meaningful. Furthermore, the semantics of selective undo are argued to be more natural for the user because the mechanism only looks at the command to undo and the current state and does not depend on the history in between. The user interface for selective undo can also be implemented generically. S...
Local-lag and Timewarp: Providing Consistency for Replicated Continuous Applications
, 2002
"... In this paper we investigate how consistency can be established for replicated applications changing their state in reaction to user-initiated operations as well as the passing of time. Typical examples of these applications are networked computer games and distributed virtual environments. We give ..."
Abstract
-
Cited by 73 (5 self)
- Add to MetaCart
In this paper we investigate how consistency can be established for replicated applications changing their state in reaction to user-initiated operations as well as the passing of time. Typical examples of these applications are networked computer games and distributed virtual environments. We give a formal definition of the terms consistency and correctness for this application class. Based on these definitions, it is shown that an important tradeoff relationship exists between the responsiveness of the application and the appearance of short-term inconsistencies. We propose to exploit the knowledge of this tradeo by voluntarily decreasing the responsiveness of the application in order to eliminate short-term inconsistencies. This concept is called local-lag. Furthermore, a timewarp scheme is presented that complements local-lag by guaranteeing consistency and correctness for replicated continuous applications. The computational complexity of the timewarp algorithm is determined in theory and practice by examining a simple networked computer game. The timewarp scheme is then compared to the wellknown dead-reckoning approach. It is shown that the choice between both schemes is application-dependent.
Developing a Reflective Model of Collaborative Systems
- ACM Transactions on Computer-Human Interaction
, 1995
"... Recent years have seen a shift in perception of the nature of HCI and interactive systems. As interface work has increasingly become a focus of attention for the social sciences, we have expanded our appreciation of the importance of issues such as work practice, adaptation, and evolution in interac ..."
Abstract
-
Cited by 71 (10 self)
- Add to MetaCart
Recent years have seen a shift in perception of the nature of HCI and interactive systems. As interface work has increasingly become a focus of attention for the social sciences, we have expanded our appreciation of the importance of issues such as work practice, adaptation, and evolution in interactive systems. The reorientation in our view of interactive systems has been accompanied by a call for a new model of design centered around user needs and participation. This article argues that a new process of design is not enough and that the new view necessitates a similar reorientation in the structure of the systems we build. It outlines some requirements for systems that support a deeper conception of interaction and argues that the traditional system design techniques are not suited to creating such systems. Finally, using examples from ongoing work in the design of an open toolkit for collaborative applications, it illustrates how the principles of computational reflection and metaobject protocols can lead us toward a new model based on open abstraction that holds great promise in addressing these issues.
A Concurrency Control Framework for Collaborative Systems
- ACM Conference on Computer Supported Cooperative Work
, 1996
"... We have developed a new framework for supporting concurrency control in collaborative applications. It supports multiple degrees of consistency and allows users to choose concurrency control policies based on the objects they are manipulating, the tasks they are performing, and the coupling and merg ..."
Abstract
-
Cited by 69 (0 self)
- Add to MetaCart
(Show Context)
We have developed a new framework for supporting concurrency control in collaborative applications. It supports multiple degrees of consistency and allows users to choose concurrency control policies based on the objects they are manipulating, the tasks they are performing, and the coupling and merge policies they are using. Concurrency control policies are embodied in hierarchical, constructor-based lock compatibility tables. Entries in these tables may be specified explicitly or derived automatically from coupling and merge policies. In this paper, we motivate and describe the framework, identify several useful concurrency control policies it can support, evaluate its flexibility, and give conclusions and directions for future work. Keywords Concurrency control, collaborative systems, consistency criteria, coupling, merging, transactions INTRODUCTION When two or more users collaborate through jointly manip- ulating a shared object---be it an electronic whiteboard, a document, or ...
A Framework for Undoing Actions in Collaborative Systems
- ACM Transactions on Computer-Human Interaction
, 1994
"... this paper, we propose a general framework for implementing undo in collaborative systems. The framework allows users to individually reverse their own changes, taking into account the possibility of conflicts between different users' operations that may prevent an undo. The proposed framework ..."
Abstract
-
Cited by 67 (0 self)
- Add to MetaCart
this paper, we propose a general framework for implementing undo in collaborative systems. The framework allows users to individually reverse their own changes, taking into account the possibility of conflicts between different users' operations that may prevent an undo. The proposed framework has been incorporated into DistEdit, a toolkit for building group text-editors. Based on our experience with DistEdit's undo facilities, we discuss several issues that need to be taken into account in using the framework, in order to ensure that a reasonable undo behavior is provided to users. We show that the framework is also applicable to single-user systems, since the operations to undo can be selected not just on the basis of who performed them, but by any appropriate criterion, such as the document region in which the operations occurred or the time interval in which the operations were carried out. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Tools and Techniques -- User Interfaces; H.1.2 [Models and Principles]: User/Machine Systems -- Human Factors; H.2.2 [Database
WebDAV - A network protocol for remote collaborative authoring on the Web
, 1999
"... . Collaborative authoring tools generate network effects, where each tool's value depends not just on the tool itself, but on the number of other people who also have compatible tools. We hypothesize that the best way to generate network effects and to add collaborative authoring capability to ..."
Abstract
-
Cited by 66 (1 self)
- Add to MetaCart
. Collaborative authoring tools generate network effects, where each tool's value depends not just on the tool itself, but on the number of other people who also have compatible tools. We hypothesize that the best way to generate network effects and to add collaborative authoring capability to existing tools is to focus on the network protocol. This paper explores a protocol-centric approach to collaborative authoring by examining the requirements and functionality of the WebDAV protocol. Key features of the protocol are nonconnection -oriented concurrency control, providing an upward migration path for existing non-collaborative applications, support for remote manipulation of the namespace of documents, and simultaneous satisfaction of a wide range of functional requirements. Introduction Despite many compelling research examples of collaborative authoring, so far their impact on actual authoring practice has been limited. While BSCW (Bentley et al., 1997) and HYPER-G (Maurer, 1996...
Groupware Toolkits for Synchronous Work
, 1999
"... Groupware toolkits let developers build applications for synchronous and distributed computer-based conferencing. This chapter describes four components that we believe toolkits must provide. A run-time architecture automatically manages the creation, interconnection, and communications of both cent ..."
Abstract
-
Cited by 65 (15 self)
- Add to MetaCart
Groupware toolkits let developers build applications for synchronous and distributed computer-based conferencing. This chapter describes four components that we believe toolkits must provide. A run-time architecture automatically manages the creation, interconnection, and communications of both centralized and distributed processes that comprise conference sessions. A set of groupware programming abstractions allows developers to control the behavior of distributed processes, to take action on state changes, and to share relevant data. Groupware widgets let interface features of value to conference participants be added easily to groupware applications. Session managers let people create and manage their meetings and are built by developers to accommodate the group’s working style. We illustrate the many ways these components can be designed by drawing on our own experiences with GroupKit, and by reviewing approaches taken by other toolkit developers.
Supporting Collaborative Writing of Hyperdocuments in SEPIA
, 1992
"... Today, most cooperative systems support primarily either asynchronous or synchronous (real time) cooperative work. We feel that both synchronous and asynchronous cooperation are extremely important aspects of working in groups, and to ignore one or the other is to supply only half a solution to user ..."
Abstract
-
Cited by 58 (12 self)
- Add to MetaCart
Today, most cooperative systems support primarily either asynchronous or synchronous (real time) cooperative work. We feel that both synchronous and asynchronous cooperation are extremely important aspects of working in groups, and to ignore one or the other is to supply only half a solution to users. In this paper, we describe the extension of the hypertext authoring system SEPIA developed at GMD-IPSI to support cooperative work among hypertext authors. Cooperative SEPIA is unique not only in its ability to support cooperative work in both of these categories, but also in how smoothly and naturally it supports the transition between these two categories.
A Framework For Shared Applications With A Replicated Architecture
- IN PROCEEDINGS OF SIXTH ACM SYMPOSIUM ON USER INTERFACE AND SOFTWARE TECHNOLOGY. ATLANTA, GA: ACM PRESS
, 1993
"... The interaction history of a document can be modelled as a tree of command objects. This model not only supports recovery (undo/redo), but is also suitable for cooperation between distributed users working on a common document. Various coupling modes can be supported. Switching between modes is supp ..."
Abstract
-
Cited by 56 (1 self)
- Add to MetaCart
The interaction history of a document can be modelled as a tree of command objects. This model not only supports recovery (undo/redo), but is also suitable for cooperation between distributed users working on a common document. Various coupling modes can be supported. Switching between modes is supported by regarding different versions of a document as different branches of the history. Branches can then be merged using a selective redo mechanism. Synchronous cooperation is supported by replicating the document state and exchanging command objects. Optimistic concurrency control can be applied, because conflicting actions can later be undone automatically.