This project is a web-based system to display information about public transport in real time.
Bus positions and other parameters (e.g. number of people onboard) are shown on a map of Matera in real time. The map is accessible to citizens via Web on traditional browsers, smartphones or touch screens. Other functionalities include the possibility to calculate best routes, find information about bus accessibility for disabled people and so forth.
In addition, citizens can search for nearby bus stops or next buses (with information about delays and scheduled arrival times) with few taps on their smartphones.
Finally, happenings or interesting places in Matera can be promoted on the interactive web map or on smartphone apps.
The main challenge this project is aiming to solve is the number 12 (system to see routes and timetables of public transport). However, it covers other challenges, too, for example, numbers 7 (support of disability), 1 (visibility for happenings), 5 (global view of the city). For instance, information about accessibility for disabled people can be shown on smartphone timetables or events and places around the city can be promoted on bus route maps.
The following design principles will be considered a checklist to evaluate the success of the project.
- Seamless integration with everyday life of Matera citizens. Science fiction writer Arthur Clarke said that any sufficiently advanced technology is indistinguishable from magic. Interpreted as a design principle, this sentence means that a technology should be usable in a natural way, i.e. without the need of a book of instructions, in an intuitive and familiar way.
- Freedom. Our recent history has taught us that the Web can be turned into a surveillance system. The only way to avoid this possibility is to empower citizens and give them the control and the full understanding of technology. For this reason software and hardware of this project must remain free and open. In addition, this will rule out possible lock-ins and will allow other people around the world to replicate the experiments of Matera at their home.
- Openness. From the beginning I will try to open the project to external contributions. The project will be a full success if other people around the world will write pieces of code or will donate their ideas.
What I need to know
It could be useful to know the actual legacy information system used by public transport. For example, where information about timetables are stored, if bus stops, other point of interest and routes are already geo-localized (e.g. their positions are stored somewhere in a digital record, xls file or whatever) and if buses have already a gps tracking system onboard and, in this case, if it is enabled for remote communication towards a centralized server.
I would like to know if there are people with a complementary set of skills with respect to mine. For example, I might need a designer who masters html/css very well and an electrical engineer.
My Next Bus in London is an Android app which displays nearest bus stops or available busses. I like this app because it is very simple and intuitive. While timetables are usually boring and complicated to look through, users of this app do not have to search for anything, but information flows in a natural way. I am planning to follow the same idea for Matera timetables. This video is a demo of interactive screens as city guides in Helsinki and it is a very nice example of what bus stops in Matera could look like. People can get information about bus routes/stops as well as their sourrandings (e.g. events, places and so forth).
Another source of inspiration is this project where London underground trains are shown on a map in quasi real time. That is so awesome! It would be very cool if Matera can have a similar system for public transport. A similar project is this one where info and positions about trains in Germany are shown in real time.
Mappo is my personal pet project. It is a framework to display data on a map in real time. I would like to start from this code base to implement the prototype for Matera. You can find a demo showing main functionalities to technical people here.
A tentative roadmap consists in the following phases, which can be carried out also in parallel.
- Data gathering (onboard tracking device). How to collect relevant data onboard (e.g. gps positioning, number of people) and to transmit them to a remote server? I am going to build a simple prototype in Arduino in order to get (at least) gps positions and send them via http to a server using a 3G connection.
- Real time APIs. These are the core APIs to get information about positions, times, delays and so on. The APIs will rely on Meteor framework and clients (mobile or web) can use them implementing Meteor Distributed Data Protocol.
- Mobile app. The app could be in Android or could be an HTML app. If iOS experts are present in Matera, we can also consider to have a version for iPhone. The use case is the following scenario: citizens want to find the nearest bus stop or know if the bus they are waiting for is late. I am going to replicate My Next Bus in London app (see above).
- Interactive map. A web-based map with positions of buses in real time accessible via a traditional web browser or via touch screens at bus stops. The map can be enriched with widgets to calculate routes, promote happenings or places in Matera or whatever else.
In month 1, I will work on the onboard tracking device and I will gather requirements to be developed in next phases with the help of Matera citizens. The approach I am going to follow is to develop small prototypes people can play with.
In months 2 and 3, I will work on APIs, the Interactive app and then the mobile app. I am planning to build a Minimum Viable Product, that is, an implementation of a subset of features that allow the product to be deployed and tested in real life scenarios. I am planning to involve Matera citizens in the phase of analysis and design and as beta testers in each iterations of this process. The remaining month will be used to wire up the whole system and to deploy it on the field.