[ba-ohs-talk] Towards an OHS Manifesto
Heady subject, what?
Probably longish. Sorry (01)
I just read http://www.technos.net/journal/volume8/4rawlins.htm
an interview with Gregory J. E. Rawlins. I'm going to quote a bit from it,
then use that as a point of departure in which I will claim (again) that
Education is the prime OHS use case. I will then outline my thoughts (as
of today) on some steps towards an OHS that satisfies that prime use
case. In some sense, the notion of a HyperScope will emerge somewhere in
this diatribe. (02)
Quotation from the interview (context: he is talking about books he wrote
_before_ the Web was invented): (03)
"Imagine if ten years ago some wild-eyed dreamer had said that one day we
would have hundreds of millions of people directly communicating with each
other. No middleman. No controlling corporation. No monopolistic fees. No
artificial constraints. No government. We're betting that people really
will want to take charge of their own computers and have things done their
way. And we're betting that the results will be astounding. So, ultimately,
we work on KnownSpace because we hope that one day, ten years from now,
maybe, there will be a gigantic computational network of towering
complexity, mostly working for the betterment of humanity, we hope, and
somewhere, deep at the core, is some version of what we originally slaved
to produce. A seed." (04)
By now, you have seen the connection between this quote and some of my
earlier posts. Specifically, the KnownSpace (Java, Apache license) project
presented at http://www.knownspace.org and elsewhere on the web. (05)
Let me start with a brief discussion of KnownSpace as it now
exists. KnownSpace uses biological metaphors to create a software
environment where actors can perform actions on entities. Entities are
chunks of information. Actors are called "simpletons" -- tiny bits of code
that do stuff, like download web pages, build links, cluster entities, and
so forth. It all sounds like the Unix environment in which tiny bits of
code are "piped" together. A neural net metaphor exists and is based on
the ability for actors and entities to subscribe to "events". Thus, some
bit of information being added to the "pool" might provoke responses from
other actors, and so forth. (06)
The system includes several kinds of capabilities that I think to be highly
valuable. For instance, one should ask if KnownSpace can "read" entities
and try to make sense of them, perhaps in the context of user
interests. KnownSpace includes a chunk of code for doing Latent Semantic
Analysis. At this writing, I have no idea how to invoke it, but I know
that it will be of great value real soon now. (07)
I could go on -- KnownSpace is rather powerful -- but let me continue with
thoughts on a manifesto. (08)
There exists another project I have spoken about: Greenstone, which, at
this moment, is busy archiving and analyzing web pages on evolutionary
epistemology that I wish to study for purposes of some soon-to-start PhD
research. Greenstone http://www.greenstone.org/english/home.html (c, perl,
etc, GPL license) has the capability to suck up and index entire web sites,
an entire hard disk, whatever. It creates XML documents (akin to iFile
documents ala HyperScope) based on documents it imports. It then indexes
those for rapid keyword search. Greenstone appears to do other things,
like n-gram analysis, and more, but I haven't taken the time to explore
those capabilities yet. As well, there is reported to be a Corba
interface, meaning that one can converse with greenstone without having to
compile against it (running up against license issues). (09)
I can see a blending of KnownSpace and Greenstone in an appropriate
system. Greenstone sucks up everything in sight, builds an index and
intermediate archive (XML files). Each added file becomes food for
KnownSpace to meld into its pool. (010)
To make all of this work, I am thinking about two changes to KnownSpace:
Moving the Pool class to one I call PersistentPool, which will use a
database (rather than a flatfile representation of the Java Class
itself). Databases of interest include various RDBMS systems (MySQL,
PostgreSql), and Xindice (apache).
Moving the event structure to a coordination structure, based on David
Gelernter's Linda architecture (e.g. IBM:TSpaces, Sun:JavaSpaces, my
homegrown coordinator package from Nexist). (011)
Moving to a coordination structure means that the coordination engine can,
itself, be web based such that activities now going on within KnownSpace
can now be spread about to many other computers. Moving to a database
structure now means that we can perform versioning, locking, transaction
support, and so forth. In the end, I suspect that something akin to Lee
Iverson's NODAL, or a Grove-like structure will replace the persistent
structure now envisioned. (012)
Within all of this work, HyperScope, itself, is of great importance.
<note>what follows is my interpretation</note> HyperScope is Douglas
Engelbart's vision for a kind of interface that renders all documents
viewable by a user, and viewable in a user-prescribed way. In some sense,
KnownSpace moves in that direction given that it shows relationships among
documents within user-prescribed contexts. I suspect that a HyperScope
would add the ability to transpose a document into a user-prescribed view
specification to the KnownSpace capabilities. I further suspect that
Greenstone creates a kind of intermediate file from which, using XSLT
templates for page rendering, page displays can be viewer-prescribed. (013)
Now, to the *primary use case*, Education. (014)
As a fan of constructivist learning theory, I am strongly attracted to the
mix of technologies outlined above. First, the HyperScope allows learners
to create their own "learning space" by defining the way they can view and
manipulate information. Second, KnownSpace allows learners to manipulate
contexts to suit their own needs -- greatly akin to the "Information In
Place" concept created by Jim Spohrer. Add to that the ability to suck up
and manipulate vast quantities of information using Greenstone and you now
have what I like to think of as a Personal Learning Space <note>one that I
want to have myself!</note>. (015)
Now, add to this mix, the power of D3E http://d3e.open.ac.uk/ -- Digital
Document Discourse Environment -- and you have even more grist for the
KnownSpace mill. And, you have an online learning center where learners
can come together to discuss/argue about new contributions to their
information space. (016)
Put all that together, and you have the specification for an OHS <note>my
opinion</note> that satisfies <note>at least for me!</note> a real need in
the arena called Education. (017)
My plans for implementation:
I have already begun looking at an API for tying everything
together. That's my Nexist project --
http://www.thinkalong.com/Nexist. At the same time, I have Greenstone
already hard at work on my computer. I plan to put together a Linux box
with Greenstone and KnownSpace together and alone, working continuously. I
have begun to write PersistentPool for KnownSpace, and I already have a
Linda-like engine in Nexist that I might eventually work into KnownSpace to
replace much of the event propagation structure: artifacts in KnownSpace
would subscribe to the Linda engine rather than register themselves with
others artifacts in KnownSpace itself. (018)
Lastly, I am working with several others to create a learning consortium
that would develop and exploit these and other ideas in an on-line
international learning portal. (019)
A Manifesto? Yup. Time to write one. I think it must start with a
thorough examination of the HyperScope itself, cast, of course, in many
lights, one of which I am trying to do here. (020)
Enough said for now. (021)
Happy New Year!
Jack (022)