TransitCamp on Sunday was very interesting. Here's a video from CityTV that gives a pretty good overview of what was going on (that's me standing up, red scarf, trench coated at :17 in):
I attended two sessions and did the usual networking thing. The first session was about data as in opening up the transit schedules and providing real time locations of all buses and subways along the routes. You can read the session notes here. My impression? There's lots of good ideas. Kieran (who's net identity I haven't figured out yet) is working on a open collaborative data system for mapping the TTC and its routes. I'd prefer that the TTC and the city open up all its data information but I realize that this is going to require change mandated from the top down. This is something I've been b*tching about for years, and not only as an abstract sort of thing, but because I've been personally burned by it and that I think it makes Canada less competitive than the US. The TTC people in attendance didn't really say a lot. I wonder if they were scared by the presence of TTC Chair Adam Giambrone? In either case, they all gave the impression (to me, anyway) that that the TTC is very bureaucratic and not too fond of change.
In the afternoon I attended TTC + other modes of transit which covered many of the same issues. With an open way of sharing data, the TTC data could easily be integrated with Go, AutoShare*, ZipCar*, Greyhound and so on and so on. To address a particular concern about "not everyone has a computer" -- think 10 years out: with ubiquitous wifi and displays as cheap as singing birthday cards, we'll be living in a different future sooner than you think.
I'll be attending TransitCamp this morning to discuss APIs, Mashups and Microformats and to provide at least a little "from the right" perspective to what's going on:
An ad-hoc gathering at the Gladstone Hotel of designers, transit geeks, bloggers, visual artists, tech geeks and cultural creators passionate about transit in Toronto and the TTC. It is a platform for Toronto's talented design community and enthusiastic transit users and fans to demonstrate their creativity and contribute to a better way for Toronto's transit system. The content and ideas generated in this open unconference will be delivered to the TTC for their consideration in their work.
Last April, we demoed some of the structured blogging capabilities of BlogMatrix. Part of the demo involved posting an event and having it show up in Google Calendar. We've recently decided to make that code part of the standard "base" installation under a system called continuous export -- whenever you post something, it will show up on other systems as appropiate.
Anyway, I couldn't get it to work so I contacted the Google Calendar Data API support group where a gentleman named Ryan Boyd helped me out. I didn't quite believe his last answer so I decided make a standalone test case that could be safely shared. Of course, after I finished writing it the test case worked perfectly so I ported back that test case code and everything's working just fine.
As a public service, I've included the test case code here. If you're trying to do PUT/POST using Python's urllib2, need to login to Google Calendar, or whatever, this code is well documented internally, is easy to follow, and it works.
This will demo quite nicely -- you can go to upcoming or any other hCalendar supporting tool, import the event and have it published on your Google Calendar. Neat and useful.
Outstanding items:
making sure when an item is deleted in BlogMatrix, it's deleted on Google Calendar
make Google Calendar update (in the user's browser) when the item is added. Currently, one has to press the browser's refresh button which is suboptimal
I'm about 25% likely to make this -- it's pretty far off the beaten path, unless you're a downtown dweller. Foot, subway, streetcar, foot in 28 degree weather doesn't sound that great. Note: I see they've changed the naming convention from TorDemoCamp to DempCampToronto. Hmmm.
We'll have to make sure the Geo extension is a little more resiliant to bad data in the cookies. Something went wrong when I tried to post this. We also have to hook up geocoding between the Address extension and the Geo extension. I also note that the Add Event/Event Name hook is a little confused. A more work for the weary.
Anything and everything about the semantic web, microformats and structured blogging. We're building this site live, so expect more than occasional flakiness.