Detamata
From AJS.COM
Detamata is the tentative name for a system that combines Wiki editing with social networking, forum-style communication and information management. Its primary goal is the creation of a system that can easily replace:
- Wiki-based information systems like Wikipedia and the various Wikia sites
- Social networking facilities like Facebook, Twitter and Myspace
- Weblog systems like Digg, Slash and PHPNuke
- Forums like those used by many popular sites
The specific implementation goals are:
- Metadata tracking for fine-grained pieces of information
- Discussion support with:
- Hierarchy of topics (ala Usenet)
- Threading
- User moderation
- tagging
- Aggregation of information in meaningful ways (true editing as divorced from authoring and research)
- Tracking of authorship even through editing, renaming, copying by others
- Revision control concepts:
- Versions
- Branches
- Release engineering
Fundamentals
Detamata aims to achieve its goals through a fundamental unit of information (the "bit") and a host of associated elements of metadata (hence the name, which is a spoonerism of metadata). Bits are aggregated by special bits called "edits". An edit unifies one or more bits and describes their unification by adding further metadata and potentially display elements.
Here is a concrete example:
bit #1: type: data text: "hydrogen is atomic element number 1" tags: ['hydrogen', 'element', 'chemistry'] refurl: "http://periodic.lanl.gov/elements/1.html" bitid: 1
bit #2: type: data text: "hydrogen was once used to inflate blimps" tags: ['hydrogen', 'blimp'] refurl: "http://www.howstuffworks.com/blimp2.htm" bitid: 2
bit #3: type: edit sourcebits: [1, 2] text: "[1] and [2 was once used to inflate blimps]" tags: hydrogen, history, chemistry. bitid: 3
Here, I've used a simple YAML-like syntax to describe our bits. They contain information about their type, display text, original sources, and unique identifiers. This very simple example demonstrates the editing process for bits. An aggregation occurs in the edit bit #3. It grabs the text of bit #1 by placing its bitid inside of brackets the second bit is incorporated as well, but the reference to it is replaced with unique text by placing a space after the bitid and then the text to be substituted.
Propagation
Propagation is a major issue in Wikipedia, for example. There, items like bits are called "templates." These are included into other articles in a process called "transclusion." However, the reader of an article has no way of knowing (without trying to edit the article) which parts are transcluded, and changes to a transcluded template are immediately shown in all articles that contain the template (this can be turned off by using "subst:" in the transclusion specification, but then changes will never propagate!)
To avoid this all-or-nothing transclusion problem, which would be fatal to a system where every sentence is a hand-crafted collage of potentially dozens of overlapping sources, a combination of revision control and visual cues are used to help guide the user. For example, one might have this chain of bits that leads to an article:
bit #1: poppies are a flower bit #2: poppies are used to create the drug, opium bit #3: poppies come from Holland article edit: [1] [2 used to create the drug, opium] and [3 come from Holland]
Now, there's a problem here: poppies don't come from Holland. So, a user updates bit #3:
bit #3: many varieties of tulips come from Holland
Oh dear... now we have an article that references a fact that doesn't even have to do with its topic. How do we deal with this? For now, because there is a "current" version of a bit that feeds into our article which is more recent than the one we used, we display that section differently to the user:
- poppies are a flower used to create the drug, opium and come from Holland.
Note: This change of background color is probably the result of changing the CSS class of the text in HTML (and similar approaches for other display styles), so sites will be able to render it meaningfully to disabled users as well.
When a user updates the edit to indicate that it is correctly based on the most recent version of the included bits, then the text will be rendered normally again, but this propagation does not happen automatically. If this edit is then included into a larger edit, all of the resulting text will be highlighted unless it is included verbatim, and therefore the inclusion system can determine exactly what included text is out of date.
BlogMarks
del.icio.us
digg
Fark
Furl
Newsvine
reddit
Segnalo
Simpy
Slashdot
smarking
Spurl
StumbleUpon
Wists