It dawned on me while checking out a category in Craigslist that though the interface is structured very simply, it's obviously a very powerful system. Every message is placed in a category, which is subdivided by only by location and date. It's not a lot of data, but it actually requires quite a bit on the part of the end user, though they may not realize it. To create a post, you first choose which type of category it should go in, and the location of the post, then you give your entry a title and description and maybe some other info like price and then you're done. Since you've been walked through all the options, you're actually enticed to give quite a bit more information than you might think for other users to use when discovering your post later.
There are many reasons this works both for the end user and for the server side too. Instead of having to do a geo-search based on some physical location, you only search by neighborhood. This is "good enough" and by having the users pre-sort their messages, there is no server-side processing needed. Compare this sort of thing to a full-on map or "local" search. I helped write some geoencoding stuff at my last job, and I can tell you it wasn't easy for me to get the code right, and it's pretty intensive on the server as well. On the other hand, the end user doesn't need to do much to use the system than drill into a few shallowly organized categories. Works pretty well on both ends IMHO.
Now the question is, could you accomplish a similarly functional and easy-to-use system, but instead of using pre-defined categories, you used tags in their place? I wrote about TagSurf a while ago: it's the web app idea I thought up and told Anthony about who went off and implemented it over a weekend. I love being the idea guy... The idea in this case being that as Del.icio.us applied tags to bookmarks, and Flickr applied tags to photos, what would happen if you applied tags to a traditional message? Title, Description and Tags. My original thought was a type of hyper-threaded public forum. You could follow ideas by their discussion thread, or by the different tags associated with them. Then I had the idea of adding a URL as a tag, and then you can use the system to have discussions about any web page out there - centralized comments on any "permalink" (i.e any Universal Resource Identifier).
But tonight as I was looking at Craigslist and it dawned on me that TagSurf could be used in a similar way - as a community bulletin board - but by using tags instead of pre-definied categories. Instead of having to drill down to Bay Area -> Peninsula -> Menlo Park, you would just add tags: "California MenloPark 94025" and instead of drilling down into For Sale -> Electronics you would just add the tags "ForSale Electronics" and you could add "iPod Music MP3" as well. Seems like it might really be a good system and you'd have no reason to create separate websites for each city out there: it would sort itself out instead.
First question: would people actually like this sort of system? It doesn't hand-hold you as much as Craig's List. The best thing about Craig's List is its accessibility to just about everyone, digerati and newbies alike. Then again, Flickr has proved that Tags have been shown to be a super-easy and powerful way to add categories to things like photos and blog posts. If that's the case, then tags might be an interesting alternative. I'm not sure. Maybe in this context, tags are actually more difficult? Maybe there's a finite amount of information you really need to participate in this sort of classifieds system and you don't need more options. Maybe people like given a path to enter complex sets of information and the flexibility of a tagging system would simply just add complexity instead? Honestly, I'd have to test this with end users to be sure.
What I am sure about is that a system for searching would need to be added to a tag system that allowed the same selection power as drilling down into a hierarchy. Since a tag is a tag is a tag, you don't know that MenloPark is "in" California. So you need to be able to have a search which naturally allows you to subdivide tags like this with things like "ands" and "ors". You also need a tagging system that's somewhat intelligent. A tag that's 5 numbers is most likely a zip code. So the searching system needs to be able to do searches within that area and for *neighboring* areas as well. In fact, I'd say that a tagging system would need a full-on location search as well.
Hmm. But what about those other miscellaneous pieces of metadata that don't neatly fit into the tag metaphor? For example: Price. Again, maybe this is as simple as adding another "special type" of tag using the dollar sign as a flag. TagSurf already has a concept of different tagging types, including email tags, URL tags, and UserIDs. If "money" was another special type of tag (along with zip codes), then you could do price range searches as well as location. Seems pretty easy to implement: tags that start or end with popular international currency symbols ($, â‚¬, Â¥) are money.
You know, if you start extending the concept of tagging like this, at what point do they cease to be called "tags?" I guess I've just come to the conclusion that tags are a user-friendly way of saying "free form meta-data".
Wow, is TagSurf the next Craigslist? The next eBay?