Technologies used
topic map logo
xSiteable logo
Fri, 07 Oct 2005 13:00:00 GMT

Notice! The blog (but not the website as such) has moved slightly, and the new spot to point your feedreaders and blurry eyes to are http://shelter.nu/blog/, and I've chucked my RSS/Atom feed into FeedBurner for good measure as well.

This also means no more comments here, and especially not you spammers, you filthy floatsam of the internet!

Don't worry, as soon as I get some spare time I'll merge the two blogs together, just need to work out some Blog API with Blogger, or, worse, install WordPress and do it myself. We'll see what I come up with.

Why are Topic Maps an either / or for most things?

My first flirt with Topic maps started about 5 years ago, and I wanted to share a little bit about my journey from Web user interface developer (which I was at that perticular point in time, although before that I've been everything from CTO, C hacker, movie-maker, musician, poet and driftwood through the rivers of gloom) to whatever I am today, especially in regards to Topic maps.

First of all, Topic maps re-introduced me to epistomology, being the buzz-word within the knowledge management scene in which I was working. (another rant for another day is how 'knowledge management' is a false meme) With Topic Maps I could take an important step away from buzz and towards the actual meaning of the word; how do we know?

In my past I spent over 7 years in the security industry creating real-time video motion analysis tools with Artificial Intelligence and other methods, pondering about how we can make computers look at things a little bit more like a human. The key to these systems were to make them very analytical for processing, but rather fuzzy in their conclusions, a trait which today is recognised as good human values. But to make computers think like humans - being binary entities and all - this will never happen, at least not within that limited framework, but we surely can use them to fake and simulate some human traits.

So. How can we make the computer a little less machine, and a little more human? We introduce ontology. Yes, it's a buzz-word, but it is one of those that have come and gone through the ages. I remember it being there 15 years ago, and it is highly buzzwordly these days, perhaps even more now than ever. So what is it?

Ontology is a bunch of human words for whatever we want to work with. If we're in the lolly-business, words would be 'sugar', 'color', 'mixing', 'process', 'sales', 'consumation', and 'profit'. If we're in the mafia, words could be 'cousin', 'protection', 'gun', 'mama', 'godfather', and 'profit'. And so on. Often - but not always - within the concept of an ontology sits relationships between these words. And ontology is a set of words or even phrases that describe your area of interest. The bigger the interest, the bigger the ontology. (This growing ontology is also a problem in itself, and can often render your whole ontology useless, but that's a rant for yet another day. Hmm, someone should ask me to write a book.)

Because ontologies are "more human" in their approach to labeling things we do in the realm of computers, it is often thought that we're a step closer to making computers more usable. At least, that is what I thought. It is why Topic maps was so tempting for me to venture into. I did not only venture into it, but swallowed it and immersed myself in it.

What good does that do?

After drinking the Topic maps Kool-aid and devised my own Topic Maps tool, I wanted to use it more and more. Perhaps it was for getting more experience with it, to test its basis, to see if it really was as good as I thought. But sadly, finding projects that involves Topic maps has proven to be a bit of a challenge, and along the way I got entangled with just plain vanilla life, apart from the rare opportunity here and there. I've written a few articles about it, and I've held seminars and presentations, and use the core model of Topic maps in pretty much everything I do. And this last point is an important one!

Being exposed to ontologies, where words have relationships, and these relationships are important and have meaning, made me see things in a new light. As in epistomology, how do we know that the word 'fish' means those 'swimming' things in the 'sea'? How do we know what 'swims in' really mean? For example, when we swim in the sea we do it rather differently from when we swim in money, yet it's the same words that shape the relationships.

The meaning of the semantics of our relationships between things have huge impact on how we percieve things. For example, in a content management system you can have one blob of information that 'belongs to' another piece of blob, but is that true for all blobs? We give blobs names or types, as in 'this blob is a policy document', but will all policy documents fit into the type of whatever blob you originally thought your one policy document would fit into?

All this context and all these relationships and concepts and notions, they're a big part of how we percieve things. And how we percieve things is the key to how we further can make computers (and other tools as well) seem more human and friendly and helpful to us. The presentation and handling of information goes hand in hand, and in the past they've been two very different things. The ontology-based systems try at least to shorten the gap between them.

Conclusions

Working with Topic maps has made me think about the meaning of what my solutions present. And the meaning of what I present digs deep into the world of usability, and hence is the amalgam that saturates my work, and often my life. The psychology of human cognition has more to say about software development than any book about computer languages, methodologies, techniques or logic.

Unfortunately I've seen a lot of people getting excited about Topic maps, and then see the flame of promoting the standard slowly die out. The good news is that the spirit of it still remains. Perhaps its a weakness of Topic maps itself that it teaches you more about the surrounding thinking and practices than of the technicalities of the standard itself. Maybe, but I owe it a lot of thanks.

It is interesting for me to think back on my years of Topic maps experience, because it strike me that my main interest in it isn't the technical side of things but the philosophical side. And I guess that fits in well with my personal opinion on the Topic maps standard per se that it can be quite difficult to grasp for most people; you got to overcome the new ways of thinking about relationships first (quite a huge hurdle in itself!), you need to surpass the difference between a data-model, a mental model, the ontology and a technical specification (they are all different abstraction of the idea of "Topic Maps"), and you've got to have simple to use tools to see it in action (and none of them are currently simple, not even my own stuff. The closest I can think of is Ceryle ). All this is not easily done in an afternoon. In fact, as I recall, it took me months and months to get to a confident level with the whole shebang, perhaps even a couple of years! And now, after 5 years, I'm not willing to even remotely call myself an expert in it (even if others foolishly might do so :) ).

Having said all that, I'm still doing lots Topic maps stuff, albeit not with XTM (the Topic Maps XML interchange format), and I'll let you all see it in action in a few weeks time. Exciting times abreast.

Permalink (Fri, 07 Oct 2005 13:00:00 GMT)| Comments (4) | Topic maps
David C. Buchan ( Mon, Oct 10 2005 - 11:10:19 )
Alex,
This is off topic, but somewhat relevant to your post. I note that of the many people I read online you are an avid linker. What's your strategy? Write first, then link or link as you go?
David
Alex ( Tue, Oct 11 2005 - 01:10:17 )
Strategy for linking. Hmm. I just write, and if I come across a word or phrase that I 'feel' needs a link, I plop one in. As you might know, I'm using xSiteable for writing my blog, and it makes it terribly easy to link and write texts for it. For example, if I want to link my my own page of Topic Maps, it looks like this; 'Today I want to talk about {tm}.' It then replaces {tm} with the title of that page and a link to it. For external links it's ; 'Have a {(look at this cool thing) http:...} I found.' Just makes it easy, but as to the links themselves ... my scatty brain thinks of recent links or topics I've come across I feel I should link to. If none is found in the brain, it might be important enough a topic to go out and google a link or two to explain what I'm on about. But no, no real strategy per se.
David C. Buchan ( Tue, Oct 11 2005 - 02:10:01 )
That all sounds fine. It helps me understand my real issue is not about volumne of linking or linking speed per se, but the interruption to the flow of thought when I have to go out (to a browser window or somewhere else) and copy/paste a link in. I think I have to find a way to write it all, perhaps mark what I want to link with {}'s and then come back and link it before publishing.
Alex ( Sat, Oct 15 2005 - 05:10:31 )
Well, that's pretty close to what I do; I write, and whatever I want to link to I {wrap in curly-brackets}, and then fill it out with links before I publish. That way I don't lose the flow of thought.