Exploration

Archive: 18 May 2005

I was passed a musical baton by Nick Finck, while everyone else getting the same baton ignored me. Losers. (With the last-minute exception of Meryl, who passed one to me just as I was preparing to post.)

Total volume of music files on my computer

8.74 gigabytes, comprised of 1,885 songs that would take 5 days, 16 hours, 8 minutes and 22 seconds to play through.

The last CD I bought was

“Decksanddrumsandrockandroll” by The Propellerheads. The last CD bought on my behalf, as a birthday gift, was a set of the 1963 von Karajan / Berlin Philharmonic recordings of Beethoven’s Symphonies.

Song playing right now

As I post this message, it’s “When the Levee Breaks” by Led Zeppelin from “Led Zeppelin IV”. This might be interpreted as support for Mike Davidson‘s opinion of the Zep, except that I don’t agree with it.

Five songs I listen to a lot, or that mean a lot to me

I’ll take the latter.

“O Come, O Come, Emannuel” (traditional hymn)

“Road” by Nick Drake from “Pink Moon”

“Driven” by Rush from “Test For Echo”

“4th of July” by Soundgarden from “Superunknown”

“Life During Wartime (Live)” by The Talking Heads from “Sand In The Vaseline: Popular Favorites 1976-1992″

Bonus addendum piece: the second movement of Beethoven’s Seventh Symphony, “Allegretto”. It’s haunting, moving, inexpressably sad and triumphant. It doesn’t hold emotional meaning for me the way the other songs I listed do, but it has emotional effects that are unlike almost any other piece of music I know.

Over at Complex Spiral Consulting, I maintain a list of upcoming appearances at conferences, workshops, and the like. These are the “public” events; that is, events which are accessible by members of the public, assuming they pay whatever registration fee is being charged by the people in charge of the event. This is in contrast to “private” events; that is, client work that isn’t open to anyone except employees of the client.

Occasionally I’m asked if I have an RSS feed of those events, or send out e-mail updates, or otherwise provide any sort of notice other than just changing the web page. For a long time, the answer was basically “no”. Now it’s “yes”, and it’s an example of a microformat in action.

If you’re using iCal on OS X, or any other webcal:-aware calendaring program, then all you have to do is hit the following link:
Complex Spiral upcoming events calendar. Your calendar program should come to the foreground and let you add the URI as a subscribed calendar. And hey presto! You’re done. Any changes to the web page will be reflected in your calendar the next time the subscription is refreshed, and iCal lets you set your refresh interval to be 15 minutes, once a day, once a week, and so on.

What’s happening there is you’re pouring the home page of complexspiral.com through an XSLT recipe called X2V written by Brian Suda. His XSLT pulls out the hCalendar markup and turns it into an ICS file, one fully conformant with RFC 2445. So I don’t have to figure out how to produce and provide my own ICS file. Providing the hCalendar markup is enough, thanks to Brian’s work.

Of course, the number of people who would want to subscribe to my professional appearances schedule is fairly small. This is just a demonstration, though. Suppose a site like, oh, upcoming.org were to publish their event calendars with hCalendar markup? Then all you’d have to do is find the page that corresponds to your city, run it through Brian’s script, and you’d have your very own regularly updated local events calendar, just like that.

Guess what? You can do that right now: upcoming.org is publishing its information using hCalendar markup. For example, here’s the calendar for Cleveland, Ohio, ready for one-click subscription: Cleveland events calendar. If you just want the ICS file to be downloaded to your hard drive, then you can use this link instead: Cleveland events ICS file. The only difference between the two links is that the former uses the webcal: scheme identifier, whereas the second uses the more familiar http:.

I personally think there needs to be some work done on their hCalendar markup, like properly marking up location information. The time information for some events seems to be a bit wonky as well, although the dates are accurate. The great thing is that the hCalendar information could be fixed in very short order. In fact, from what I’ve heard, they added basic hCalendar markup to the site in under an hour. Adding more, or fixing any problems in what they have, shouldn’t take much longer.

Imagine how much further this could go. Suppose Basecamp marked up its project calendars with hCalendar, and used a script like Brian’s to turn it into ICS information. Its users could have project milestones right there in their personal calendar programs. Ditto for the To-Do’s lists, because that sort of information is all defined in the iCalendar specification. The TiVo site could provide customized schedules, like all the showings of American Idol or Masterpiece Theater. The IMDB could publish movie opening dates in hCalendar format; studios could do the same. Want a calendar schedule that shows what DVDs are coming out, when? Or what new albums are being released for the next month? All it takes is a little slice of a webmonkey’s time.

The point being, there’s nothing for which said webmonkey has to wait. The tools are already here. No browser has to be upgraded. In fact, in many ways this bypasses the browser to send information directly to the calendaring program… but the information is provided in a browser- and search-engine-friendly way, so they can access and use the same data in their own ways. No alternate files. Just a single set of information, made more rich and useful through easily understood mechanisms.

In our post-game analysis, Tantek and I felt that the Developers Day track on microformats went incredibly well. Not only did we get a lot of good feedback, I think we turned a lot of heads. The ideas we presented stood up to initial scrutiny by a pretty tough crowd, and our demonstrations of the already-deployed uses of formats like XFN, like XHTMLfriends.net and an automated way to subscribe to hCalendars and hCards, drew favorable response.

Even better, our joint panel with the Semantic Web folks had a far greater tone of agreement than of acrimony, the latter of which I feared would dominate. I learned some things there, in fact. For example, the idea that the Semantic Web efforts are inherently top-down turns out to be false. It may be that many of the efforts have been top-down, but that doesn’t mean that they have to be. We also saw examples where Semantic Web technologies are far more appropriate than a microformat would be. The example Jim Hendler brought up was an oncology database that defines and uses some 600,000 terms. I would not want to try to capture that in a microformat—although it could be done, I suspect.

Here’s one thing I think is key about microformats: they cause the semantics people already use to be impressed onto the web. They capture, or at least make it very easy to capture, the current zeitgeist. This makes them almost automatically human-friendly, which is always a big plus in my book.

The other side of that key is this: it may be that by allowing authors to quickly annotate their information, microformats will be the gateway through which the masses’ data is brought to the more formal systems the Semantic Web allows. It very well may be that, in the future, we’ll look back and realize that microformats were the bootstrap needed to haul the web into semanticity.

Tantek and I have had some spirited debates around that last point, and are actually in the middle of one right now. After all, maybe things won’t go that way; maybe microformats will lead to something else, some other way of spreading machine-recognizable semantic information. It’s fun to debate where things might go, and why, but I think in the end we’re both willing to keep pushing the concept and use of microformats forward, and see how things turn out down the road.

What’s fascinating is how fired up people get about microformats. After SXSW05, there was an explosion of interest and experimentation. Several microformats got created or proposed, covering all kinds of topics—from folksonomy formalization to political categorization. A similar effect seemed to be occurring at WWW2005. One person who’s been around long enough to know said that the enthusiasm and excitement surrounding microformats reminded him of the early days of the web itself.

As someone who’s at the center of the work on microformats, it’s hard for me to judge that sort of thing. But I was there for some of the early WWW conferences, and I remember the energy there. As I rode home from WWW2 in Chicago, I was convinced that the world was in the process of changing, and I wanted more than anything to be a part of that change. To hear that there’s a similar energy swirling around something I’m helping to create and define is profoundly humbling.

That all sounds great, of course, but if it remains theoretical it’s not much good, right? Fortunately, it isn’t staying theoretical at all, and I’m not just talking about XFN. Want an example of how you could make use of microformatted information right now, as in today? That’s coming up in the next post, where I’ll show how to make use of a resource I mentioned earlier in this post.