groupware toolkits for synchronous work saul greenberg, mark roseman dept. of computer science,...
Post on 22-Dec-2015
222 views
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/