MeatballWiki: WikiLog – an attempt to synthesize the best aspects of WikiWikis and WebLogs.

I’m about to go home, but I’ll throw in some thoughts in. Rusty and others have some very good thoughts on the page. Of course, currently, there’s no very good way to reference microcontent within a page. Sure, in theory XPath will solve this problem… but um, face it, probably not well, and certainly not for most extant stuff on the web. Someone could (and should) build a spidering tool/browser widget to facilitate intrapage linking, but I’m moving off tangent…

Back on target, rambling thoughts for a successful “Collaborative Hypermedia” tool. Nothing that hasn’t said before, just clearing my brain a little:

  • Transclusion Engine: Often overlooked, but one of the best things about the Wiki simply has to do with the fact that it offers easy breezy, intuitive text->html and text->text conversions. This is a feature that can easily be wedged onto any system.
  • Views: the weblog, that is, reverse chronological single posts (I’ll generalize posts and call them nodes), is a single view. The node can have various properties, which would of course include the contents, but may also include input/output templates, etc. Nodes could be typed (or of a classes, along with all the other OO ideas). Besides category views, problems can be solved by creating additional views, say based on activity, allowing pinning of certain topics, etc. A useful tool would be an interface that eases the generation and reorganization of these views to a one or two click affair.
  • Categories: Categories should be m:n, that much is obvious. Whump and xBlog have been doing this for quite a while, it makes sense: things rarely exist in only one category. A tool like TouchGraph could even be a usable interface for say wiki’s which are composed entirely of a graph-like structure. One of the questions that comes up when dealing with categories is whether to allow some sort of hierarchy. If there is, it seems to make sense to use a graph-like structure than force a tree.
  • Nodes: Nodes can be more than posts. They can be comments, or annotations, bookmarks, or journal entries. They might be attached in any number of ways, either within or without.
  • Relations: Most systems don’t have complex relations. Having such a system opens up all sorts of possibilities. For example, a node could be attached to, before, after, in response to, related to, arguing against. Hmm, we’re talking Semantic Web stuff here. ( w3c sw, w3c design sematicweb, rdfweb)
  • Diffs: Versioning is a type of relation. As with all the relations, it contains it’s own rules for rendering. Ideally, in a system that stores versions, you’d like an easy interface to be able to have multiple views of the versioned data (say, as it is, as it was at any time, with strikethroughs [diffed], etc.)
  • Trust metrics/Collaborative Filtering/Ratings: this can be separated into two sets of problems, one for evaluating content, and one for evaluating users. Since I’m not a deontological type of fellow, my tendency is towards creating a system that tries to find relative worth based on each node or user. Still thinking on this one…