695 research outputs found

    Introducing Selective Undo Features in a Collaborative Editor

    Get PDF
    Undo is an important functionality of editors. Selective undo is widely regarded as an important feature for collaborative editing. However, even after nearly three decades of active research and development, there is still no practical support of selective undo for collaborative editing. This paper introduces the selective undo features that we have implemented as part of a collaborative editing subsystem in the GNU Emacs text editor

    A Generic Undo Support for State-Based CRDTs

    Get PDF
    CRDTs (Conflict-free Replicated Data Types) have properties desirable for large-scale distributed systems with variable network latency or transient partitions. With CRDT, data are always available for local updates and data states converge when the replicas have incorporated the same updates. Undo is useful for correcting human mistakes and for restoring system-wide invariant violated due to long delays or network partitions. There is currently no generally applicable undo support for CRDTs. There are at least two reasons for this. First, there is currently no abstraction that we can practically use to capture the relations between undo and normal operations with respect to concurrency and causality. Second, using inverse operations as the existing partial solutions, the CRDT designer has to hard-code certain rules and design a new CRDT for almost every operation that needs undo support. In this paper, we present an approach to generic support of undo for CRDTs. The approach consists of two major parts. We first work out an abstraction that captures the semantics of concurrent undo and redo operations through equivalence classes. The abstraction is a natural extension of undo and redo in sequential applications and is straightforward to implement in practice. By using this abstraction, we then device a mechanism to augment existing CRDTs. The mechanism provides an "out of the box" support for undo without the involvement of the CRDT designers. We also present a practical application of the approach in collaborative editing

    A CRDT Supporting Selective Undo for Collaborative Text Editing

    Get PDF
    International audienceUndo is an important feature of editors. However, even after over two decades of active research and development, support of undo for real-time col-laborative editing is still very limited. We examine issues concerning undo in collaborative text editing and present an approach using a layered commutative replicated data type (CRDT). Our performance study shows that it provides sufficient responsiveness to the end users

    Handling Disturbance and Awareness of Concurrent Updates in a Collaborative Editor

    Get PDF
    International audienceWhen people work collaboratively on a shared document, they have two contradictory requirements on their editors that may affect the efficiency of their work. On the one hand, they would like to know what other people are currently doing on a particular part of the document. On the other hand, they would like to focus their attention on their own current work, with as little disturbance from the concurrent activities as possible. We present some features that help the user handle disturbance and awareness of concurrent updates. While collabora-tively editing a shared document with other people, a user can create a focus region. The user can concentrate on the work in the region without being interfered with the concurrent updates of the other people. Occasionally, the user can preview the concurrent updates and select a number of these updates to be integrated into the local copy. We have implemented a collaborative editing subsystem in the GNU Emacs 5 text editor with the described features

    User Interfaces and Difference Visualizations for Alternatives

    Get PDF
    Designers often create multiple iterations to evaluate alternatives. Todays computer-based tools do not support such easy exploration of a design space, despite the fact that such support has been advocated. This dissertation is centered on this. I begin by investigating the effectiveness of various forms of difference visualizations and support for merging changes within a system targeted at diagrams with node and edge attributes. I evaluated the benefits of the introduced difference visualization techniques in two user studies. I found that the basic side-by-side juxtaposition visualization was not effective and also not well received. For comparing diagrams with matching node positions, participants preferred the side-by-side option with a difference layer. For diagrams with non-matching positions animation was beneficial, but the combination with a difference layer was preferred. Thus, the difference layer technique was useful and a good complement to animation. I continue by investigating if explicit support for design alternatives better supports exploration and creativity in a generative design system. To investigate the new techniques to better support exploration, I built a new system that supports parallel exploration of alternative designs and generation of new structural combinations. I investigate the usefulness of my prototype in two user studies and interviews. The results and feedback suggest and confirm that supporting design alternatives explicitly enables designers to work more creatively. Generative models are often represented as DAGs (directed acyclic graphs) in a dataflow programming environment. Existing approaches to compare such DAGs do not generalize to multiple alternatives. Informed by and building on the first part of my dissertation, I introduce a novel user interface that enables visual differencing and editing alternative graphsspecifically more than two alternatives simultaneously, something that has not been presented before. I also explore multi-monitor support to demonstrate that the difference visualization technique scales well to up to 18 alternatives. The novel jamming space feature makes organizing alternatives on a 23 monitor system easier. To investigate the usability of the new difference visualization method I conducted an exploratory interview with three expert designers. The received comments confirmed that it meets their design goals

    Operation transformation based concurrency control in group editors

    Get PDF
    Collaborative editing systems (or group editors) allow a geographically dispersed group of human users to view and modify shared multimedia documents, such as research papers, design diagrams, web pages and source code together over a computer network. In addition to being useful tools, group editors are a classic research vehicle and model of interactive groupware applications, based on which a variety of social and technical issues have been investigated. Consistency maintenance as a fundamental problem in group editors has attracted constant research attention. Operational transformation (OT) is an optimistic consistency maintenance method that supports unconstrained collaboration among human users. Although significant progress has been achieved over the past decade, there is still a large space for improvement on the theoretical part of OT. In this dissertation, we are concerned with three problems: (1) How to evaluate the correctness of OT-based consistency maintenance protocols; (2) How to design and prove correct OT-based protocols; (3) What are the consistency correctness conditions for group editing systems in general. This dissertation addresses the above three problems and makes the following contributions: (1) propose a total order based framework including a new consistency model and the associated design methodology. This framework reduces the complexities of the OT design; (2) improve the total order based framework by introducing a natural order based framework. In contrast, this framework removes the requirement of defining a total order that is not necessary to the OT design; (3) establish a generic consistency model and propose the first set of practical design guidelines in OT based on this model

    SAGA: A project to automate the management of software production systems

    Get PDF
    The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management

    Management and Visualisation of Non-linear History of Polygonal 3D Models

    Get PDF
    The research presented in this thesis concerns the problems of maintenance and revision control of large-scale three dimensional (3D) models over the Internet. As the models grow in size and the authoring tools grow in complexity, standard approaches to collaborative asset development become impractical. The prevalent paradigm of sharing files on a file system poses serious risks with regards, but not limited to, ensuring consistency and concurrency of multi-user 3D editing. Although modifications might be tracked manually using naming conventions or automatically in a version control system (VCS), understanding the provenance of a large 3D dataset is hard due to revision metadata not being associated with the underlying scene structures. Some tools and protocols enable seamless synchronisation of file and directory changes in remote locations. However, the existing web-based technologies are not yet fully exploiting the modern design patters for access to and management of alternative shared resources online. Therefore, four distinct but highly interconnected conceptual tools are explored. The first is the organisation of 3D assets within recent document-oriented No Structured Query Language (NoSQL) databases. These "schemaless" databases, unlike their relational counterparts, do not represent data in rigid table structures. Instead, they rely on polymorphic documents composed of key-value pairs that are much better suited to the diverse nature of 3D assets. Hence, a domain-specific non-linear revision control system 3D Repo is built around a NoSQL database to enable asynchronous editing similar to traditional VCSs. The second concept is that of visual 3D differencing and merging. The accompanying 3D Diff tool supports interactive conflict resolution at the level of scene graph nodes that are de facto the delta changes stored in the repository. The third is the utilisation of HyperText Transfer Protocol (HTTP) for the purposes of 3D data management. The XML3DRepo daemon application exposes the contents of the repository and the version control logic in a Representational State Transfer (REST) style of architecture. At the same time, it manifests the effects of various 3D encoding strategies on the file sizes and download times in modern web browsers. The fourth and final concept is the reverse-engineering of an editing history. Even if the models are being version controlled, the extracted provenance is limited to additions, deletions and modifications. The 3D Timeline tool, therefore, implies a plausible history of common modelling operations such as duplications, transformations, etc. Given a collection of 3D models, it estimates a part-based correspondence and visualises it in a temporal flow. The prototype tools developed as part of the research were evaluated in pilot user studies that suggest they are usable by the end users and well suited to their respective tasks. Together, the results constitute a novel framework that demonstrates the feasibility of a domain-specific 3D version control

    Managing configuration history in domestic networks

    Get PDF
    Domestic Networks are gaining in complexity, with an increasing number and variety of devices. Increasing complexity results in greater difficulty managing configuration and troubleshooting when problems occur. This thesis presents strategies to assist users in managing the complexity of their networks. The work is split into several parts. First, configuration changes are tracked and users are presented with a timeline of changes to their network. Provision of a selective undo system is the second feature. The undo facility is designed to allow any change to be undone independently of any other. Users are also given the option of reverting to an earlier point, either before a specific change, or to a specific timestamp. The next feature is use of notifications. Any changes that require further actions can be broadcast to users directly. Changing Wi-Fi configuration is one example. The range of devices in use makes changing Wi-Fi configuration (and the subsequent reconfiguration of devices) a challenge, because the devices affected may be part of the infrastructure of a home (lights or thermostat for example). Because these devices have unique methods of network setup, restoring connectivity to every device can be challenging. This thesis also presents a method of changing Wi-Fi configuration which allows users a grace period to reconnect all their devices. Each of these features was assessed by a user study, the results of which are also discussed

    Supporting String-Wise Operations and Selective Undo for Peer-to-Peer Group Editing

    No full text
    corecore