Skip to content
This repository has been archived by the owner on Mar 8, 2018. It is now read-only.
TomSteinberg edited this page Sep 28, 2011 · 17 revisions

What is FixMyTransport?

FixMyTransport was built to help people get common public transport problems resolved. It is targeted specifically at smaller problems such as persistently broken ticket machines, buses that always leave early, or silly rules that appear to do nothing but create inconvenience for travellers.

It is an open source project run by mySociety, and we are keen for people to use it elsewhere.

Can I have a version in my country/city?

We are keen for people to copy and adapt FixMyTransport to run in their own countries, regions, cities and languages. The code is open source, and we are keen for people to re-use it. In particular we are very keen to avoid people re-coding this website from scratch.

However, FixMyTransport’s codebase has not been optimised to make it particularly easy to reinstall. And, of course, world transport systems vary quite a lot, as does the availability of data about them. So if you are considering replicating the service, please think deeply about how much work it might be to get all the data required to make it work. Start small and grow is our advice.

We also strongly recommend that if you are thinking about re-installing this service you get in touch and schedule a Skype call with us to discuss the process.

What technology is it built on?

It's built in Ruby (1.8.7) on Rails (2.3 series), and Postgres with PostGIS (http://postgis.refractions.net/).

Is it easy to install?

To be totally honest, it's not trivial, no. There is a readme to help you install it, but it is not a software package optimised for easy installation yet. Work with us, though, and we'll help you get it done.

What else will I need to have?

You'll need to either have access to a data source for public transport routes, stops and stations (and their geographic locations), or to collect it. You'll also need some way of deriving a relationship between stops and stations and a hierarchy of place names. You'll also need to know who is responsible for fixing problems at these stops and stations, and on the routes - i.e. who is responsible for maintaining the stations, who is responsible for bus routes - are they run by local government, or by private operators? You'll need to gather contact email addresses for these responsible organisations - it doesn't need to be a complete set to start with, but the site will be unsatisfying to use unless you have a reasonable fraction of the transport locations covered. If you want to support finding transport locations by postcode/zip code, you'll need a way of mapping postcodes to coordinates.

What are the typical user journeys?

A typical user journey would see the user first finding the transport location they want to report a problem for. They would then write the subject line and content for a problem report email. They are then offered a choice of creating a page for gathering support from other people for their problem, or simply reporting it to the responsible organisation. FixMyTransport determines the responsible organisation based on the transport location.

If the user chooses to gather support, they are asked to provide a headline which will encourage other people to join their campaign. They are taken to a campaign page that has a summary of the actions taken so far, and a choice of further actions the user can take to get their problem resolved - adding photos, writing to the organisation again, sharing their campaign on Facebook and Twitter. Any response emails from the responsible organisations are automatically published on this page too.

If the user chooses just to submit a problem report, they are taken to their problem report page, and any response emails go back directly to them. As with the campaign page, the user or other people can add comments on the page.

What does the data model look like?

We've written it up here

How do I contact you?

Mail us at team@fixmytransport.com