Roughly ten years ago, I was attending KAW’98. I remember that conference as one of the best weeks of my life. I had great company. I saw scenery like I’d never seen before. I presented my PhD work for the first time to people who were (at least politely) interested in it. And I learned a lot, both from the presentations and less formal discussions.
(I remember driving back to Nottingham when we returned; a rainbow appeared in front of us, seeming to arch over our destination in a perfect finale.)
Looking back at that paper is like looking at my past generally is: much of it makes me cringe, but parts of it are surprisingly good. What’s interesting is that if you swap a few terms for modern buzzwords, it’s still a pretty neat idea. It’s also amazing how far we’ve come — how much has become common-place — in just ten years.
In modern terms, what I did was develop web-based social software, called APECKS, for ontology creation. The idea was that people would create their own ontologies (either from scratch or based on others), and the system would find similarities and differences between them, with the aim of starting conversations about and sharing knowledge.
APECKS was built on top of a web application framework written in a dynamic programming language. We didn’t have Ruby on Rails in those days: I turned a MOO (a text-based virtual reality) into a HTTP server (with caching and everything!) and that formed the basis of the application.
APECKS was designed to use (lowercase) web services. It used one for some of the complex ontology comparison that it needed to do. RDF was nowhere near done; OWL not even in a twinkle in its parents’ eyes: nowadays, you’d build around those formats, which fit fairly well onto the KIF-based formalism that APECKS used. (The lack of a standard way to make the captured knowledge available was one of the reasons I got interested in XML — we’ve just celebrated that 10-year anniversary too.)
APECKS captured change history and design rationale as well as supporting unstructured communication between users. It didn’t provide feeds because, guess what, feeds hadn’t been invented yet. If I were doing it today, they would be a major feature.
APECKS didn’t do REST properly, but that concept wasn’t around either! APECKS was also rather formal and uninventive in getting knowledge out of people (although it did use those knowledge-acquisition techniques that are automatable, such as card sorts). Now, you could make the interface so much better, because now we have AJAX.
Part of me wants to update it. The semantic web is going to happen, and we’re going to need tools that help people share and link together the ontologies that they create. Tools that help people create ontologies without being semantic-web experts.
But I’ve been there, and done that, and anyway I’m sure that today’s students are creating applications that are much more innovative.