groupware toolkits for synchronous work saul greenberg, mark roseman dept. of computer science,...

14
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 Soft ware Series. John Wiley & Sons Ltd., 1998. Also, Technical Report 96-589-09, 1996 Presented by Pramod Gurunath.

Post on 22-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Groupware toolkits for Synchronous work

Saul Greenberg, Mark RosemanDept. of Computer Science, Univ. of CalgaryIn M. Beaoudouin-Lafon, editor, Computer-Supported Cooperative Work, Trends in Software Series. John Wiley & Sons Ltd., 1998. Also, Technical Report 96-589-09, 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, upd

ating data model and view. Facilities for programmers – APIs, libraries etc.

• Multicast RPCs– No need to explicitly code for RPCs – its just another fu

nction 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 ch

anges to the data– Views may directly be updated/local updates may occu

r

• 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 applicati

ons• Joining conferences

– Open door• Create/Join/Invite• Not persistent

– Rendezvous points• Similar to chat rooms• Persistent

• Examples– Groupkit provides event/notifiers which can be progra

mmed

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 (1988-90)

– Publications• 4 books, 22 journal papers, …• Various software packages

– Home page• http://pages.cpsc.ucalgary.ca/~saul/

• 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• http://www.markroseman.com/