Why is it so hard to lean topicmaps?

Some ideas on why many people hit a wall when trying to learn topicmaps.

Topicmaps are a powerful standard for managing ontology-like metadata. It’s kinda hard to get your head around topicmaps, but this is not because they are especially complex or hard to grasp (Not harder than object orientation, relational databases or XML for example). They’re really not that bad. It’s because of the lack of easy to understand real world applications that you could hack together in order to learn topicmaps data structures and concepts.

When you learn about databases, you’ll start by programming a simple script to organize your CD’s or something.

Manage your contacts, organize your income – there are thousands of beginners tutorials like this for almost any programming language available. After you’ve wrapped your head around the basic concepts (relations and ID’s), you can then learn about more advanced ideas like normalization or joins.

If you had to read about the conceptual underpinnings of databases in order to get your head around them, they would never have taken off the way they did.

There are no hackable applications that I know of you can use to learn topicmaps. This means that there are no beginners tutorials that let you hack a useful application together based on topicmaps. All the tutorials I’ve seen teach you topicmap concepts and how to create a topicmap. They don’t help you create an application to organize your CD’s.

In a recent post to the topicmaps list, I asked to come up with something that was easily hackable, useful and would help people understand topicmaps. There were some ideas, but we couldn’t come up with an acceptable example. (This is not to say that it can’t be done. We should think about what exactly is missing here.)

So when you’re interested in topicmaps, you read the specs or one of these tutorials, and unless you’re familiar with data models and a bunch of advanced metadata concepts (reification anyone?), it’s gonna blow your head. Many people give up right there.

The distance between the topicmap model and a real life application seems larger than the distance between the relational database model and a real life application.


Topicmap tools are at the topicmap level, not at the real-life usefulness level. In other words, topicmap tools let you manage, create, and merge topicmaps. But they don’t let you do anything specifically useful outside of the topicmap realm (like create a simple application for managing your CD’s, like Access lets you do).

The level of abstraction of topicmaps is higher (which provides great Power and Flexibility) than that of databases. But that means that, to get from a topicmap to a useful application, you need more stuff in between. RDF seems to be resolving this problem: the stuff in between are useful standards like FOAF. Topicmaps need standards like that, that let you do something useful with topicmaps, and thus make the tools useful and topicmaps understandable.

Shirky at his best describes patterns that seem to fly against common sense. Situated Software: “The curious thing to me about Teachers on the Run was that it worked where the Web School version failed. RateMyProfessors.com has been available for years, with a feature set that put the simplistic write/read/vote capabilities of Teachers on the Run to shame. Yet no one at ITP had ever bothered to use RateMyProfessors.com, though the weekend’s orgy of rating and voting demonstrated untapped demand.”

Mena’s Corner: “Nine days ago was the one year anniversary of our incorporation of Six Apart (prior to that we were a LLC). In this last year, we went from two people working out of our apartment to a company of twenty-four including a Japanese subsidiary (announcement) and a team in Europe working as our exclusive agent.
When we knew that Movable Type Pro had to be postponed because the direction of the product hadn’t been clearly outlined in terms of development resources, we should have told our users.”

Six Apart, eating their own dogfood, started blogging from within their own corporation.

Andrew points to A new kind of comments spam?.

Looking at this a bit more, it is clearly spam. Someone is creating a circle of fake “personal” websites using cookie cutter text (the ‘about me’ is the same for all the sites), various free hosts and varying images. Warning: the sites pop up ads of the most annoying kind.

It really wouldn’t take a hacker much work to create thousands of fake “personal” websites that are a lot better and varied than this one, and then comment spam the hell out of the weblog world to build pagerank. I don’t want to give anyone ideas but I’m pretty sure this is inevitable.

XML, trees and laticces.

I’ve been wondering about XML and highlighting text. If I have some text, and I highlight a piece and tag it with some subject, I can easily express that in XML.

But what if then I highlight another, partly overlapping part of the sentence and want to tag that with another tag? How am I supposed to identify that with XML? I don’t want to do what HTML does with overlapping Italics Bold tags, because I want to remember what I highlighted as 1 section, not cut it up in different sections that are tagged the same way. (Is this making sense).

So what is the solution to this? Is there any? I think the fundamental problem is that, at a data modeling level, XML lets you build trees very easily, but not laticces (overlapping structures).


I didn’t catch the second part of this conversation – sometimes you just want out. Every day, I take the train to work. There are conductors who check your ticket, and there is a train driver in the driver’s seat. I got on today, and passed by a kid being trained as driver. The angry teacher was puffing: “I will only tell you this once!”

Structured Procrastination: “I have been intending to write this essay for months. Why am I finally doing it? Because I finally found some uncommitted time? Wrong. I have papers to grade, textbook orders to fill out, an NSF proposal to referee, dissertation drafts to read. I am working on this essay as a way of not doing all of those things. This is the essence of what I call structured procrastination, an amazing strategy I have discovered that converts procrastinators into effective human beings, respected and admired for all that they can accomplish and the good use they make of time.”

AIfIA – Español published a whole new set of translations and some original articles in Spanish. Thanks to Javier Velasco, Jorge Vergara, Fernando Siles, Malisa Gutierrez, and Jorge Arango.

We’re getting at a point where it becomes too much work (really) to follow all the going ons with the semantic web and such.

Deep Web Research: A Subject Tracer Information Blog.

I like Google’s “Don’t be evil” motto. I think a huge problem with large companies is that their core values are distorted. People who work there then make decisions reflecting those core values (provide vallue to shareholders, for example).

If I ever start a company, my 4 rules for the company will be something like: (inspired by Asimov’s robot rules)

Rule 1. Don’t be evil.

Rule 2. Make a positive difference in the world, unless it means violating rule 1.

Rule 3. Survive and grow as a company, unless it means violating rule 1 or 2.

Rule 4. Treat employees well, unless it means violating rule 1, 2 or 3.

These rules say: If you can make a positive difference by being evil, don’t do it. If treating employees well endangers survival of the company, and you’re making a positive difference and not being evil, don’t treat them so well. If you can survive as a company and you’re not being evil, but you’re not making a positive difference in the world, don’t bother. Find something else to do.

F u t u r e M e . o r g: “Dear FutureMe,
You better not be in Ireland. If you are hit yourself in the face and book a flight. For fucks sake don’t waste anytime. Go anywhere, get lost, what are you waiting for?”