This presentation is part of the WikiSym + OpenSym 2013 program.
Jens Lincke; Robert Hirschfeld
Self-supporting development environments like Smalltalk and Emacs can be used to evolve the environment itself from within very direct way. In Web-based software development environments users can collaborate in creating software without having to install the environment locally. Bringing these two together and making Web-based environments self-supportive is challenging, since users have to take care not to break the system, as they are not the only ones using it.
In our previous work, we showed how context-oriented programming (COP) can be used to develop such a system completely from within itself. COP allows for dynamically adapting the base system and scope the changes as needed.
Environments aimed at end-users usually provide a scripting level above the base system. In our system, the Lively Kernel, the core is developed using modules and classes, and users create active content by direct manipulating and scripting objects on top of it. By leveraging the scripting level for the development of tools themselves, we allow users to adapt their tools, without the need to learn and adapt to the concepts of the core level.
In this paper we show how the development tools in Lively are collaboratively evolved. The publishing of objects in a shared repository of parts creates a feeling of extreme open source, as tools can be directly inspected, adapted, and republished while they are being used.
A PDF file will be made available on August 5, 2013, through the WikiSym + OpenSym 2013 conference proceedings.