MultiModal and NationalRail UK64

I’ve created this Topic to provide some comments and feedback on two new Apps in openRepos by “anarchy_in_the_uk”

Unfortunately the facility to provide Comments on these Apps in OpenRepos doesn’t seem to have been enabled hence this Topic. I hope the Author is on the Forum and if Comments could be enabled in OpenRepos that would be great.

I’ll post some specific comments on the two Apps later but wanted to thank anarchy_in_the_uk for producing two much needed and really useful Apps for those of us in the UK. They both work on the 64bit Xperia 10ii and are worthy successors to London Sail in the Jolla Store and National Rail LDBWS.

Both access the transport provider’s API to give access to real time departure information for services of Transport for London (TfL) and UK National Rail. The information provided is feature rich and I hope that @flypig can feature these Apps in an up coming edition of Community News.

Of the two Apps, National Rail is more mature being built on earlier code but MultiModal is perhaps the most exciting being able to show details of TfL Bus, Underground, Tram and TfL Rail services. At the moment MultiModal just offers an initial search screen which returns a list of matching locations that match the strings entered. These go on to show up to date departure data and the time until the service arrives at the stop.

If you are a Sailfish user in the UK who uses UK National Rail or TfL services I recommend that you download these both from OpenRepos.

Some screenshots from MultiModal


Thanks for the tip @ninepine. I’ve taken note :spiral_notepad:


I think using this forum makes more sense than the comments on OpenRepos.


With GPS enabled stops/stations located in the near vicinity should now appear without the need to search for their names (or SMS codes).


Also stops en route for a specific bus/train should now look more visually appealing:


@cyberpunk Really great to see MultiModial move through a number of new iterations to version 0.6-1

During this time a nice splash screen has been introduced (would be great as an “About” screen image too) together with GPS so that my local transport stops are shown. Initially this only seemed to work on my Xperia 10ii but now also works on my Xperia XA2.

It’s also clear that work has been done on the API interface. While some of my findings may have been due to lack of train services at the Bank Holiday some of the more complex underground stations were missing data or showing another route.

Paddington, being one of the most complex Underground stations on the network, was a case in point. Originally showing Bakerloo line trains on the entry for the Hammersmith and City line, and nothing under the Bakerloo entry this has been much improved in 0.6-1. Thank you!

The following is a now out of date screenshot showing Bakerloo Line trains being returned for Hammersmith and City at Paddington in an early version.

This is much improved in 0.6-1

Fantastic progress and much appreciated!

Thank you!

1 Like

Thank you.

Interestingly the API call indeed returns also Bakerloo trains for this stop:

vehicleId	"201"
naptanId	"940GZZLUPAH"
stationName	"Paddington (H&C Line)-Underground"
lineId	"bakerloo"
lineName	"Bakerloo"
platformName	"Northbound - Platform 3"

I could try to filter out all lines that are not associated with a given tube stop point.

1 Like

I suspect that there will be a number of oddities with the TfL data but it’s better to have some superfluous data than no data at all. The other entry for Paddington underground (Bakerloo District etc) was returning no trains at all but now shows trains which is great.

Not a priority for me to filter (nice but not essential).

The richness of the data displayed is what makes the App really stand out.

The addition of bus route stops and arrival times is really helpful.

For me being able to save favourite locations would be a bigger help than massaging unusual returns from the API (and knowing how to support your work).



The view should now filter out all lines that are not supposed to appear at a specific stop:

Also updated the routing database so it’s not completely relying on the data from the 32bit version imported back in 2017. :grinning:


Should only appear on the first startup after an update.

This should come in one if the next releases.


@cypherpunk thanks for the update but unfortunately the filter has now removed Bakerloo Line Underground trains from both of the two entries for Underground Lines at Paddington.

As you identified the Bakerloo line seems to be included in the API under Hammersmith and City in the data returned by TfL. It’s something for TfL to fix I think.

By the way the search facility on the App is excellent but is literal when it comes to punctuation (apostrophes and periods).

Enter “Kings Cross” and you will get nothing returned because TfL spell “King’s Cross” with an apostrophe. Not sure how you get round this but being able to find points that contain punctuation when they are omitted from the search string would be really helpful. Having worked on Grays Inn Road, which is sometimes referred to as Gray’s Inn Road (How TfL spell it but not how the Council write the road signs!) I know that it is a subject for pedants to enjoy but a nightmare for programmers!

Great work though and thank you again for what you’re doing.

1 Like

Live updates on the Bakerloo Line seem to disabled at the moment, according to the TfL site:

" Live Updates
Live updates are not available for this location at the moment. Please see Timetables to check the frequency of your service."

I will try to replicate the issue as soon as the necessary data becomes available again.


Added some very basic routing:

1 Like

Still not perfect but with basic support for National Rail services:

1 Like

I learned to hate SOAP but it looks like integrating National Rail departures into MultiModal could actually be done:

1 Like

National Rail support is (partially) integrated from version 0.12 on.


I’ve cobbled together a GTFS importer for MultiModal, should anyone be interested in making MM work outside London/UK:


I’ve added some additional information to the National Rail page in MultiModal, like number of carriages (where available) etc.

I’m not yet sure where to put long text fields like “reason for cancellation” etc.

Fantastic to see the speed of development in MultiModal. Great work!

The reason for cancellation could go in the “route” screen where the expected arrival times are shown. Perhaps as an additional piece of text at the end of the page. If the train is cancelled then at some point on the route list it will progress no further having been cancelled and having the reason there on that page might be helpful.

On a separate point relating to this screen showing the route and arrival times, the data for my line doesn’t show.

I live on the Tattenham Corner line which is unusual in that the line starts in London (London Bridge or London Victoria) as a train for both Caterham and Tattenham Corner with the train splitting at Purley. At Purley the front carriages go to Caterham and the back carriages go to Tattenham Corner.

Here’s the train in MultiModal correctly showing as going to Caterham and Tattenham Corner at London Bridge. (The NationalRail App only shows the Caterham part)

When you select the train however the App can’t display the data as it is expecting a single list whereas there will be a number of elements making up the different sections of the train.
In a similar way the return journey involves joining two trains, one from Tattenham Corner and the other from Caterham when they join together at Purley.

Screenshot showing no station list for the Caterham and Tattenham Corner line train.

Now if you could show both sections of the train in MultiModal and allow swiping between each part of the train that really would be great @cypherpunk :star_struck:

As it turned out I had to rewrite large parts of the XML parser but the page should not crash any more:

1 Like