Last month I was looking over the shoulder of my auto mechanic, Jonah, when he was retrieving my service record on his computer. I watched him search for udell and find a file called something like 2011-11-04_udell.odf. (He uses an Open Office spreadsheet to keep track of things.) The first thing Jonah did, upon opening the file, was rename it to 2012-01-14_udell.odf. My thought was: I wish we could teach more people how (and why) to do that.
Jonah’s strategy tags each .ODF file with two items of information: a customer name, and a date. His convention is to keep the date current, so that current projects float to the top in date-ordered folder views. For many people the names of files in a folder are just one unorganized namespace. For Jonah they represent two parallel namespaces — or, as I encourage people to think of it, two sets of tags.
One of the benefits of this approach is portability. He could, if needed, transfer those files to another computer, perhaps even one running another operating system, without losing his ability to organize and retrieve records by customer name and date.
Principle: Create and use portable tags
For calendars, the CATEGORIES property of the iCalendar format is the most obvious way to tag events. Unfortunately it isn’t portable. Some content management systems enable users to tag events using the CATEGORIES property. And some calendar applications, like Outlook, also do. But other calendar apps, like Google Calendar and Hotmail Calendar, don’t. If you’re using one of these to publish a calendar, you can’t tag an event as a concert. And if you’re viewing a calendar that has events tagged that way, you won’t see or be able to make use of the concert tag.
There’s a simple and portable solution. iCalendar’s SUMMARY property, which is the title of an event, is universally readable and writable. So if your event stream naturally divides into concerts and lectures, it’s really helpful to identify events accordingly in their titles:
Concert: Joey Pratt Album Release Party with Noah Lefebvre
Lecture: Technology Future Shock: Society, Policy and Innovation in the Digital World
An even better strategy is to provide two separate feeds, one for concerts and the other for lectures. But that’s for a future installment. The key point here is that you can add value to any namespace — a set of files in a folder, a set of events on a calendar — by using tags to qualify filenames or titles.
Mechanism: Use iCalendar filters to extract tag-based feeds
The elmcity service provides a growing set of filters that can extract subsets of iCalendar feeds based on tags found in the SUMMARY (title) or DESCRIPTION (or URL) properties of events.
In the ideal scenario, providers of feeds would use tags as prefixes to the SUMMARY property. In the real world that doesn’t happen, at least not yet. But the elmcity filter is still useful because it’s natural to include keywords in titles and descriptions. Consider, for example, the calendar for Vinology, a wine bar and restaurant in Ann Arbor. Its calendar mixes two different kinds of events. Some are about food and drink (“small plate special”, “happy hour”). Others are about the jazz acts often appearing at Vinology. By filtering on jazz in the SUMMARY and/or DESCRIPTION of Vinology’s Google calendar, the elmcity service is able to extract just the jazz events and add them to Ann Arbor’s music and jazz calendars.
Currently there’s no incentive for Vinology (or anyone else) to adopt this strategy in a more intentional way. That’s because Ann Arbor’s elmcity syndication hub isn’t aligned with attention hubs like AnnArbor.com and ArborWeb.com. If Vinology knew that events tagged with music and/or jazz would show up on those sites in those categories, there would be a strong reason to do it.
(This series: elmcity tagging principles.)
PS: The next Vinology event in the music view of Ann Arbor’s elmcity hub, by the way, is the Doug Horn Trio, this Thursday at 9PM. That event isn’t on the AnnArbor.com calendar or the ArborWeb calendar. To put it there, Vinology would have to take data that it has already entered here and reenter it here and here. I think those other calendars should syndicate the data straight from Vinology (and everyone else).