Skip to content

Introducing Supertags: Advanced Web Taxonomy

15-May-08

Tags are clearly a huge part of the web. If at any time you want to keep track of something, you tag it. URLs, books in Amazon, music in last.fm, the list goes on and on and on. Tag clouds are a common sight on blogs and feedreaders. While taxonomy of this kind is useful in and of itself, it’s even better when you aggregate items that have common tags and find related concepts. These relationships are used to expand your field of inquiry, find items with tags you wouldn’t consider to look for, and so on.

How can we take this concept further?

I posit that the common relationships between tags are not the only relationships users want to use when looking for data. I am currently working on a project to tag news stories. Some of them have titles like your average Reddit front page:

  • D development with Emacs
  • Using Amazon S3 with Django
  • Why Arc is bad for exploratory programming

The first two items can be categorized with tags like d and emacs. If you were to try and find this item in del.icio.us, you’d use d+emacs and the site would be smart enough to understand you’re looking for an item tagged with those two separate phrases. Same thing with the second item. amazons3+django would work well for searching for this item.

The third item, however, is where more robust tagging could come into play. Sure you could tag it arc+exploratoryprogramming, but that’s not really the relationship being defined. The article isn’t about Arc and exploratory programming, it’s about how Arc is not good for exploratory programming. (Please note I haven’t actually read these items, and don’t particularly care about the theses therein, for the purposes of this article :) So, in the opinion of the writer, Arc and exploratory programming have a contrasting relationship. In other words, arc!exploratoryprogramming.

See where this is going?

Say you have an article:

  • Why Ruby is better than Python

In the opinion of the article writer, ruby>python.

Or:

  • Windows 7 coming soon after Vista

Chronologicaly, the order of the related subjects are: windowsvista~windows7.

Already, by looking at basic examples, we’ve extracted a vocabulary that we can apply to tagging. I call these new juxtapositions supertags, because I’m an uncreative shell of mediocrity.

So how can we use these new tags? Aggregation. Imagine looking up a tag like modernenglish and seeing a timeline in your browser of all the things that came before and after it, because somebody created tags on articles like greatvowelshift~modernenglish and modernenglish~ebonics. And I bet you didn’t even know what the Great Vowel Shift even was!

Imagine getting an overview of who on the internet thinks what programming language is better, not by search results through Google, or Alexa ranking, but by seeing the strength of the links c++>c and c>c++. The more of one you have, the stronger the weight, the more reinforced that idea is. Clearly it’s not an objective measurement, but when you’re looking at trends, it’s hard to say what is objective :-)

The best part is, these supertags open up an infinite number of possibilities to categorize concepts. atheism may be oppositionally opposed to christianity (atheism!christianity) but it’s also opposed in the same way to rastafarianism, to angels, to afterlife — and each of these tags is related to millions of others in millions of different ways. It’s said you should know your enemies in a way that rivals what you know about yourself, and being able to understand what concepts are diametrically opposed to yours at a glance will give you a further reach over understanding those who don’t share the same views as you.

That’s where I am, conceptually. Good idea? Bad idea?

Snippet Compiler Release for .NET 3.5

14-May-08

I just noticed this now so I’m throwing a link to it: Jeff Key has updated his excellent Snippet Compiler to work with the .NET 3.5 Framework. I use this application all the time for quick sanity tests and the like - it’s the closest thing you’ll get to irb in C#.

EDIT: How embarrassing! That would be Jeff Key, not Jeff Kay.

The Tiniest Push Blog: Launched!

12-May-08

Just a quick plug: My freelance company’s blog, The Tiniest Push, has been launched to splendorous fanfare. Where this blog is primarily concerned with the ins and outs and intricacies of programming and computer science, The Tiniest Push is more concerned with the web, productivity, copywriting, and design. If you’re into that sort of thing, I highly recommend throwing a subscription in your feed reader and waiting for the articles to flow!

Bulletin Progress!

11-May-08

I’m sure you’re all thrilled to know that I’ve made a little bit of progress on Bulletin, my command line based RSS reader. This is all still building-block stuff, but now Bulletin properly parses and displays your NewsGator folder hierarchy, like mine, below:

A screenshot of Bulletin showing indented NewsGator folders.

Hooray! As usual, you can keep track of Bulletin’s progress at its GitHub repository.

DataMapper Continuous Integration Server

03-May-08

Just a shout-out: If you like DataMapper and enjoy following its development, they are running a continuous integration server for all of their major modules. Exciting! On the edge!