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."
See the essays on education at squeakland.
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.
related work
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.