Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

Database System Concepts and Architecture
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
James Tam Group Work And Technology Collaboration and designing interfaces Groupware and CSCW Categories of interaction.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
An Agent Capable of Learning to Create and Maintain Websites Anthony Tomasic, Ravi Mosur Alex Rudnicky, Raj Reddy, John Zimmerman Carnegie Mellon University.
Saul Greenberg Groupware Infrastructures Saul Greenberg Professor Department of Computer Science University of Calgary.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
System Design: Decomposing the System
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persistent chat room Authors: Hazanovitch Evgeny Hazanovitch.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Legion Worldwide virtual computer. About Legion Made in University of Virginia Object-based metasystems software project middleware that connects computer.
Collaborative Software Engineering – Awareness and Concurrency Agam.
The University of Akron Dept of Business Technology Computer Information Systems Database Management Approaches 2440: 180 Database Concepts Instructor:
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Client-Server Computing in Mobile Environments
Enterprise Resource Planning
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
Collaboration Services Specification MITRE Dr. Mark T. Maybury Executive Director Information Technology Center
Introduction to distributed systems Dr. S. Indran 23 January 2004.
The Development, Maintenance, and Use of Course Web Sites The Development, Maintenance, and Use of Course Web Sites Panel at the ACM SIGCSE 34th Technical.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Exercises for Chapter 2: System models
Human Computer Interaction
MOBILE GROUPWARE Jason Tsay Advanced User Interface Software - Spring 2013.
Poster on 4x8 foot posterboard The IRI-h Objectives 1  Platform Independent Services : using JAVA technology  Multi-participant Audio/Video : using.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Architectures of distributed systems Fundamental Models
Session-8 Data Management for Decision Support
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Cohesion and Coupling CS 4311
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
A Summary of the Distributed System Concepts and Architectures Gayathri V.R. Kunapuli
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
Multi-Station and Fault Tolerance  A single computer controlling all features of the Home is problematic. –In multi-floor homes access to Home features.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
A Collaborative Framework for Scientific Data Analysis and Visualization Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox Department of Computer.
Software Tools, Part 2 Fall, Overview Toolkits Toolkits Prototyping Languages Prototyping Languages Frameworks Frameworks Groupware Frameworks Groupware.
Fall 2002CS/PSY Computer Support Cooperative Work (CSCW) Facilitating work by more than one person Computer Supported Cooperative Work  Study of.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Research on Software Scaffolding and Community Support Jörg M. Haake
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Computer supported cooperative work -Basic concepts
Topic Distributed DBMS Database Management Systems Fall 2012 Presented by: Osama Ben Omran.
May , 2006ICBL 2007 Florianopolis Brazil1 IRI-Easy: A Distance Education Software System Y. Wang, K. Maly, C. M. Overstreet Department of Computer.
Master thesis Analysis and implementation of monitoring systems of active network equipment. Scientific advisor: Univ. Prof., Dr. Hab., Pavel TOPALA Master.
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Presentation 3: Designing Distributed Objects. Ingeniørhøjskolen i Århus Slide 2 af 16 Outline Assumed students are knowledgeable about OOP principles.
처음 페이지로 이동 Groupware and Computer Supported Cooperative Work n Clarence Ellis and Jacques Wainer n 발표자 : 임산공학과 김 훈.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
How to Think about Today’s Readings
Support for the Development of Interactive Systems
Building Distributed Educational Applications using P2P
CSCW Facilitating work by more than one person
Mobile Agents.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
The Development, Maintenance, and Use of Course Web Sites Panel at the ACM SIGCSE 34th Technical Symposium on Computer Science Education, Reno,
Presentation transcript:

Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported Cooperative Work, Trends in Software Series. John Wiley & Sons Ltd., Also, Technical Report , 1996 Presented by Pramod Gurunath.

Outline Features of Groupware toolkits –Run-time architectures –Programming abstractions –Groupware widgets –Session management Examples of toolkits (Groupkit) Discussion About the authors

Why toolkits? Provides a robust framework Programmer need not bother about house- keeping tasks (creating process, communication, etc.) Rapid development of groupware applications Customizable target applications

Run-time architectures Typically, groupware systems have multiple processes communicating over a network Centralized architecture –Server-Client model: Server handles processing and clients handle local display –Synchronization is easy –High latency, low performance – processing only on the server –Problems might arise if clients are heterogeneous Replicated architecture –Every site executes a copy of the program –Low latency, good performance – processing in parallel –Supports heterogeneous environments –System is complex due to synchronization and concurrency issues

Impact of architecture on toolkit design Affects how programmers code their systems, system performance, data abstractions Depending on the toolkit’s implementation, programmer should be concerned about –Concurrency control –Synchronization –Communication –Fault tolerance Example: –Notification server: Semi-replicated –Groupkit: Replicated architecture

–Registrar only for session maintenance –Programmers build session managers and conference applications –No implicit concurrency control, fault tolerance

Programming abstractions Abstractions for coordinating b/w processes, updating data model and view. Facilities for programmers – APIs, libraries etc. Multicast RPCs –No need to explicitly code for RPCs – its just another function call –Can specify recipients (all/some) Events and notifiers –For synchronization –Notifiers: callback functions for an event; programmers have freedom to define new events/modify existing notifiers

Shared models/views –Has a shared data model and notifies processes of changes to the data –Views may directly be updated/local updates may occur Examples –Groupkit: Code examples in Tcl/Tk

Groupware Widgets GUI widgets – usually single-user mode Groupware button? –Button’s state to be reflected among the participating users –Coupling Tight and loose coupling –Access control Who can access and when –Widget redesigns Redesign widget to fit groupware –Example: Multi-user scroll bar Examples of Groupware-specific widgets

Implemented in Groupkit Participant status –Shows participants in the conference and their profiles Telepointers –Each user’s mouse pointer can be seen –Has the name of the user beside the mouse pointer Workspace awareness –Informs where users are working in shared work space and what they are doing –Displayed as a tree –Useful to get a quick overview

Session management Establish and maintain session information Session managers work with conference applications Joining conferences –Open door Create/Join/Invite Not persistent –Rendezvous points Similar to chat rooms Persistent Examples –Groupkit provides event/notifiers which can be programmed

Discussion Other factors to consider in the toolkit –Security, audio/video support, Multi-user Undo, Implementation language More groupware widget examples? Dr. Du Li’s COCA

Authors Dr. Saul Greenberg –Currently, Prof. of Comp. Sc., Univ. of Calgary, CANADA (since 1990). HCI and CSCW areas –Education PhD (1989) and MS (1984) from Univ. of Calgary –Also Independent Consultant for CHI (1995-present) Was Post-doc at Alberta Research Council ( ) –Publications 4 books, 22 journal papers, … Various software packages –Home page

Mark Roseman –Founder of CourseForum technologies A web-application where instructor and students can share knowledge, host discussions –Education MS (1993), Advisor: Dr. Saul Greenberg –Also Founder & CTO of TeamWave Software Ltd –Internet collaboration software Senior developer at three other companies Tcl/Tk fan –Home page