Developing Collaborative Applications on the Web
Andreas Girgensohn
FX Palo Alto Laboratory
3400 Hillview Avenue
Palo Alto, CA 94304
+1-415-813-7244
andreasg@pal.xerox.com
Alison Lee
IBM TJ Watson Research
30 Saw Mill River Road
Hawthorne, NY 10532
+1-914-784-7712
alisonl@us.ibm.com
Aim and Objective
The goal of the tutorial is to provide insights and understanding into how to develop interactive and collaborative applications using the Web as a rapid prototyping and development platform. At the end of the tutorial, participants will have a basic understanding to begin developing collaborative applications using this platform.
In the last two years, our community has seen phenomenal interest and
growth of the World Wide Web as a user-friendly means for accessing and
disseminating information. Whether it is for internal or external use,
the Web enables individuals, researchers, and companies to communicate
in an easy-to-use and cost-effective manner compared to "commercial" but
proprietary or research-prototype information systems. However, what is
less known about the WWW is its appropriateness as a development platform
for highly interactive information systems and groupware applications.
Drawing on our experiences with developing several collaborative applications
at NYNEX to support distributed work groups and web-based applications
at FX Palo Alto Laboratory, we use concrete examples to demonstrate how
to develop
collaborative applications using the components of the WWW (e.g., CGI
scripts, JavaScript, Java).
There are several appealing aspects for using the Web for developing collaborative applications. Standard browsers such as Netscape Navigator and Microsoft Internet Explorer are available for many hardware platforms (PC, Mac, Sun, SGI) so that users can run collaborative applications on any platform from any network location. The WWW provides many components and features that a developer can use to implement user interface functionality, to access and transport information over networks, to link to commercial databases, specialized search engines, etc., and to view foreign document formats. Such features would otherwise need to be implemented from scratch. On the Web, there is no notion of software distribution and there is no notion of different versions of the application in use. As a result, the Web reduces the turnaround time for software development with its support for development, testing and debugging, maintenance, and distribution of the resulting collaborative application.
Unlike specialized or proprietary groupware toolkits or groupware development environments, applications developed with the Web and accessed from the Web is easier-to-use, easier-to-install, easier-to-access, easier-to-develop, and easier-to-maintain. Consequently, developers of collaborative applications can focus on the task of working with users to identify, implement, and iterate over the capabilities of the collaborative applications.
Overview
In the tutorial, we will introduce and demonstrate how one can use commonly available Web tools in combination with Web browsers to design, develop, and deploy interactive and collaborative applications. For example, we will discuss how HTML in combination with CGI scripts, JavaScript, and Java can be used to create applications and what kind of tools on the server-side are helpful.
The tutorial will use a presentation format that includes lectures, two exercises, and demonstrations. At the end of each principle section of the tutorial (see Tutorial Outline), there will be time available for questions and clarification.
Intended Audience
The tutorial is intended for an intermediate to advanced level audience with a focus on how to actually build collaborative applications.
About the Instructors
The instructors have presented variations of this tutorial at KBSE'96, CSCW'96, CHI'97, and WWW6. The tutorial has been repeatedly improved after each presentation in response to audience feedback and new developments.
Andreas Girgensohn received his Ph.D. degree in computer science from the University of Colorado at Boulder in 1992. His Ph.D. research with Gerhard Fischer focussed on supporting end-user modifiability in knowledge-based design environments. From 1992 to 1996, he worked at NYNEX Science & Technology on task-oriented user interface design and development, on support for software developers, and on tools for improving communication and collaboration using the World Wide Web Shell and Lotus Notes. He is currently a research scientist at FX Palo Alto Laboratory where he works on software agents and web-based applications.
At CHI'96, he participated in a workshop entitled "HCI and the Web" to introduce more HCI principles to the web. Over a 4 year period as teaching assistant, he has taught several courses including introductory computer science and numerical analysis.
Alison Lee received her Ph.D. degree in computer science from the University of Toronto in 1992. Her Ph.D. research, under the guidance of Prof. Lochovsky, consists of a series of studies investigating the prospects for history-based, user-support tools. Since 1992, she has worked at NYNEX Science & Technology (just recently moved to IBM TJ Watson Research) on user interface design and evaluation, on tools and methodologies to improve communication and collaboration amongst distributed work groups, and on tools to support developers of Web applications and services.
Over a 12 year period as both a teaching assistant and course instructor at the University of Toronto, Alison Lee has conducted tutorials and lectures on calculus, differential equations, introductory computer science, computer organization, human-computer interaction, data structures, and computer graphics.