It’s been a busy month for rogue plumber Harry Tuttle. When last heard from, he was deploying a filter to fix broken iCalendar feeds served up by the University of Michigan. His next assignment was at Rice University, where the downloadable sports schedules are available only in CSV (comma-separated values) format. Here are the instructions for how to get one of those CSV files into Outloook:
- Select the File / Import and Export… Menu option.
- Select “Import from another program or file” and click Next.
- Select “Comma Separated Values (Windows)” and click Next.
- Find the desired CSV file and select “Do not import duplicate items” and click Next.
- Select Calendar and click Next.
- The next window will have a title that says ‘The following actions will be performed:’ above an option to ‘Import “(filename).csv” into folder: Calendar.’
- Check that box and and click on ‘Import “(filename).csv” into folder: Calendar’ From there, click and drag needed fields from the left window into the right window. Its fairly self-explanatory, but the basic corresponding fields are below: SUBJECT to Subject START_DATE to Start Date START_TIME to Start Time END_TIME to End Time DESCRIPTION to Description LOCATION to Location
It’s hard to believe any Outlook user has ever followed those instructions. And if you’re using a calendar other than Outlook, you’re on your own.
So I asked Harry to make a filter that turns those CSV files into iCalendar feeds. It’s specific to that particular format for now, but as we find other examples in the wild we’ll generalize accordingly.
My next challenge involved feed categorization. I’m finding pockets of excellence in various places around the country. As I mentioned last month, the Slauson Middle School in Ann Arbor is one of them. Its calendar looks like a single feed, but is actually a merged set of 11 distinct Google Calendars, including one for Slauson clubs, several for Slauson sports, and one for Slauson’s upcoming Chicago trip.
As curator of Ann Arbor’s community hub I was thrilled to see this kind of self-categorization. It enables me to merge Slauson’s sports and music events with other sports and music events in Ann Arbor. But if it’s rare to find a public calendar in machine-readable iCalendar format, which it unfortunately is, it’s even rarer to find a set of machine-readable public calendars that can be syndicated by category.
I asked Harry to weigh in on this problem too. He’s a do-it-yourself guy who doesn’t like to wait for Central Services to take care of things. “If the sources aren’t providing you with the categories you need,” he said, “maybe we can create them ourselves.” Next thing you know, he’d whipped up a filter that selects subsets of iCalendar feeds by keyword and/or time.
Here’s one example of how I’m using it. Vinology, a restaurant and wine bar in Ann Arbor, publishes upcoming events using a Google Calendar. The feed from that calendar mixes two different kinds of events: restaurant business (Happy Hour) and a jazz schedule (Meri Slaven trio). I’d like to select just the jazz events for Ann Arbor’s music and jazz views.
Harry’s filter solves this problem. Actually, it solves it in two different ways. The first way is to filter Vinology’s feed for events where the SUMMARY or DESCRIPTION fields contain the keyword jazz. The second way is to filter the feed for events that happen after 8PM. Either of these methods produces the jazz-categorized iCalendar feed that Vinology might someday create for itself.
Harry’s filter also solves a related problem. The Berkeley Art Museum / Pacific Film Archive is, as the name suggests, a venue for both art exhibits and film showings. The calendar is, happily, available as an iCalendar feed. Unhappily it mixes art exhibits with film showings and I couldn’t find any times or keywords that would reliably separate the two streams. But then I found a keyword that would. The BAM/PFA website’s URLs look like http://www.bampfa.berkeley.edu/exhibition/faulders_bamscape) and http://www.bampfa.berkeley.edu/filmseries/clouzot). And those same URLs appear in the iCalendar feed. So Harry enhanced the filter to look for those boldedkeywords in the URL field of iCalendar events. Now the BAM/PFA’s film series shows up where it belongs, in the film category of the Berkeley hub.
Senator Ted Stevens got it right. The Internet really is a series of tubes. When they don’t fit together quite the way you need them to, Harry Tuttle can sometimes help.