Lively Wiki A Development Environment for Creating and Sharing Active Web Content Robert Krahn Hasso-Plattner-Institut, University of Potsdam Prof.-Dr.-Helmert-Str. 2-3 Potsdam, Germany robert.krahn@hpi.uni- potsdam.de Dan Ingalls Sun Microsystems Laboratories 16 Network Circle Menlo Park dan.ingalls@sun.com Robert Hirschfeld Hasso-Plattner-Institut, University of Potsdam Prof.-Dr.-Helmert-Str. 2-3 Potsdam, Germany robert.hirschfeld@hpi.uni- potsdam.de Jens Lincke Hasso-Plattner-Institut, University of Potsdam Prof.-Dr.-Helmert-Str. 2-3 Potsdam, Germany jens.lincke@hpi.uni- potsdam.de Krzysztof Palacz Sun Microsystems Laboratories 16 Network Circle Menlo Park krzysztof.palacz@sun.com ABSTRACT Wikis are Web-based collaborative systems designed to help people share information. Wikis have become popular due to their openness which gives users complete control over the organization and the content of wiki pages. Unfortunately existing wiki engines restrict users to enter only passive con- tent, such as text, graphics, and videos and do not allow users to customize wiki pages. Thus, wikis cannot be used to host or author rich dynamic and interactive content. In this paper we present Lively Wiki, a development and collaboration environment based on the Lively Kernel which enables users to create rich and interactive Web pages and applications – without leaving the Web. Lively Wiki com- bines the wiki metaphor with a direct-manipulation user in- terface and adds a concept for Web programming as well as programming tool support to create an easy to use, scal- able, and extendable Web authoring tool. Moreover, Lively Wiki is self-supporting, i.e. the development tools were used for creating its own implementation thereby giving users the freedom to customize every aspect of the system. Categories and Subject Descriptors D.2.6 [Programming Environments]; D.2.2 [Design Tools and Techniques]; D.3 [Programming Lan- guages]; H.5.4 [Hypertext/Hypermedia] Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. WikiSym ’09, October 25-27, 2009, Orlando, Florida, U.S.A. . Copyright c 2009 ACM 978-1-60558-730-1/09/10 ...$10.00. General Terms Design, Human Factors Keywords Wikis, Application Wikis, Web Application, Morphic, User Innovation, Development Environment, End-user Program- ming 1. INTRODUCTION During the last decade the Internet and especially the World Wide Web have become more and more a platform for applications which are replacing traditional desktop soft- ware. This paradigm shift towards Web-based software seems to continue [36, 34] and there are good reasons. Soft- ware in the Web is platform independent, it can be accessed from all over the world, upgrades can be done immediately and centrally without affecting users, usually no installation is necessary to run it, and users can interact and collabo- rate. However, using the Web as an application platform also has several drawbacks. The static publishing model of server-hosted hypertext and the strict client/server architec- ture make creating applications for the Web different from and often more complicated than creating applications for desktop environments [36]. In detail this means that developers have to integrate sev- eral different technologies at once [12, 39]: (X)HTML, XML, Cascading Style Sheets, JavaScript and the Document Ob- ject Model (DOM) interface, PHP, ASP, Java or another programming language for server side programming. Addi- tionally there is the inherent multi-tier architecture which forces a conceptual separation into a presentation layer and domain/backup layer (server), resulting in complex soft- ware architectures using the Model-View-Controller [11] or Model-View-Presenter [10] design pattern even for simple applications.