Parliament on Rails: Constructing a Social Web Application from Semi-structured Data

Rob McKinnon

Date: Wednesday 19 September 2007
Time: 16:15 - 17:05
Location: Saal Maritim B

How can a website that improves Parliamentary democracy emerge from appropriate approaches to Rails development? We'll overview the construction of, a web site that helps people monitor New Zealand's parliament. We'll see how Rails makes it easy to build social web applications using semi-structured documents sourced from legacy web content.

Start designing with data How can you acquire data from legacy web applications if you don't have database access? Screen-scraping becomes a viable option with Hpricot or REXML's SAX parser. Are relational tables malleable enough to store semi-structured documents, like parliamentary debate transcripts? ActiveRecord's single table inheritance and polymorphic associations can lend us a hand.

Good URLs mark design quality Design customized routes to obtain URL structures that reflect first order objects from your domain. Lay claim to the domain space by using unambiguous, readable, reliable, and hierarchical URLs.

Make your data discoverable It's easy to get good Google page rank scores, isn't it? Maintain user flow by exposing all axes along which data can be navigated. Appropriate linking of destination pages with list views can assist navigation flow.

Allow communities to form Letting users publicly identify ways in which they relate to data allows communities of interest to emerge. Features are planned to allow users to mark on that they're following, blogging about or somehow interacting with a particular issue. McKinnon will share the process of adding social features.

News and Coverage