Since the last summary two month ago KDE Itinerary has had its 21.12 release and is already receiving new features for the next one, such as manually added train and bus trips or new additional information displayed in the timeline.

New Features

Manually added train trips

Getting train or bus trips into KDE Itinerary so far was only possible by importing the corresponding ticket, manual editing wasn’t available. This makes sense as in order to function properly we need trip data that actually matches the schedule and contains coordinates or identifiers for efficiently querying for realtime updates.

However that’s a problem for users with some form of flat rate ticket, they might not have a corresponding ticket for each trip. Therefore it will become possible to add train or bus trips from a online journey search, basically as if we’d have an embedded KTrip for this.

To make this work conveniently we needed a location picker, which involves a name-based online search for stations. KPublicTransport provides that since the very beginning, but is does have a problem: which online backend do we query? Without further instructions that will be all 70+ of them, which is very inefficient and will produce poor results.

KTrip addresses this by asking the user to explicitly select an online backend. That works, but given the amount of backends we have this isn’t really ideal. For Itinerary we took a slightly different approach. For the location search you just have to select the corresponding country, and with that information KPublicTransport is now able to automatically pick as few as possible backends to perform the location search.

Screenshot KDE Itinerary's train station search page.
Train station picker in KDE Itinerary.

Since Itinerary knows the location you will be in at a given time, that is already selected for you correctly in most cases, and a shared location history further speeds up the location search.

Unfortunately there is still one blocking issue, this needs the so far unreleased kirigami-addons module for selecting the departure time. We therefore cannot enable this feature unconditionally yet. If your package/platform has kirigami-addons and you can’t wait to try this, it is accessible in the timeline context menu with development mode enabled.

Public holidays in the timeline

KDE Itinerary can now also show more information in timeline day header elements. Most prominently this is used to show public holidays, at the location you are in on the given day.

Screenshot of KDE Itinerary's timeline day header showing a public holiday.
KDE Itinerary timeline day header showing a public holiday.

This should help to avoid surprises like the public holiday in the middle of the week during Akademy 2018 :)

Currency conversion rates

Similarly, the timeline location information cards now also contain currency information when entering a country with a different currency than is used in your home country. When enabled this also includes the current conversion rate (off by default, as this requires online access).

Screenshot KDE Itinerary's timeline showing a country information card with the currency exchange rate.
Currency information in the itinerary timeline.

Infrastructure Work

On Android there is a standardized mechanism to bring up the user’s favorite map application for a given location, using geo: URIs. Those work on Linux too, but so far we couldn’t rely on them, requiring hardcoded alternatives which result in duplicate code and sub-optimal user experiences.

This has two reasons:

  • No graphical user interface for selecting the preferred application to handle geo: URIs, in case there are multiple applications able to handle them.
  • No guarantee that there would be anything able to handle geo: URIs at all.

Both problems have now been addressed. With Plasma 5.24 there the “Default Applications” system settings module will allow to pick the default map application.

Screenshot of Plasma's System Settings Default Application module showing the default map application selection.
Plasma System Settings default geo: URL handler configuration.

And with KDE Frameworks 5.91 there is now always at least a fallback handler for geo: URIs that translates them to corresponding OpenStreetMap URLs and opens those in a web browser. This is not limited to OSM, it only takes a .desktop file to add support for other web-based maps (see MR for examples).

While this will help Itinerary it’s in no way limited to that, similar code is found in KAddressBook or Kalendar as well for example.

Fixes & Improvements

Travel document extractor

  • Only consider rectangular strokes for the PDF vector barcode detection. This fixes other vector graphics in e.g. Dutch vaccination certificate PDF documents interfering with vector barcode detection.
  • Make the VIA Rail extractor work both with a full PDF or just the barcode.
  • Add new extractor scripts for Amtrak and Skymark booking emails.
  • Fixes for the SNCF and Vitolus extractor scripts.

Public transport data

  • Make platform comparison consider platform section information. This fixes erroneous platform change warnings when schedule and live data differ in the amount of platform section details only.
  • Fix Navitia location queries when querying for multiple different location types.
  • Support EFA floor level difference attributes. This results in more reliable indoor navigation instructions.
  • Support the alternative Hafas platform format.

Indoor maps

  • Fix station map platforms being selected wrongly without live data.
  • Improved translations of OSM map element details.
  • Improved opening hours parsing for expressions containing common errors or other deviations from the specification, or use localized wording.

Itinerary app

  • Fix issues with wrong trip groupings due to the same city detection getting confused in densely populated areas.
  • Hide the booking section for train and bus reservations when empty. That can happen now that we can create such trips manually.
  • Fix health certificate ordering when facing invalid dates, and remember the last selected one.
  • Improve the display of vaccination times.

Contribute

Feedback and travel document samples are very much welcome, but with travel remaining difficult there are plenty of other things that can be done from home as well. The KDE Itinerary workboard or the more specialized indoor map workboard show what’s on the todo list, and are a good place for collecting new ideas. For questions and suggestions, please feel free to join us on the KDE PIM mailing list or in the #kontact channel on Matrix.