Stowe Boyd

Month

July 2005

Open Tags: Made For A Distributed World

[originally posted at Get Real]

I waved my hand at what I am calling Open Tags in a recent post, inspired in part by a Jeff Jarvis’ post, Made For A Distributed World.

I made the case that the current model for html-based tagging is flawed from the distributed world perspective, because it is based on specifying at the time of writing exactly what services are going to manage the tag information. For example, consider this Technorati-based tag:

Thai


<a href=”http://technorati.com/tags/thai” rel=”tag”>Thai</a>


That tag denotes that Technorati — at some time in the not too distant future, once Technorati crawls my post — will create a new entry in its database associated with the tag “Thai” that points to the posting I placed the tag in. Which seems to be fine, except for a few key problems:

1. I don’t necessarily know in advance all the services that I would like to have point to the post. For example, I might like to have a bunch of services — a restaurant review service, Technorati, a cigar-oriented service, and a wine review service — all point to the posting.

2. And I don’t want top have to clutter up the posting with an expanding list of tags, each associated with a different service, which is an alternative, but a pain in the ass. Note that this is the direction that closed tags will take us!

3. One alternative to Technorati-style tagging is to use a bookmarking service like Del.icio.us, and to manually tag all entries there. However, this does not lead to tags being present in the post, so I find that inadequate.

What I really want is a way to define the tags that should be associated with the post — such as “Thai”, “Cohiba Churchill”, “Restaurant”, “Gruet Blanc de Noirs”, and “Reston” — but to defer the identity of the service or services that are supposed to support the tags. (Note for programmers: this is a classic ‘late-binding’ issue as dealt with in many programming languages approaches to type-binding.)

My vision of open tags are designed to avoid the identity of Technorati-style services I might want to index my posts. For example, the Technorati tag “http://technorati.com/tags/thai” denotes Technorati as the service to handle the tag, as well as pointing to a specific page on the Internet generated by the Technorati system either on demand or in advance of an attempt to access it. Instead, my idea of an open tag relies on a relative address, like “/tags/thai”.

<a href=”/tags/thai” rel=”tag”>Thai</a>

A reader of my earlier piece, Randy Charles Morrin, pointed out that this relative address leads to a problem:

The problem with this clean approach, is that if you click on the link, then you are most likely looking at a 404. Get Real!

Randy is right: the browser resolves the relative address in the URL to be a hypothetical address at the Corante server — “http://www.corante.com/getreal/tags/thai” — which doesn’t exist. Hence, a 404 message: file not found.

Note that even with the Technorati-style static tags, you get a similar sort of message from Technorati in the case that the tag has not been created yet: although Technorati provides you, instead, the HTML to stick into your post to create the appropriate tag.

What is lacking for the open tag to work is some retooling at the blogging level: open tagging requires a tool — either independent or integrated into the blogging technology — to create pages corresponding to the open tags, and to manage the information there in a distributed fashion in way that is analogous to what Technorati does in a centralized way.

One option is to rewrite all my MovableType templates to make a direct connection between blog categories and tags. I would then simply map the MovableType category feature to generate the open tags This would work, since I could change my MovableType category archive settings to generate the correct directories: “http://www.corante.com/getreal/tags/thai”, for example.

Note, however, that this doesn’t lead to an integration with Technorati or other tag-based solutions. It simply collapses blog categories and tags. If I want to get today’s Technorati to work, I still need to create URLs that are Technorati specific. But I don’t want to create them at the time of writing the post, either by hand or automatically, because there are going to be many Technorati-ish services in the future and I don’t necessarily know who they are at the time of writing.

This is much like the idea of people writing about your posts: at the time of my writing this there is no way I could possibly know who is going to make a comment about these thoughts on open tags. That’s why we use trackbacks: so that in the future people can comment on what I have written, and the blog technology handles the trackbacks. So tomorrow, or next week, someone reading this piece will scroll to the bottom and be able to see a list of the folks that have riffed on this open tags post. I believe the same mechanism should be used by services like Technorati, instead of the explicit, in-advance tag specification we use today.

Today, MovableType and other blog solutions use pings to inform solutions like Technorati when it’s time to read posts and scavenge their tags, or else we can manually browse Technorati and tell them to do so by providing the URL of our blogs. But that is a dumb model given that we have RSS.

For the open tag model I propose that Technorati-like services request an RSS feed from users that they, in effect, would subscribe to. For example, I could make my MovableType implementation generate “http://www.corante.com/getreal/tags/tagspace.xml”. The services could poll the RSS feed at their preferred cycles, and generate any appropriate entries. Note that these RSS feeds would have to be configured to provide the tags in an easily accessed fashion. And, as I suggested, these services could trackback to the appropriate blog entries, and sent a link to the corresponding entries that they have assimilated into their own tag spaces.

If we shift to open tags, the Technoratis of the tag world will have to either get smarter about what sorts of tags are relevant — perhaps a wine service would only link to posts that include tags that ‘make sense’, like “Gruet Blanc de Noirs” — or else we could give them direction.

Jarvis suggested specifically denoting the identity of the service that should pay attention to the tags, using the “for:dinnerbuzz” type tags. A service, like the Dinnerbuzz restaurant review service, would see that tag in the RSS feed, and would then add the post to its database, using the other tags to identify it as a Reston Virginia Thai restaurant. A trackback ping could be used to send the URL to the various corresponing tag pages at Dinnerbuzz, such as “http://dinnerbuzz/tags/thai’ for example, and these would be associated the entry at my local tag pages.

But this leads us back to hard-coding the identity of the service or services we wish to have tracking our tags, although it would let us use a single set of tags for many services. I believe, in the long run, the services will have to become smart enough to look at the tags and decide whether an entry is relevant. A restaurant review service like the idealized Dinnerbuzz could simply look for the “restaurant” tag, and rely on elements from the restaurant review domain — cities, states, cuisines, “4 out of 5”, and the like — as markers. It might be smart enough to ignore the other tags — “Cohiba Churchill” and “Gruet” for example — that other services might pick up on.

The open tags approach has great value, I believe, but there is a lot working against it. First of all, we have a huge proliferation of closed tagspaces out there in use, such as Technorati, and they don’t work this way. But it’s early days yet, and an enterprising competitor to Technorati could decide to launch a new service based on the open model, to some extent taking advantage of the performance problems that seem to be plaguing Technorati over the past few months.

(Note that Technorati’s performance problems are significantly influenced by the closed model they have adopted: they are forced to read the source of our blog pages, looking for tags buried in URLs. In the open tag model, the tags would be encoded in XML-based RSS feeds, so performance of the tags parsing part might be significantly faster. Other aspects of the implementation would not be faster, but it seems that the backlog is at the blog reading phase.)

In the long run, open tag style services will emerge anyway, since others will see the treasure trove of information buried in Technorati-style tags and will decide to mine it. Realizing that the closed model has all the problems I have sketched out, someone or some group will propose a service that works in the open fashion, at least with regard to sending trackbacks to posts that are deemed relevant since this will lead to traffic at their service. The real problem will be bloggers considering this to be blog trackback spam. A transition to a consistent format for open tags’ RSS is likely to be a later development.

So we should start thinking about the long-tail value of our tags: they are not just for the service we are explicitly using today. Technorati may be long gone five years from now (I hope not!), but some service will be mining years of archived but still relevant opinions about Coldplay’s X & Y, restaurants in Reston, and what’s the best champagne to stand up to a Cohiba cigar.

One interim solution is to collapse categories and tags, as I outlined above, and to redesign your blog templates to generate both open and closed tags. For example, I could have each tag/category listed at the foot of my entries in the following style:

Thai [t] Cohiba Churchill [t] Restaurant [t] Gruet Blanc de Noirs [t] Reston [t]

and each tag would resolve to the local tag/category archive page when clicked, and the associated “[t]” would be the explicitly generated technorati tag. At some time in the future, if and when Technorati either ceases to exist or decides to support the open tags model, I could simply tweak my template to drop the “[t]” element. I plan to adopt this approach, at Get Real and perhaps across Corante as a whole.

[I don’t address it in this piece, but I also believe the various bookmarketing services should adopt the trackback elements of the open tag model. That is to say that when someone reads this post tomorrow, and enters it into his Del.icio.us bookmarks with some commentary and tags, Deli.cio.us should ping my blog to create a trackback to that bookmark.]

The world is distributed, and our approach to making sense of it through tags should be as well. We need to anticipate that closed models are inherently at odds with what we are trying to do when we tag our entries. Obviously, if Technorati or some other competitor became super-dominant, and occupied the role of a de facto tagspace monopoly, this would be moot. But that is unlikely, for a wide variety of reasons. We will likely see an explosion of tag-based services, as the value of the blogosphere’s resources expands, and all that frenzy will inevitably lead to an open and distributed model for tags, something like this open tags model I have outlined.

Jul 24, 2005
Jeff Jarvis on Made For A Distributed World

Even though he was completely wrong about how the Dinnerbuzz solution works, Jeff Jarvis is dead-on in his Made For A Distributed World. Jeff thought that Dinnerbuzz would aggregate blog posts tagged with various sort of restaurant information — “Thai” “Reston” “Virginia” — and then provide a search mechanism so that people could find posts using the domain schema for restaurants: “find all Thai restaurant reviews for Reston Virginia”. Alas, it turns out to be not constructed that way.

Jeff’s point is that in a distributed world people want to post all their observations at their own blo, not over hundreds of thematic blogs. I would like to post about wine, restaurants, music, and gizmos at my A Working Model blog, and simply ping (via trackback, perhaps) other aggregators (like the idealized Dinnerbuzz site Jeff was dreaming of), and they could sort out what’s what based on the tags.

Jeff suggests that either Technorati or Delicious style tags would work, but an expanding world of services mining meaning from tags mean that we would start to have dozens of tagspaces. Currently, a technorati tag for “Thai” looks like this:

<a href=”http://technorati.com/tags/thai” rel=”tag”>Thai</a>

Which means that the tag is managed by technorati at that URL. I would like to shift over to distributed tags, based on a relative path in the href:

<a href=”/tags/thai” rel=”tag”>Thai</a>

This would mean that the dozens of sites I might be distributing my reviews to could all inspect my tags, and detemrine if they were relevant for thier use. As Jeff points out, we could include specific tags as guidance, like this:

<a href=”/tags/for:dinnerbuzz” rel=”tag”>for:dinnerbuzz</a>

This would mean we could reuse the same bunch of tags in a single post for wine, cigar, and restaurant reviews, for example. More importantly, we could write posts and tag it independently of the service or services that will ultimately reuse the information. We wouldn’t be locked into a specific service (like Technorati or Delicious) and we could begin to operate in an open tagging model, which we are going to need.

[Note: I tried to dig around in this topic a few weeks ago, in a discussion with Dave Sifry of Technorati in which I was referring to “remote tags”. But this idea of Open Tags is a much cleaner treatment.]

Jul 21, 2005
Starting From Scratch: Social Design Is Hard

I am smack in the middle of an experience I have thought about a lot over the past few years. I am getting the opportunity to work with an impassioned group of entrepreneurs who are trying to design a new social application — details omitted to protect my liabilities under NDA — and unlike my usual technology consulting, this is really, really early stage.

We have been talking about various well-known solutions that incorporate social elements — like friends, groups, collaborative filtering, tagging, and so on — and stargazing about what the hypothetical users will want and care about (we even flew in a few to get their insights and thoughts). And what I have realized, after the first day, is how hard this is. I mean, I have designed lots of software in the past, and used a lot of different approaches to doing it, but this is somehow more complex: exactly because it is all about the social aspect.

I feel that we don’t know enough about social tools to have the necessary design patterns defined to construct the social architecture that will surround all future successful social applications. Based on the events of the past day, I am offering a few — perhaps obvious and overgeneralized — observations:

  • People Are The Living, Breathing, Beating Heart Of The Universe — Those folks that I know and form my social reality are the center of my universe. Therefore, activities involving interacting with them, learning about them, and perceiving the world through their eyes should be the centerpoint of social applications. I am strongly biased toward the instant messaging buddy list metaphor as a central motif around which social interaction can swirl, but it’s not essential, I guess. The motif of an address book can serve, I suppose, or the network models that underlie social networking apps, but seems to me less helpful than buddy list aggregation into groups.
  • Artifacts Bind Us Together and Define Us — People create and leave a trail of their social activities, like creating blog posts, comments, tags, links, ratings, posting pictures, even the path that they have taken through a series of pages on a service. These artifacts are actually a more interesting way to characterize people than simply written stuff in a profile. More importantly, some of these artifacts — links to people and posts, ratings, testimonials, and so on — represent the social glue that links us, and is a reflection of emergent value in social networks. When dozens of people link to a book review I post in a hypothetical service, and rate it highly, they are — in essence — suggesting that my post matters, that it should be read, that others would find it helpful, and, by extension, that I, as the author, have made a contribution that is valued. This accretion of meaning through the tens of thousands of individual activities within a social application is larger than the ‘content’ generated: the whole is truly greater than the sum of the parts.
  • Social Interaction Is Bottom Up, And So Is Everything Else — Features like tags, user defined groups, arbitrary user-defined relationships, and user defined categories make sense and work because social context is very personal and local, not universal and general. All fans of what I think of as downtempo music will not use that term, and even if they did, they may still not agree with my characterization of a specific album as downtempo. But when you surrender to the bottom-up nature of social applications, that ceases to matter. Over the long haul, those that care about downtempo-ish music will converge toward a more-or-less consistent use of the term, at least consistent enough for the term to be useful in an approximate sense. Which is really all we can hope for in a subjective universe, anyway.
  • Social Stuff Absorbs and Trumps Domain Stuff — Imagine a social application dedicated to the love of wine (I’d join!). There is a natural information schema in the world of wine, based on things like country of origin, regions, vintners, vintage, kinds of grapes, and so on. That information structures an intuitive schema that we all adopt regarding wine. The same holds in other areas, like music, books, blogs, and nearly anything that people can obsess about. But you shouldn’t imagine that this domain schema should the primary axis for people’s interaction. That just leads to a giant catalog experience, which basically sucks. The primary axis of user interaction in social applications is human interaction — people communicating, or individual looking at what others say about their obsessions, or finding new potential friends based on shared obsessions, or finding new wines, books, or music based on the recommendations of friends. The natural schemas of the world should be leveraged in the social sphere, but should be subsumed by it. People will want to live in a coffeeshop, talking to people about books, not in the stacks at the library or the warehouse at Amazon.

Tolstoy wrote in Anna Karenina, “All happy families resemble one another, each unhappy family is unhappy in its own way.” I bet that all successful social applications will be based around the same, shared social architectural patterns, while ten thousand failed solutions will fall by the wayside by adopting some “innovative” take on social architecture that will, in the final analysis, miss the point. Like a social bookstore that forces us to stare, endlessly, at the stacks, and makes it hard to find out what your friends are reading, or to connect with other people that quote Tolstoy in their blogs. Even established realms like Amazon will have to rework their architecture to match the social architecture latent in our wiring, or they will get pushed aside by an upstart that cracks the social code.

Jul 7, 20056 notes
#social design #social architecture
Linda Stone at Supernova: Continuous Partial Attention Email This Entry

Linda Stone, formerly of Apple and Microsoft, and the person responsible for coining the term Continuous Partial Attention, gave a much discussed presentation at Supernova. I have been interested in the meme for years (see here).

I am really sorry to have missed Linda, but Nat Torkington posted a great series of notes at O’Reilly Radar. As a result, my comments rely on third party hearsay: so be it.

Her angle in the past has been to suggest that CPA is something to be resisted: an aberrant response to the pressures of remaining connected. It seems that she is moderating her tone, at least a hair:

Linda Stone (as channeled by Nat Tarkington)In 1997 I coined the phrase “continuous partial attention”. For almost two decades, continuous partial attention has been a way of life to cope and keep up with responsibilities and relationships. We’ve stretched our attention bandwidth to upper limits. We think that if tech has a lot of bandwidth then we do, too.

With continuous partial attention we keep the top level item in focus and scan the periphery in case something more important emerges. Continuous partial attention is motivated by a desire not to miss opportunities. We want to ensure our place as a live node on the network, we feel alive when we’re connected. To be busy and to be connected is to be alive.

We’ve been working to maximize opportunities and contacts in our life. So much social networking, so little time. Speed, agility, and connectivity at top of mind. Marketers humming that tune for two decades now.

Now we’re over-stimulated, over-wound, unfulfilled.

CPA as coping mechanism? I maintain that continuous partial attention is an inbuilt aspect of socialized online existence. Linda suggests that CPA is about maximizing opportunities and network connection, but I believe that its a means to understand the world through connection. We rely on our social connections to alert us to what’s important, what’s hot, what’s worth reading. And then, she states that this is all just a dreadful ruse, anyway, since in the end we are left “over-stimulated, over-wound, unfulfilled.”

The alternative to CPA is to revert back to an industrial age, one-thing-at-a-time approach to dealing with the world. That model is fine for supermarket checkout lines, but fails catastrophically in other settings, like hospital emergency rooms.

Continuous partial attention is a meaningful accomodation to the possibilities inherent in operating within the context of a social confederation of other minds, linked through social tools. When examined from the perspective of individual productivity — how many words, widgets, sales have you produced per month — CPA is negative. But in the social universe, you have to measure the productivity of all the connceted members, and productivity of the whole — I maintain — goes up as a function of connectedness. I am willing to slow my roll to answer your question, which allows you and your group to make progress, and you will take my IM the next day, helping me get unstuck on a problem. Someone alerts me to a product announcement, and takes a minute to tell me why they think it’s important: I willingly accept the interrupt, even though it might be thirty minutes before I get back to what I was doing.

To some extent, the question is “what is the highest good?” Is it better to complete the task in hand, or to accept an interrupt? This is contextual, to a great extent: if you are performing brain surgery, the answer is one thing, but if you are updating a project plan, and it’s Stowe on the phone with a question, your answer could be quite different.

The is a real balancing act going on with CPA: we can’t remain sane if we run in circles everytime the leaves move, but we need to be constantly scanning the horizon for prey or predators. And we have to trust the intuition that emerges from the social network. I think that Linda’s sense of unfillment — or her belief that we are — is something like the mythic yearning for a former golden age. She elaborated on her notion of Ages of Attention:

We’re shifting into a new cycle, new set of behaviours and motivations. Attention is dynamic, and there are sociocultural influences that push us to pay attention one way or another. Our use of attention and how it evolves is culturally determined.

I see twenty year cycles. Coming through in the cycles is a tension between collective and individual, and our tendency to take set of beliefs to extreme then it fails us and we seek the opposite.

1945-1965: organization/insitution center of gravity. We paid attention to that which we serve. Lucy paid full attention to phone conversations, Seinfeld does not. Belief that by serving insitution of (marriage|employer|community) we’d leave happy and well-ordered lives. Marketing, command-and-control lifestyle, parents and authority figures, all fit in. Service to institution would bring us satisfaction. We paid full-focus attention to that which served the institution: family, community, marriage. We trusted experts in authority to filter the noise from the signal, to give us the information that matters. As those things failed us, we embraced what we’d suppressed.

1965-1985: me and self-expression. Self and self-expression new center of gravity. Trusted ourselves, entrepreneurial. Apple, Microsoft, Southwest Airlines. Marketers said we have our power to be our best. Fashion broke free. We paid attention to that which created personal opportunities. Paid attention to full-screen software like Word and Excel. Willing to fragment attention if it enhanced our opportunity. Multitasking was an adaptive. Our sense of committment dropped: rising divorce rate, 3 companies/career, etc. Became narcissistic and lonely, reached out for network.

1985-2005: Network center of gravity. Trust network intelligence. Scan for opportunity. Continuous partial attention is a post-multitasking adaptive behaviour. Being connected makes us feel alive. ADD is a dysfunctional variant of continuous partial attention. Continuous partial attention isn’t motivated by productivity, it’s motivated by being connected. MySpace, Friendster, where quantity of connections desirable may make us feel connected, but lack of meaning underscores how promiscuous and how empty this way of life made us feel. Dan Gould: “I quit every social network I was on so I could have dinner with people.”

Her 1945-1965 characterization could go much further back. Ronald Ingelhard’s sociological explorations showed that modern day people were rejecting the large organizations that they had formerly found safety and self-identification through, and that people demanded true voice — unmediated participation in the world. This territory has been deeply mined by Shoshanna Zuboff in the Support Economy (see my discussion, here).

And then, the Summer of Love came along: 1965-1985. According to Linda and Time magazine: the Me generation. But this may be better characterized, once again, as the rise of true voice, the period when the old institutions failed to retain our interest, and people’s self-identity become increasingly disassociated from institutions. Note, however, that there was no Internet, and people had the option of ‘tuning out’ the broadcast media and ‘dropping out’ from institutions, but only the grassroots means to recreate a social order from the bottom up: no social tools, though. I was teargassed at the Capitol, marching against the Vietnam War, so I remember that era fairly well.

And then, Stone’s ‘network center of gravity’: 1985 - 2005. She suggests that we have donned continuous partial attention like bellbottom pants, a faddish reaction to the zeitgeist arising from a networked age. And that we have tried them on — along with flings with Friendster and other null experience social networking apps — and now are turning away from all that froth. To… what?

So now we’re overwhelmed, underfulfilled, seeking meaningful connections. iPod as much about personal space as personalized playlists. Driving question going from ‘what do I have to gain?’ to ‘what do I have to lose?’ Success turning to fear.

Attention captured by marketing messages and leaders who give us a sense of trust, belonging in a meaningful way. Now we long for a quality of life that comes in meaningful connections to friends, colleagues, family that we experience with full-focus attention on relationships, etc.

The next aphrodisiac is committed full-attention focus. In this new area, experiencing this engaged attention is to feel alive. Trusted filters, trusted protectors, trusted concierge, human or technical, removing distractions and managing boundaries, filtering signal from noise, enabling meaningful connections, that make us feel secure, are the opportunity for the next generation. Opportunity will be the tools and technologies to take our power back.

Hmmm. I don’t buy it. First of all, I don’t believe the characterization of being unfulfilled. People are overwhelmed with information, if they operate on an information basis: too many RSS feeds, too many channels, too many choices. That leads to anxiety, yes. But there is never too much meaning, too much insight, too much understanding. So shifting over to a socialized means of filtering the world instead of the information model decreases anxiety: I trust those that I am connected to to help me make sense of the world. And for that to work, I must adopt a communitarian attitude: my time is truly not my own. It is a shared space, a commons in which I interact with my buddies, where we live.

This does not require a return to full attention, one-thing-at-a-time processing of the world. Yes, you rely on trust — trusted contacts — but Linda seems to suggest that we will be able to leave the filtering to others: to trust concierges, protectors, leaders. Personally, I don’t want to yeild sense making to leaders any more.

Despite her millennial appeal to the world weary baby boomers, Linda’s Three Ages of Attention does not really work. Every generation since the advent of real-time communication, starting with the emergence of the telegraph, has become more and more connected, and continuous partial attention is a meaningful and sensible strategy for the world that bits built.

While Stone may feel that the ulimate aphrodesiac is the ability to wrap a Babble device around our entire lives and make the world go away — its a messy, messy world these days, after all — I don’t. I am approaching the ongoing social tools revolution expecting that it will lead to greater connection, deeper involvement with others, and a richer way to perceive the world, but this will continue to come as a direct correllary to my willingness to spread my attention, and to attend to many contacts. Unlike Stone, I don’t think 2005 is the cliff at the end of some 20 year era, but just another stepping stone on the path. I expect more, and more sophisticated, ways to distribute attention in the coming months and years. But then I believe we are processing meaning, not information, and that might be the central difference in our philosophies.

Jul 1, 200511 notes
#continuous partial attention #linda stone
Next page →
2012 2013
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2011 2012 2013
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2010 2011 2012
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2009 2010 2011
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2008 2009 2010
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2007 2008 2009
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2006 2007 2008
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2005 2006 2007
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2004 2005 2006
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2003 2004 2005
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2002 2003 2004
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2001 2002 2003
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2000 2001 2002
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2000 2001
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December