publictransportation, call to developers

As I have said in the previous blog post, I’m working on an “universal” publictransportation application for Linux based mobile phones (and maybe desktop). It primarily targets the N9, but could be ported into the N900 quite easily (I don’t own a N900 so cannot do the port). It will also be released for Jolla phones, when I will get one.

Basically, publictransportation is an application that tries to get realtime waiting time in public transportation stations, like a bus stop, or a train station, or maybe an airport. Currently, some bus companies are supported, for Lausanne, Annency and Lille.

Design

What I found boring about all transportation applications released by companies is that they were focused on their own lines instead of focusing on being efficient. Taking the Lausanne’s transportation company, their mobile application provides a list of lines, followed by the different “journeys” (from > to) and then, to a list of stations. When you search for waiting time, you don’t want to dig into the whole architecture of the network, you want to search for a station, and then, select the line you want, and get informations.

publictransportation currently implements searching for a station (with more features like “searching for a direction”, “map”, planned). What makes it more powerful is that it unites all public transportation information sources that are implemented (search for both CFF trains and TL buses at “Lausanne Gare” (railway station))

In order to do that, it uses a “backend” system, that are daemon scripts launched by the main application, that are used to communicate informations to the main application. Communication is done through DBus (that’s why there is a hard dependency on Linux), and those daemon can be either scripts (python, C++, whatever you want that supports DBus) or C++/Qt plugins, that are loaded with a daemon application, and become a dameon.

Call to developers

Although it is very easy to scrap websites to get informations about public transportation waiting time, I obviously cannot do this for all public transportation companies in the world. That’s why I’m making a call to developers, to develop these small daemons or plugins that could be integrated in my application.

The documentation is not really ready yet, but APIs are quite simple, and the plugins that are shipped explains how to write a plugin. I will try to update documentation as quick as I can. But if you are interested, leave a comment, ping me on twitter, and ask me what you don’t understand.

Message to users

Dear users who test my apps. First, thank you for doing that. It is very kind to spend time on it and find what do not work. Second, for publictransportation, if your country / city is not supported, ask me gently if I can support it, and provide a (mobile) website with those informations. I will be happy to add yet another city 🙂

Downloads, testing, source etc.

It can be nice to add my repository in order to automatically get updates. Add the following to /etc/apt/sources.list.d/sk.list (as root)

deb http://repo.pub.meego.com//home:/sfietkonstantin/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_standard/ ./

Or simply by doing

devel-su # enter root password
echo "deb http://repo.pub.meego.com//home:/sfietkonstantin/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_standard/ ./" > /etc/sources.list.d/sk.list
apt-get update

Then you can install publictransportation with
apt-get install publictransportation

Or you can download a package here.

Source can be found on gitorious. Patches are welcome.

I will setup a bugtracker when I have time.

2 thoughts on “publictransportation, call to developers

Leave a comment