260 likes | 375 Views
Collaboration over Internet. Ivan Tomek, Rick Giles, Hai Zhang, Li Di Jodrey School of Computer Science Acadia University, Wolfville, Nova Scotia, Canada. Overview. Definitions. Why is this important? Work environments - categories and examples FCVW – Acadia experiments.
E N D
Collaboration over Internet Ivan Tomek, Rick Giles, Hai Zhang, Li Di Jodrey School of Computer Science Acadia University, Wolfville, Nova Scotia, Canada
Overview • Definitions. • Why is this important? • Work environments - categories and examples • FCVW – Acadia experiments. • FVE – Current Acadia project: • Features. • Demo. • Design and implementation. • Future work.
Definitions • Groupware – software for collaboration. • CSCW - Computer Supported Collaborative Work.
Why is groupware important • Globalization, technology. • Potential exists to satisfy needs.
Types and examples • Limited scope applications. • Integrated multi-function environments. • Types by paradigm: • Project-centered. • Meeting centered. • Space emulation: • 3D virtual world. • GUI-based.
Types and examples - Foldera Project-based. Central concepts: • Activity Folder. • Documents. • Communication. • Group. Tools: • E-mail. • Task Manager. • Contact Manager. • Calendar. • etc.
Types and examples - Marratech Meeting-based. Central concepts: • Virtual meeting / virtual room. Tools: • Whiteboard. • Audio-visual Conferencing. • Recording. • Shared Document Access. • Application Sharing. • Etc.
Types and examples - CVW Virtual room-based - Collaborative Virtual Workspace. Central concepts: • GUI-based emulation of physical space: Building, floors, purpose-dedicated private and shared virtual rooms. • Tools: • Users. • Groups. • Whiteboard. • Recorder. • Audio-visual conferencing. • Shared documents. • User-programmable at runtime. • Etc.
Types and examples Conclusions • Variety of paradigms but shared needs. • Mostly failing in extendibility – closed to evolution. • Most powerful paradigm – space-based, extendible. • => Use CVW and address its limitations. • => FCVW – CVW experiments at Acadia.
FCVW experiments FCVW = Federated CVW. Features: • Virtual room-based. • Federated servers – ‘campus of buildings’. • Programming support – IDE, etc. • Mobile clients. • Software agent framework. • New user interfaces.
FCVW FCVW limitations: • CVW design documentation (‘none’). • Implementation (poor, outdated). • Adaptability (poor) • User programmability (poor). => Redesign, reimplementation: FVE
FVE FVE = Federated Virtual Environment FVE = CVW with • New features. • New design. • New implementation. • Documentation. Current state: Working subset of FCVW + multi-language programmability.
FVE FVE Demo
FVE - Design • FVE Desktop Client • New GUI design - SWT. • FVE middleware • Virtual campus. • Concealing multiple FVE servers from client. • FVE Building server. • FVE Document server • File sharing and management. • Version control.
Example of Operation 4) The TaskManager checks what the next task in the queue is. 5) The TaskQueue responds to the TaskManager. 6) The TaskManager asks the TaskQueue to send the task to the GeneralExecutor 8) The GeneralExecutor retrieves the verb. 9) The GeneralExecutor invokes the corresponding Script Executor 10) The Script Executor runs the verb "Say" and sends results to clients via the ConnectionToClient. 11) The ConnectionToClient sends results to needed clients.
FVE - Design • Multiple scripting language support • Commands • CVW, FCVW: LambdaMOO. • FVE: BeanShell, JRuby, and Jython. • Federated FVE server support • Inspired by FCVW. • Several servers may run on the same machine. • Server-side relational database support. • Universe and code database.
FVE - Design • Client-side administration tool support: • User account management. • Server management. • Virtual space management. • Database management. • Client-side verb programming tool support • MOO extensibility • MOO: Multiple user dimension Object Oriented.
FVE - Implementation • Multiple scripting language support • Java SE 6: javax.scripts.* • JSR 223: script engines. • Federated FVE server support • SWT: The Standard Widget Toolkit. • Individual JRE. • Server-side relational database support • MySQL. • JDBC: Java Database Connectivity.
FVE - Implementation • Client-side administration tool support: • SWT and MCP (MUD Client Protocol). • FVE Admin server and server-side database. • Client-side command programming tool support: • SWT and MCP. • FVE Admin server and server-side database.
Future work • Completion of functionality: A/V conferencing, whiteboard, recorder, etc. • Client: User Interfaces. • Framework solution: Modularization of client and server implementation. Eclipse plugins. • Testing: • Performance and scalability. • Usability. • Extendibility.
Future work • Use in real communities – work (groupware) and social (socialware). • Communication protocols. • Virtual engines other than JVM. • Peer-to-peer technology. • Software agents. • Browser-based client. • Mobile clients.
References Foldera: http://www.foldera.com/ Marratech: http://www.marratech.com/support.html CVW: http://cvw.sourceforge.net/