How to make tagging useful

Backup Brain: “Tags Don’t Work”

There’s been a lot of discussion here about tags, and I’m being the heretic by simply saying that tags don’t work. Here’s a quick demo to show what I mean:

Technorati Tag: Mac OS X
Technorati Tag: macosx
Technorati Tag: OSX
Technorati Tag: Apple
Technorati Tag: Mac
Technorati Tag: OS X
Technorati Tag: os-x
Technorati Tag: mac-os-x
Technorati Tag: Macintosh
Nine different searches, nine different sets of results; but all of them are, at their heart, looking for the exact same thing. That’s not working, by any meaning I know for the word.

Dori Smith, whom you should invite to your web tech conferences, makes a great point about tags. Back at the Seattle Mind camp during Chris Pirillo’s Gada.be session, a discussion about tags and search came up. I mentioned that tags are useless primarily because the context and meaning of the tag varies from user to user. So you’re only option is to either standardize, which is almost impossible. See, despite the fact that Dori and I might both tag a picture or a link with the tag “OS X”, why we are tagging the picture will probably not be the same. I may tag a screenshot of the new Leopard release of OS X with “OS X” so that I can find it later, but I might also tag a picture of a developer friend of mine who works at Apple with “OS X” because that’s what he works on. Anyone other than me looking at the person tagged with “OS X” might not be able to figure out why he’s tagged with that name. Which ends up contributing to the overall noise in the search results for a the tag “OS X”. But the tag means a lot to me.

My point at the SMC was that tags are only useful in an extremely local context. My example was I wanted to be able to tag links in an OPML file, giving each link a certain context. For example, if I were tagging a link to Dori’s weblog, I might use the tags “Javascript Expert” or “Dashboard”. Then I would use a local application that would search through my OPML file, and the contents of the RSS feeds for each link. The query might look something like this:

“keyword:XmlHttpRequest tags:Javascript Expert source:http://www.lazycoder.com/mySources.opml”

What this allows me to do is search a list of feeds that I’m interested in, not just the entire web, but limit the context of my search to RSS feeds with the tag context. So I’m only searching through RSS feeds by people I consider to be Javascript Experts. Do I miss out on some potentially rich sources by limiting my search to sources I’m already aware of? Yes, but I gain a tighter focus IMO. You can always expand the search to the entire web using Google/MSN/Yahoo/Technorati if you want. You wouldn’t even have to write a secondary interface. A few search engines allow you to get the results back in RSS format. Just create a search for terms you are interested in and tag the results RSS result feed appropriately. It won’t always be perfect, but at least it allows you to define what you consider an “authority”.

Which brings me to how I use tags. I use Flickr and tags within Flickr to make it easier for me to group like photos. to be honest, I could give a damn if anyone else can make sense of my photos. I took a bunch of photos recently at Whidbey Island last spring, guess what I tagged them with? “Whidbey”. The code name for the latest version of Visual Studio was “Whidbey”. Guess what people subscribing to a Flickr ‘Whidbey” tag feed got instead of screenshots of Microsofts latest IDE? My pictures of pretty flowers and scenery. Does that make me a bad tagging citizen? Probably. Do I care? No, I can find all the pictures I’ve taken at Whidbey Island quickly. Same with my Delicious links. I don’t really care about the social aspect, tagging is useful beyond just the social, community building aspect. It’s a simple, and easy for users to understand, way to group data together using metadata.