dynamic generation of public transport information for tourists (CS part)

John Olegario


Supervised by Martin Caminada; Moderated by Federico Cerutti

One of the main issues that independent tourists face when travelling in for instance South East Asia is how to obtain reliable public transport information. Whereas the Western world has online travel planners like Traveline Cymru (Wales), 9292OV (the Netherlands) or Mobiliteits Zentral (Luxembourg) these tend to be absent in countries like Malaysia and the Philippines. In quite some cases, timetables of different transport operators do exit but are simply not published online, and only announced at the relevant transport terminal, if at all.

To deal with this problem, the proposal is to build a smartphone app (Android) that dynamically collects information from a particular public transport user base. For instance, when travelling from the bus terminal in El Nido (Palawan) to Puerto Princesa, the app would detect that the user is leaving the departure terminal at (say) 10am at a speed that is greater than walking, and arrive at the destination terminal at (say) 4pm. It would then infer (optionally aided by additional information) that a public transport connection exists (on, say, weekdays) from El Nido to Puerto Princesa. This information would then be stored on a server, so that it can be consulted by any future users interested in travelling from El Nido to Puerto Princesa.

Apart from information automatically obtained by the app (using GPS data and Google Maps) it is also possible to supplement this with data that is entered manually by the user. This could be short reviews (including a star-based rating), a photo of the transport vehicle (like bus, van or jeepney) and a photo of any timetables announced at the transport terminal.

The business case of such an app is the topic of another project. In the current project, we look mainly at the design and implementation of the app. The overall architecture is expected to consist of three parts: (1) the data collection part. This consists of information that is manually entered by the user, as well as of data that is automatically generated (based on location, speed and the proximity of a transport terminal on Google maps) (2) the data storage part. For this, a back-end server is needed to centrally store the information collected by the app users (3) the data display part. It is assumed that this takes place in the same app as in (1). Users can query the server for connections between a departure and arrival point

Initial Plan (04/02/2018) [Zip Archive]

Final Report (11/05/2018) [Zip Archive]

Publication Form