I’m going to move on quite quickly back onto something way way less embarrassing and mainstream back into the boring semi-beating heart of one of my pet work-related fetishes, the folksonomy. In particular I thought I’d talk about a new development over on Matt Haughey’s Metafilter, written up on Metatalk. Each post on Metafilter can be tagged folksonomically by its author when it’s created – so when I write a post on trees, I can add a few keywords like trees, plants and leaves to make it easier for other people to find them later. What Matt has added recently is a different way to get nice easy to browse sharded versions of Metafilter by making it possible for people to use tags as a sub-domain. So for example, now at tree.metafilter.com is a kind of ‘treefilter’. And at plants.metafilter.com is ‘plantfilter’. And so on…
My first reaction was extremely positive – I think it’s a great idea to help Metafilter serve more constituencies to provide what amount to multiple homepages. And I love the idea of using tags elegantly to create new ways to browse around and explore sites large content sites. In fact a few years ago I spend a fair amount of time hassling Matt to start regional metafilters for people of different cultures and backgrounds, arguing for a version of the site for the UK or London or a On Regional Metafilters and Matt Haughey wants me dead). This tag format makes that actually practical – there actually is a uk.metafilter.com now and a europe.metafilter.com. And it’s interestingly extensible in all kinds of neat directions.
But there’s something troubling about it for me, and I think it’s the idea that now a single thread on Metafilter can have a great variety of URLs. The current top thread on europe.metafilter.com is called Sieg Whaaat? and it’s URL is europe.metafilter.com/mefi/48225. But now, suddenly, it also has twenty other URLs including germany.metafilter.com/mefi/48225, berlin.metafilter.com/mefi/48225 and music.metafilter.com/mefi/48225. Now I know that various search engines can compensate for content displayed the same in multiple places, but it’s got to affect Google rankings or any solid concept of one addressable web-page per resource on the internet. And even if it doesn’t affect the big players too much, it’s inevitably got to screw up all the other smaller services that use URLs to identify resources. How will Technorati or del.icio.us handle this stuff now? How will you be able to aggregate annotations or comments upon a thread in Metafilter in a coherent fashion without making it some kind of special case?
It’s such a shame really, because there’s a hell of a lot of potential here. Really what you want is some way to make these homepages as useful as they are without carrying the URL structure through into the individual thread pages. It seems clear why he hasn’t done this, of course – if you want to keep someone within a conceptual sub-site like gardening.metafilter.com then you have to change all the links contextually around the page to make it seem like a coherent site – on the destination pages as much as on the indices. And that means either some form of cookie-like approach that keeps track of how you found a link, or something in the URL. The former approach doesn’t work so well because it means that you can’t easily send someone a URL and be sure they’re seeing the same thing you saw. You might be recommending a great page on a site about gardening, only for them to see it as a generic and intimidating entry on Metafilter central. The latter approach creates URLs that either proliferate versions of the same page, or are full of query strings (which are somehow less definitive in their addressing of a page).
All in all then, I applaud the intent a lot but think the implementation is profoundly broken. Unfortunately I can’t think of a solution.
On a related note, though, the whole tagging thing is starting to get me really excited because it kind of makes whole database schemas quick to upgrade and you can add loads of fascinating functionality really quickly. Imagine, if you will, that any thread started in a sub-domained area includes (by default) the tag for that area. It doesn’t do this at the moment, but it could do so really easily and could start generating nice feedback loops.
Or take it in a completely different direction – get rid of tags from the subdomains and instead put in tags that represent languages. So you create a form of tags which operates as a key:value pair with a code something like lang:english or lang:francais and then present a default English homepage to Metafilter with links to english.metafilter.com and francais.metafilter.com on it. You then encourage people to post links in French on the latter one, and automatically tag each of their posts with lang:francais as you do so. This would create real meaning in the subdomains and would keep the URL space nice and tidy. To browse a sub tag then, you’d have a URL like http://english.metafilter.com/tag/iraq, with all the threads within that area given URLs like http://english.metafilter.com/mefi/34566.