Thursday, January 6

Folksonomy and wikis

I'd mentioned the tagging implementation to Jon Udell earlier this week. I sent him an email, and asked for his opinion. It was quite positive and I was pleased. Tonight, I was glancing through the server logs and noticed a whole bunch of referrals from his blog. I follow the link, and he's blogged on it. Here's his description:

Here's one bit of Wiki evolution that I could have foreseen but didn't: the marriage of Wikis and folksonomy. Muness Alrubaie has built a working version of this concept as an extension to the Trac Wiki.
...
Great idea, Muness! I'm sure this will take off like a rocket.

Later, he notes:

Oops. I forgot that it already did, way back when. I just remembered the CategoryCategory facility in the C2 Wiki.
...
The idea carries through to modern Wikis -- here's the category page on Our Media's Socialtext-based Wiki.

Needless to say, I am very pleased at this mention. But I want to address a couple of things. First, the category pages that I've implemented are dynamic. See the source of the Programming Languages or the Index of indexes on my wiki, for example. If a new page is tagged as a "ProgrammingLanguages", it'll automatically appear under the right page. Ditto for an Index. Contrast these with the manual category pages Jon has linked to. (Wikimedia's categories implementation is not manual... Those are generated dynamically.) Having pointed this out, I'll move to the next, and more important point.

As I note in the tagging documentation, this implementation of folksonomy streches the concept further. Tags are not mere categories, they themselves are Wiki entries too:

As an added bonus, tags are linked to the wiki entry of the same name, allowing you to describe them explicitly there. This allows for a flexible means for establishing the context of wiki entries.

In a wiki, tagging can be substantially more useful than tagging under other contexts (e.g. email, bookmarks or photos). A del.icio.us tag is merely a grouping of bookmarks. Categories, that Jon mentions are no more. In the implementation I've done, a tag is a wiki entry (providing definitions, details) and it may itself be tagged further.

In a paper I wrote sometime back I mention one of the weaknesses with Wikis:

The context in which this single entry exists is often not clear. Determining where or how it fits in the Wiki is often difficult to ascertain. This is in fact one of Ward’s Wiki Design Principles:
      Unified - Page names will be drawn from a flat space so that no additional context is required to interpret them.

But this is insufficient. Ideas (or memes) do not live by themselves. As Richard Dawkins expresses very powerfully in The Extended Phenotype genes, for example, are very much context sensitive. What environment, host and perhaps most importantly other genes they coexist with determines their fitness. As I argue in the paper, Wikis may be seen as a collection of memes.

To expect that a flat namespace is sufficient to organize memes, to me, is as short sighted as Christopher Alexander stating (in his otherwise excellent A City is Not a Tree) that for "the human mind, the tree is the easiest vehicle for complex thoughts." These "tags" that I have tried to implement organize ideas into whatever context they are deemed to belong in. And context is a heck of a lot more than a collection of similarily related entities.


I need to find a way to express and demonstrate the difference. Any ideas? Also, see the mailing list thread (titled Tags) for more.

Update: As I was writing Jon Udell to thank him for the mention and the link to the tags documentation, I thought of an example of how this idea of context is so different than mere categories. Here goes. An example of the distinction I noticed is the Miki page. Miki was a research project I did while I was getting my Master's degree. Miki discussed Wikis and Memetics. Cocoon and the Jelly scripting XML language were used in the implementation phase of the project. I think you can see clearly that these (Wiki, Meme, Cocoon and Jelly) are not categories as much as they are context for the Miki entry. Another tag I have on the Miki page is People/MunessAlrubaie as the author of the paper. This is the difference: this way I've set the context of the paper, not merely categorized it.

Yes, tags can do categorization. But they can do more.

5 comments:

Eric said...

The thing to remember with C2's CategoryThing pages is that you can click the title to show all the backlinks. That list is dynamically generated. The text content of the CategoryThing page only serves as a description, including a description by example list.

Muness Alrubaie said...

Eric,

Jon Udell pointed the same out to me. However, all C2 does is a full text search on the current wiki name. This is hardly categorization. And hence you can't do custom queries, e.g. entries that are categorized under two different tags, can you?

I urge you to actually try out the implementation or just see it in action over on the wiki at http://dev.muness.textdriven.com/ . For a very quick example, see the source of http://dev.muness.textdriven.com/trac.cgi/wiki/COMP313/Resources . Or the tag index itself. Compare this with the manually put together CategoryCategory on C2. Or the automated search results at http://c2.com/cgi/fullSearch?search=CategoryCategory . If you go through the list of results you'll see how this full text search comes up with many false hits.

MediaWiki at least does real categories, but there, categories appear to be only category pages, not real wiki pages. Correct me if I am wrong.

When Jon Udell first pointed out on his blog that folksonomy was already available for Wikis I was baffled. If something so powerful was around, why wasn't it being used heavily? I then looked at C2's implementation and understood. It's terribly difficult and not nearly as usable.

Muness Alrubaie said...

And another quick comment - backlinks are *not* the same as categorization. Just because you link to another wiki entry, does not necessarily mean you want to categorize under it. No?

Claude said...

The discussion about tags and your post had me write something about this subject. It started as a comment to be posted here but it ended up too long for it. Here it is, if you are looking for different views on this subject:

http://www.montpetit.net/en/2005/01/07/09h51/index.html

Muness Alrubaie said...

Claude,

You state: "The author decided to assign a few tags to it: folksonomy, innovation, organization, trac, wiki. These are the tags HE thought would be the most appropriate. But for others, they may not be of much value. The way I read his article may lead to completely different tags in my mind. I may be attracted more to the usage of Cocoon and Jelly, or city architectures, or by Jon Udell interests, or anything else in this article that the author did not think was important enough to deserve a tag -- tag that may not even exist in his system."

I happened to tag the article as "folksonomy, innovation, organization, trac, wiki". But del.icio.us lets you bookmark the very same article under whatever set of tags you deem most appropriate.

Tags for Trac don't support this sort of personalized tagging - yet. One of the items I have listed on my possible improvements page is:
* Figure out how to define two kinds of tags, personal and global tags. This would be similar to del.icio.us.

I am hoping to figure out some way of implementing personalized tags.

I just want to take a second to point out the the tags macros aren't even two weeks old yet. I find they make working with the wiki a far more productive endavour than without, but they are not feature complete.