back to top-level page
A kaw is a framework for storing arbitrary content to enhance memory. Kaw.7
attempts this by making documents out of nested, labeled trees of tabbedPanes, with textPane content as tree leaves. I'll call these things collectively a "kawDoc".
My particular interests are self-help learning and working aids that have some general goals: 1) give important new information (whatever it is) a durable/digital place to go that is learner-friendly (easy to navigate because it is easy to organize), 2) make the particular architecture for that place as flexible (editable) as possible from the point of view of the human learner, and maybe 3) make the storage and organization (i.e. editing) operations implied by 1) and 2) encourage the reflection of the knowledge stored there...somehow.
Kaw.7
addresses its design problem by combining cut-and-paste mentality plus organization capabilities. The interface and functionality attempts to be simple and "unspecialized". Kaw.7
also leverages OS, browser, and Java Swing™ components, and of course, user ingenuity to keep aspects of the application simple.
The basic building block of knowledge content in a kawDoc is the JTextPane, which allows both textual and figural information to be pasted into it (e.g. as foraged from the Internet).
The basic building block of kawDoc organization is a tab, or chunk. The user is allowed to make and move tabs (i.e. groups of documents) both between and within "knowledge trees" using an application-based cut and paste ability.
A particular knowledge-tree defines groups of terminal documents, where each path in the tree ends with a particular document. Arbitrary information services are potentially attachable as content at the terminal documents. By attaching Java applications as well text content at the leaves of the tree, one can build both informative and active knowledge trees (i.e. the tree does something, stores action, or maybe operates on its contents).
kawDocs have a home persistence directory (e.g. a folder called after the kawDocName), a zip file containing the text content of nesters and terminii (e.g. kawDocName.zip
), and two other kawDoc "descriptor files". One descriptor file contains a map of the kawDoc tab structure (i.e. human-readable tab-titles and nesting relationships in a file called kawDocName_tabs.txt
); the other is a kind of map into the zip file which says what content goes with what tab coordinate (kawDocName.txt
). But a kawDoc is not the sum of its basic files but is also the resources (embedded and external) that the kawDoc refers to and manipulates. Such resources can be jpegs, other application documents, and other (embedded or external) kawDocs.
A single directory-space rootForSerials/NesterAppLand
is the "homeland" of all kawDocs created by this application. NesterApp
is the name of the Java class which most directly maps into a kawDoc. You can have kawDocs "migrate" to and from NesterAppLand
, but you have to work a little harder to do so.
A Kaw.7 manual, itself a kawDoc, is provided along with sources and jars in Kaw7_release.zip
. When this file is unzipped and the outer directory it creates contains a kaw_manual_7
directory. When kaw_manual_7
directory is moved to be within the rootForSerials/NesterAppLand
directory (which Kaw.7 creates), it can be opened with a left-click of the "? / X" button of the main kaw Frame. The size of the manual (i.e., its folder size is about 4 meg) reflects, embedded kawDocs, a lot of jpeg illustrations, a public domain novel (to demonstrate large document handling in the JTextPanes), an LGPL license replication, and (a lot of) manually input text.
Other projects similar to this: "ThoughtStream" at sourceforge.net/projects/thoughtstream and "Freemind" at https://sourceforge.net/projects/freemind. On the academic side, under the rubric of "concept-mapping", one could cite cmap.ihmc.us and Knowledge Management Research Group. I see this project and the above citations as part of a general internet culture concerned with aiding memory (e.g. knowledge management) and learning functions using manipulable/adaptable digital documents.
Just to reward you for reading (or scrolling) this far, here are some less inspirational titles than the immortal, "about this project". These didn't make the cut.