After almost 19 month I finally got to attend a non-virtual event for KDE again, the ITS City Hack Hamburg 2021 last weekend. This has been a good opportunity for exchange and connecting with the Open Transport community, people and organizations we are collaborating with to make applications like KDE Itinerary or KTrip possible.

OpenTripPlanner and KPublicTransport

Meeting some of the people working on OpenTripPlanner (OTP) and operating instances of that has been particularly useful for KPublicTransport, our client library for realtime public transport data queries.

One issue we had been struggling with is automatically selecting the right instance for a given location. This has been complicated by some installations reporting bizarre bounding polygons. This is typically caused by a few issues in the data consumed by OTP. I got shown diagnostic tools and new API to identify those problems, which allows better bug reports to upstream, fixing OSM input data ourselves, and applying outlier filters we already have in the library anyway.

Screenshot of the OpenTripPlanner diagnostic interface showing an unintended spike to the south-west.
OpenTripPlanner diagnostic interface showing an unintended spike to the south-west.

A big topic at the event was combining public transport with means of individual transport for the first and last parts of a journey, say your own bike that you either need to park at the first station, or take with you on the train. This can evolve into rather complex scenarios the routing engines such as OTP have to deal with (where are available parking spots? is taking a bike on a train allowed and practically possible at that time of day? etc).

Our client API hasn’t exposed any of that so far, we just implicitly assumed the first and last part of a journey are traveled by walking. This is changing now, the first bits for supporting much fine-grained control over individual transport modes have already been integrated. Applications will also need support for this though, e.g. for remembering where you parked your own vehicle on the outbound journey, as the routing engine otherwise doesn’t know where you need to go to pick it up again for the return trip.

Events and the pandemic

Another interesting aspect was of course to see how non-virtual events can look like now, in particular also looking at how we can get KDE meetings/events back.

Both being fully vaccinated and daily rapid antigen tests were mandatory (which is way above the legally required minimum here), and a very spacious and well ventilated venue added some extra safety on top.

Masks reach their limits though once you eat together, or have a chat over coffee, which is inevitable over a course of 8+ hours per day.

I also found clear communication about the planned safety measure before signing up something that helped me decide to attend.

Technically this was a hybrid event, there was live streaming and remote participation via chat/video calls, but it’s hard to judge how well that worked for remote attendees from the on-site point-of-view.

A nice side-effect of the daily testing requirement was that I finally got my hands on a production EU DGC test certificate, which both KDE Itinerary and Plasma Mobile’s vaccination certificate manager were able to show without problems, in more detail than some of the official apps even.

Screenshot of Vakzination showing a European digital COVID-19 test certficate.
Plasma Mobile's vaccination certificate app showing details of an EU DGC test certificate.

More events are coming, next week we’ll celebrate KDE’s 25th birthday, which will be an opportunity to also finally meet a few KDE people again who I haven’t seen in a long time. Very much looking forward to that :)