in the second post to this blog i talked about wanting this lab notebook to be more interactive, with something like mathematica notebook or squeak project in mind. after reading more about squeak, and thinking again of what i want, i'll try and describe how i'll proceed with this notebook.
Alan Kay and Mitchel Resnick have used the term "active essay" to describe a publication that includes computational objects. Resnick describes them as "new forms of narrative expression, in which manipulable computational objects are integrated with text, graphics, and video." Kay in particular stresses the point that the objects in the essay can be deconstructed to learn how to put them together again. The squeak environment uses many visual elements targetted at children for building simulations of ideas they are learning in school--a constructionist view of education for math and sciences.
Kay believes the most important use for modern inexpensive personal computers is that "they form a new kind of reading and writing medium that allows some of the most important powerful ideas to be discussed and played with and learned than any book."
here are some guiding principles for my notebook (blatantly stolen from other sources.)
- express ideas with narrative and programs in ways that are not possible with traditional media.
- all ideas can be expressed symbolically. this is the unifying idea of Mathematica. it is so obvious it doesn't seem worth mentioning. but it will require some work to be able to express everything we need to do in an active essay. the mathematica notebook is an expression in the mathematica language.
- every object can be deconstructed and reconstructed. provide the source for everything so it can be picked apart, including pictures, sounds, programs. "authoring is always on" -Kay
so the format of the lab notebook will now be presented as if the file is open in acme. text can be selected and executed. i'll make use of references to code using the acme Look format. i'll make use of plumbing to open programs in the system.
acme is a boon for the active essay. already emails on 9fans essentially contain this active element, simple one line shell scripts that a user of acme mail can select with middle mouse button to execute.
inferno already meets most of the above criteria. although, it is not always easy to express some actions in shell, such as window placement and manipulation. as part of the lab i'll be coming across these issues and hopefully solving them to make the authoring simpler.
essential to the idea of the essay is its means of distribution. i'll likely make a styx service available so the lab notes can be mounted and explored. but the simplicity of the format means the essays can be mailed, or just uploaded to the blog, maybe as a tar file with the associated code and files. i'll continue to convert the notes to html and post them to this blog.
IETMs (Interactive Electronic Technical Manuals). the standards for IETMs are used heavily by the military. they include DTDs for SGML or XML documents. there are different levels of implementation of these concepts from static documents, to hyperlinked, to documents that contain computational elements. the focus is on guiding a technician through maintenance procedures rather than on exploring and creating ideas.
WIKIs in general offer the "authoring is always on" principle but do not offer the computational elements. However, the Plan 9 wiki, when edited within acme, does offer the embedded scripts. And then when combined with a mounted file server such as the plan9 sources it becomes a distribution mechanism for active essays.
look at the annotated source by nemo for the plan9 kernel. it contains all the acme references so that it can be read and plumbed to jump to the correct line while reading the source.