Last week, a new webservice for Montrealers using city information was launched. The developer, Kent Mewhort, got in touch with us and we were able to get him to tell us a bit about his new site.
What is Déchets Montréal?
Earlier this week, I launched “www.dechetsmontreal.ca” DéchetsMontreal, a website to provide Montrealers with trash and recycling schedules that are importable into existing calendars (such as iCalendar or Google Calendar). My aim is to make the task of remembering to take out the trash just a little bit easier, and also serve as an example of how value can, with relative ease, be added to city data when it is made freely available.
What was the development process like?
The development process for this website was, on the whole, quite
painless. I was able to take advantage of some great open source software and openly-accessible APIs. To locate street addresses within the city, I simply make remote calls to Google’s Geocoder API. The website interface sits on top of Drupal and an open-source Drupal plugin, Calendar. With a bit of tweaking, I was easily able to get this module both displaying trash schedules and providing output in the iCal format (which is compatible with most calendar software).
In terms of the format of the data, what could the city improve to encourage more applications like yours?
It’s great that the city makes data for these trash and recycling schedules available on-line. It’s an excellent start. However, I’d like to highlight the importance of open, machine-readable data formats. By far, the most tedious part of developing DéchetsMontreal was writing the code to scrape the city schedule information into a suitable format. For most neighbourhoods, a garbage collection schedule on the city website looks something like the following.
Collection of household waste
Collection takes place on TUESDAYS and FRIDAYS. Leave objects in designated area (street or back lane) between 8:00 a.m. and 4:00 p.m. on collection day.
The information for each type of collection — recycling, green waste, and large object collection — is on the same webpage. Thus, for each neighborhood, it is first necessary to identify and parse out the schedule for each type of collection. Then, custom code must parse this text to find the applicable days of the week. Additionally, while this works for most schedules, some collections specify dates rather than the repeating days of the week. It is necessary to also handle this alternative format.
What happens if the information is updated?
Problematically, aside from these implementation intricacies, the text-based schedule format on the city website poses other limitations. I cache all of the schedule the data to limit the load on the city server, but there is no way to determine when the data is updated. I must regularly re-retrieve and reparse the information. Moreover, speaking of server load, everybody loses out when developers have to resort to text scraping. It’s a resource-intensive process on my server, and it’s much more data to download from the city server.
Any other issues you see with the data?
The current format also poses obstacles for creating bilingual services. While I’ve tried to ensure that most of the site is bilingual, the schedule details are, as of yet, only available in English. To provide these details in both languages will require different implementations to scrape and parse the text in each language. On the other hand, if this data was made available through an open data portal and in a machine-readable format, the task would be much easier. Then, I could simply write text in English and French and plug-in the dates, times, and special instructions.
Any last comments on open-data and the city of Montreal?
I’m encouraged to see the City of Montreal increasingly posting data on-line… now we just need open formats and an open portal!
Is this an open-source project?
Yes, the complete source code is now available at http://github.com/kmewhort/DechetsMontreal.
Comments and suggestions are always welcome to mailto:email@example.com
The website for DéchetsMontreal is http://www.dechetsmontreal.ca
This is exciting because despite the barriers that currently exist, developers are finding ways to add value to city data and to create services for their fellow citizens. Thanks, Kent, and we hope the city starts to make it easier for people like you to create these sort of applications in the future.