Kingsley Idehen pointed me to this nice little Ottawa Trash Schedule app, based on a set of iCalendar feeds derived by Shawn Hooper from a set of PDF files published by the city.
These iCalendar feeds were Shawn’s contribution to the Open Data Ottawa Hackfest. In a letter to the city councillors Shawn writes:
If you are not yet familiar with the topic of Open Data, the basic idea is that information should be made available in standard formats that can be read by a variety of computer programs. This data should be available for use by the public, without restrictions.
For example, the City currently publishes its Garbage Collection Calendar as a PDF file on its website. Although PDF files are a popular format in which to present data, they are not open. All you can do with a PDF-based calendar is look at it, or print it.
An open version of this same calendar would be, in its simplest form, a list of dates on which garbage collection would occur and which types of garbage and recycling are collected on those dates. Although not as visually appealing as the current PDF calendar, this list of dates can be read by many different pieces of software to provide value-added services such as sending reminders to your cell phone or e-mail address the night your recycling should be put out, or adding the collection schedule to your calendar software of choice.
In addition to http://www.ottawatrash.ca, another service that can work with these feeds is the Ottawa hub of the elmcity calendar syndication service.
It’s great to see these kinds of things happening. But we shouldn’t depend on inspired citizen activism to make them happen. The publication of data is a routine act that will increasingly be performed by individuals, groups, non-profit and for-profit organizations, governments. The default setting, in almost all cases, involves publishing that data in formats that people can read but that machines can’t. We’ve got to flip the default setting. Publication of machine-readable formats along with human-readable formats has to be the new default.
In my own town, Keene, NH, I’m delighted to be able to point to an example. Last year, the schedule for hazardous household waste collection was only available as a PDF file. But now it’s in iCalendar. The next collection date shows up on the combined calendar: Saturday, May 8. It got there by way of the city’s calendar which is available both as a human-readable HTML page and an iCalendar feed available for syndication. So simple, so useful.
My former employer, the Florida Department of Transportation, had lots of public meetings. They really could stand to publish them as calendar feeds and since Florida is big on open records (“government in the sunshine”) should be big on OpenData.
Your employer, though, could help: Trying to create multiple ‘.ics’ files is something most of the data maintainers (i.e. staff assistants, engineers leading public hearings, etcetera) will not do in Outlook. Unless I’m overlooking something, you can either epublish an entire calendar as iCalendar, or one event at a time. To create a web page with the calendar on it, and a link to an .ics file with all the events, and a link to each event as an .ics file, is just not easy.
I’m toying with the idea of downloading Visual Studio Express and trying to build an add-in for Outlook to approach the problem, but my skillset is as a major mainframe technician, so I’d be way behind the learning curve. The Outlook team could solve this in a day or two, probably…
My vision:
1.Select multiple events on an Outlook calendar (including the whole calendar), and select ‘Publish As X” (X is perhaps ‘Calendar Package’?).
2. In a dialog box you are asked for a URL to publish to (similar to the way the publishing to the internet works now) and the name of a stylesheet.
3. For each event, create an .ics file and publish to the URL.
4. For all the events, create an .ics file and publish to the URL.
5. Create an Atom/XML feed file to reference all of the files just included, but also with data in each entry for creation of an HTML calendar. Include the stylesheet reference in the XML (nothing in Atom that I can see precludes a stylesheet)
6. Publish the XML to the URL.
The stylesheet should be able to form a visual calendar from the feed XML, so that when people link there they can see the calendar, and then click on the .ics links to open them in the iCalendar-supporting tool of their choice.
I know CalConnect did some work recently on xCal (XML format for iCalendar) and that was led by someone from Microsoft, so you might want to check internally on that score as well.