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.

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

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

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/