Results 1 - 10
of
13
Building Real Time Groupware with GroupKit, A Groupware Toolkit
, 1995
"... This paper presents an overview of GroupKit, a groupware toolkit that lets developers build applications for synchronous and distributed computer-based conferencing. GroupKit was constructed from our belief that programming groupware should be only slightly harder than building functionally similar ..."
Abstract
-
Cited by 147 (23 self)
- Add to MetaCart
This paper presents an overview of GroupKit, a groupware toolkit that lets developers build applications for synchronous and distributed computer-based conferencing. GroupKit was constructed from our belief that programming groupware should be only slightly harder than building functionally similar single-user systems. We have been able to significantly reduce the implementation complexity of groupware through the key features that comprise GroupKit. A runtime infrastructure automatically manages the creation, interconnection, and communications of the distributed processes that comprise conference sessions. A set of groupware programming abstractions allows developers to control the behaviour of distributed processes, to take action on state changes, and to share relevant data. Groupware widgets let interface features of value to conference participants to be easily added to groupware applications. Session managers⎯interfaces that let people create and manage their meetings⎯are decoupled from groupware applications and are built by developers to accommodate the group’s working style. Example GroupKit applications in a variety of domains have been implemented with only modest effort.
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 53 (13 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.
Efficient Distributed Implementation of Semi-Replicated Synchronous Groupware
, 1996
"... The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semi-replication of MVC architectures can lead to good ..."
Abstract
-
Cited by 41 (7 self)
- Add to MetaCart
The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semi-replication of MVC architectures can lead to good performance over both local and wide area networks. We present a series of optimizations to network communication based on specific communication properties of groupware. These optimizations have been implemented in the Clock groupware development toolkit, allowing programmers to develop applications directly in the high-level MVC style, with Clock automatically providing optimized performance. Timings of an application developed in Clock show that usable speed was obtained in a highly interactive groupware application running between Toronto and Calgary, with a typical latency of 190 ms per round trip message. The paper discusses the tradeoffs involved in the algorithms, and presents timings to demonstrate the effectiveness of the different approaches. The timings show that when running over a wide area network, the best optimization can achieve a factor 60 speedup over the naive implementation of distributed MVC.
Architectures for Synchronous Groupware
, 1999
"... Synchronous groupware systems allow physically separated users to interact with one another and with shared computational objects in real time. Such systems are problematic to build since their user interfaces must support multiple, concurrent users, and both their application logic and their user i ..."
Abstract
-
Cited by 24 (6 self)
- Add to MetaCart
Synchronous groupware systems allow physically separated users to interact with one another and with shared computational objects in real time. Such systems are problematic to build since their user interfaces must support multiple, concurrent users, and both their application logic and their user interfaces must be distributed across multiple platforms. This survey explores the range of software architectures that have been proposed to solve this problem. The presentation includes three distinct architectural views: reference models, which divide complete systems into named functional elements and specify data flow between those elements; architectural styles, which prescribe component and connector types and their allowed patterns of interaction; and distribution architectures, which represent the distribution of system functionality across connected computing platforms. The distribution architectures are presented using a new descriptive framework called Interlace. The architectural presentation is complemented by a brief overview of consistency maintenance
Tools for Implementing Groupware: Survey and Evaluation
, 1994
"... ion means the logical separation of the code of a groupware application into the functional core and the user interface part. Development of synchronous groupware is thought to benefit from abstraction. Users take on (sometimes several different) roles in groupware settings. Access rights are often ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
ion means the logical separation of the code of a groupware application into the functional core and the user interface part. Development of synchronous groupware is thought to benefit from abstraction. Users take on (sometimes several different) roles in groupware settings. Access rights are often dictated by the roles of the different users. Evidently, groupware tools should strive to aid programmers in tackling such complexities. We also found three surveys on groupware design issues [24, 51, 15] helpful when trying to get an impression of groupware developers' needs. Finally, some results from a closely related field: Researchers working on developing tools for singleuser user interfaces suggest that the following are desirable features of programming languages for implementing such systems [40]: ffl Efficient runtime execution. ffl Fast translation or compilation. ffl Portability to, and availability on, a wide range of platforms. ffl Facilities to support reuse. ffl Strong typ...
Flexibly Mapping Synchronous Groupware Architectures to Distributed Implementations
- In Proceedings of Design, Specification and Verification of Interactive Systems
, 1999
"... Design-level architectures allow developers to concentrate on the functionality of their groupware application without exposing its detailed implementation as a distributed system. Because they abstract issues of distribution, networking and concurrency control, design-level architectures can be imp ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
Design-level architectures allow developers to concentrate on the functionality of their groupware application without exposing its detailed implementation as a distributed system. Because they abstract issues of distribution, networking and concurrency control, design-level architectures can be implemented using a range of distributed implementation architectures. This paper shows how the implementation of groupware applications can be guided by the use of semantics-preserving architectural annotations. This approach leads to a development cycle that involves first developing the functionality of the application in a local-area context, then tuning its performance by setting architecture annotations. The paper concludes with timing results showing that architectural annotations can dramatically improve the performance of groupware applications. 1 Introduction In recent years, a number of software architecture styles have been proposed to support the development of synchro...
Coordination Infrastructure in Collaborative Systems
, 1995
"... models of information sharing, and runtime support based on those models, are by themselves incomplete for the task of constructing robust, practical collaborative applications. To be usable, we must provide a means for developers to access these facilities easily. This chapter has presented develop ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
models of information sharing, and runtime support based on those models, are by themselves incomplete for the task of constructing robust, practical collaborative applications. To be usable, we must provide a means for developers to access these facilities easily. This chapter has presented developer perspectives on the concepts introduced by Intermezzo. We have investigated a number of components of the developer support, or "toolkit," in this research, including notification, programming interfaces for accessing shared data, interfaces for accessing collaboration-specific functionality, and the use of scripting through embedded computation. Notification is one of the most important problems to be addressed in any developer support: how do applications (and, by extension, their users) become aware of changes in their environments? This problems is especially vexing in the case of coordination, where information that may be considered interesting is plentiful, change is rapid, and the...
Integracion de Componentes en la Aplicacion de Trabajo Cooperativo ISABEL
, 1994
"... rece un sistema para poder configurar y probar muy rapidamente escenarios muy variados asociados a un cierto tipo de conferencia distribuida de trabajo cooperativo. ISABEL ha sido desarrollada en los proyectos ISABEL e IBER 1 . El objetivo del proyecto ISABEL era la interconexion de las islas ATM ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
rece un sistema para poder configurar y probar muy rapidamente escenarios muy variados asociados a un cierto tipo de conferencia distribuida de trabajo cooperativo. ISABEL ha sido desarrollada en los proyectos ISABEL e IBER 1 . El objetivo del proyecto ISABEL era la interconexion de las islas ATM RECIBA y RIA desarrolladas por Telefonica (Espana) y Telecom Portugal (Portugal), y demostrar la utilidad real de las nuevas tecnologas basadas en ATM. As, una primera version de la aplicacion ISABEL se desarrollo para demostrar esta utilidad, beneficiandose de esta tecnologa de banda ancha para obtener un buen soporte para los servicios multimedia distribuidos que porporciona. Por otro lado, uno de los objetivos del proyecto IBER es la elaboracion de aplicaciones de Educacion a Distancia y Trabajo Cooperativo, y la coordinacion de otros proyectos RACE. La aplicacion ha sido desarrollada para cubrir principalmente dos campos: 1. Educacion a distancia. Integracion de varios
Getting the Mobile Users in: Three systems that support collaboration in an environment with heterogeneous communication devices
- In Proceedings of the Working Conference on Advanced Visual Interfaces (AVI 2000
, 2000
"... The wireless integration of small portable devices, such as PDAs or mobile phones with built-in computing power adds another level of complexity on communication and collaborative systems since one has to take into account that the different users may not be equipped equally footed in terms of outpu ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The wireless integration of small portable devices, such as PDAs or mobile phones with built-in computing power adds another level of complexity on communication and collaborative systems since one has to take into account that the different users may not be equipped equally footed in terms of output and input capabilities. In this paper we present MapViews, Magic Lounge, and Call-Kiosk, three different but related systems that address the integration of mobile communication terminals into multi-user applications. MapViews is a test-bed to investigate how a small group of geographically dispersed users can jointly solve localization and route planning tasks while being equipped with different communication terminals. Magic Lounge stands for a virtual meeting space that provides a number of communication support services and allows its users to connect via heterogeneous devices. Finally, we sketch Call-Kiosk a system that is currently being designed for setting up a commercial information service for mobile clients. All three systems emphasize the high demand for automated design approaches which are able to generate information presentations that are tailored to the available presentation capabilities of particular target devices. 1.
The Workspace Model: Dynamic Distribution of Interactive Systems
, 2006
"... This thesis presents an architectural model for synchronous groupware called the Workspace Model, which provides a clean separation of conceptual structure from distributed implementation. The model includes a formally-defined, distribution transparent, conceptual level architectural model with appr ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This thesis presents an architectural model for synchronous groupware called the Workspace Model, which provides a clean separation of conceptual structure from distributed implementation. The model includes a formally-defined, distribution transparent, conceptual level architectural model with appropriate abstractions for the development of groupware; a formally-defined implementation level architec-tural model that exposes the distributed system issues abstracted at the conceptual level; a formal relation between the two levels that allows a range of implementa-tions to be automatically computed for any conceptual level architecture; and an explicit representation of runtime change. We argue that this combination of properties allows the model to satisfy needs arising from three communities: end-users, application programmers, and toolkit developers. End users require that their groupware systems support fluid collab-oration, perform efficiently, and behave in a predictable manner. Application pro-grammers need an environment that is appropriately expressive and that doesn’t

