The public transport companion that respects your privacy and your freedom.

Transportr is a non-profit app developed by people around the world to make using public transport as easy as possible wherever you are.

Available on F-Droid Available on Google Play
Transportr App Animation

Where does it work?

Orange countries are supported for long-distance travels. Pins on the map show regional or local transport networks that are supported. If you live close to a pin, check out this network. It might cover your area as well.

Attention: There is no guarantee for the correctness of the data. Please only use this app at your own risk.

Features

Routing & Directions
Get directions from any station to your destination. You current GPS position and addresses are also supported. Many transport networks also show delays and the platform the train leaves.
Maps
Do you need to walk to another station? Transportr shows you the way on the map or alternatively any external map application. It also shows all station or trip segments on the map as well.
Departures
Select any station and see the next departures. Many transport networks also show the delays.
Finding Nearby Stations
Use your current GPS position to find nearby stations or find stations close to an address or other stations.

These are just the main features. Many little ones are still waiting for you to discover them yourself.

Transportr App Animation

Contributing

Transportr is developed entirely by volunteers who like what they are doing. Contributions should be fun. They are both encouraged and appreciated.

There are many possible ways to contribute and for most of them you don't need to know how to program. Have a look at the options below and just get started! :)

Finding and Reporting Bugs

Every software has bugs. So does Transportr. If you ever find it to behave in a way you would not expect it to, please have a look at the list of open and closed issues to see if it already has been reported.

If the bug you have found is not reported already, please create a new issue and describe what exactly you did to produce the faulty behavior. Screenshots are always welcome to illustrate your description.

Testing Beta Releases

If you feel adventurous, you can test new versions of Transportr before they are released to the general public. These are made available via a special software channel for F-Droid. So please install F-Droid first and then follow these instructions for adding the special software channel to it.

You will then receive Transportr and all its updates via F-Droid. If you had it installed via the official F-Droid repository before, you will need to uninstall this version first before you can install the one from my software channel, because they are signed with different keys. Please note that you will lose all data when you uninstall Transportr.

Design and Graphics

Transportr should look pretty. People with design skills are encouraged to contribute those and help making Transportr look even better.

Transport Network Logos

Each transport network has its own logo. For some transport networks Transportr still doesn't have a logo, but shows a placeholder instead. You can send in as many logo graphics as you want. In the past, Transportr was using raster graphics in PNG format. Now, we are only accepting vector graphics. SVG files are collected in /art/networks and need to be converted into the Android vector format. There is tools on the internet that allow you to do this: svg2android or SvgToVectorDrawableConverter The name of the file should always be network_X_logo.xml where X is the short ID of the network in Transportr in lower case. Here is an example of Brazil (BR).

Ideally, you send in logo graphics with a Pull Request in Github. See Working with the Source code for more information. Alternatively, you can create a new issue in GitHub and just drag and drop the graphics in there.

Since Transportr offers a dark and a light theme, transparent backgrounds usually do not work for the logo. Please try the logo on black and white backgrounds first and if it does not work, just use a white background.

Trip Detail Header Graphics

When you search for directions and view a trip in detail, there's a header graphic at the top. Ideally, there's a different header graphic for each means of transport that can be shown depending on your specific trip. These graphics could even be localized per transport network showing a S-Bahn in Berlin and a TGV for long distance connections in France.

Translating Into Your Language

Translating Transportr is very easy. Just sign up for an account at Transifex. After you are logged in, go to the Transportr translation project. There you can click the "Request language" button if your language does not exist, or if you want to improve existing translations, apply for the respective language team.

What you translate there will then be included in the next release of Transportr.

Adding Support For More Regions

Ideally, Transportr will support the whole world some day. To achieve this, we rely on you to add support for more public transport networks. Transportr uses the public transport enabler library to access transport data. This library is the optimal place to add new transport networks. This way not only Transportr will benefit from your work, but also other apps using this library.

The easiest way to add your area to Transportr is to check if its data is already included in Navitia. If it is not there, you can check if your public transportation agencies are already providing their data to Google. There is a long list that you can consult. If you find your city there, a General Transit Feed Specification (GTFS) already exists for it. In the best case, this GTFS data is also published somewhere. Find out where it is published and then just contact Navitia for them to make this data available via their free web service API. Transportr can then use this API to work in your area. If the GTFS data exists, but is not published, please contact your public transport agencies and convince them to publish this data. A public service for the people should embrace Open Data and publish its data.

Powered by Navitia.io

So the data of your area is in Navitia already, that's great! Now there's just two steps missing of getting it into Transportr. Unfortunately, for those steps it is helpful to know how to use git and Java. But even if don't know those, getting the preconditions from above ready will help the next person to do it. At first, you need to get support for the area into the public transport enabler. Here's two examples from the past: Ontario and South-West of France. After your pull request has been accepted, you can move one adding the last final bit to Transportr. Here's the corresponding examples: Ontario and South-West of France. Once this pull request has been accepted as well, your area will be included in the next Transportr release.

In case your public transport agency is not working with Google and does not have GTFS data available for others to use, you can still check whether their system is based on HAFAS, EFA or TSI. Support for these systems is already in the public-transport-enabler, so it is probably easy to add your area.

If this also doesn't help you and you really want to see your area supported, you can create a GTFS file for it yourself. For this, it is helpful if you at least have access to schedule information in some form and know where the stops and lines are. The osm2gtfs script gets the latter information from OpenStreetMap and assists you with creating GTFS. Check out the video below for one example of making your own GTFS feed using osm2gtfs.

Working with the Source Code

If you want to start working on Transportr's code and if you haven't done already, you should familiarize yourself with Android development and set up a development environment.

The next step is to clone the source code repository. Please make sure to also clone the git submodules that contain external libraries. More information about building from source is available on GitHub.

If you want to do more than fixing bugs, please create an issue for the feature you want to work on at GitHub before doing any major work, so that other developers know about your plans, can coordinate, prevent duplicated work and discuss the best approach for your undertaking.

Missing features are documented in the issue tracker. Feel free to look there for ideas or to add your own.

There is also a list of beginner tasks for you to get started easily.

Free Software (Open Source)

This app is Free Software. It means that you are free to use, study, share and improve it. Its source code is public and can be inspected by everyone to make sure it only really does what it is supposed to do. This app respects your privacy and your freedom.

GNU GPLv3

Legally, you are allowed to redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.