The last time I looked, it was a week ago. Where has the week gone?
First off, we had three problem this week. Although the public-facing site is free to use, we operate the site professionally. Part of that involves being transparent and honest, especially when things go wrong. So, what went wrong?
- The outage on Tuesday 26th July was caused by scheduled maintenance to increase capacity which shouldn’t have affected the site. However, due to the volume of messages we receive during the evening rush hour, we didn’t have enough spare capacity to cope. We lost several minutes worth of messages which were held within one of the systems we took down, and these weren’t replicated on to the second system. The site appeared to have suffered an outage, with trains appearing in the wrong position
- The outage on Wednesday 27th July was caused by more scheduled maintenance and a problem with some database commands. Rather than deleting all old schedules prior to 6th July, it deleted all schedules prior to 6th August, which was everything. As a result, we had to rebuild our timetable database from a backup. We took the decision not to restore the full backup as it would take too long, and we wanted to get the site back up and running quickly
- The outage on the Thursday 28th July was related to the outage the previous evening. One of the database queries that runs to create trains runs very slowly under some circumstances, taking up to 4 seconds to find data rather than about 4 milliseconds. As a result, every message we received took far longer to process and eventually one of the processes on the server failed. We didn’t notice until the next morning as our automated monitoring doesn’t currently check for this specific scenario. However, when we found out what had happened, we restarted services, found the issue and put in a tactical fix to get the site up and running. We lost about 9 hours worth of real-time data
So that we’re not hit by these problems in the future, we’re fine-tuning how we operate the site. Nobody likes outages!
That’s the bad news dealt with – on to the good news! What’s new on the site this week?
- The Banbury area is being resignalled, and we’ve updated the Didcot Parkway to Banbury map to include the renumbered platforms at Oxford, the new line toward Oxford Parkway (moved from the Chilterns map) and extended the map further toward Leamington Spa. As the new signalling is commissioned, you’ll be able to see signals light up on the map
- When clicking on a location in a schedule for a train which has run, the location link is supposed to take you to the location at the time the train was booked. However, it was taking you to the time in GMT, not local time – so we’ve fixed it to return the right time
- The Grove Park to Bromley North and Hildenborough map now includes route indications all the way to Orpington, which we’ll be extending in the coming weeks. Due to data limitations, we can’t tell which sets of points some routes use, so there may be a green signal but no route set where there are alternate routes
- On the East London Line map, the crossover between platforms 2 and 3 at Dalston Junction was mis-positioned, causing conflicting routes to appear to be set. This has now been moved so it’s possible to make a move from signal 206 to platform 3 at the same time as a train moves from signal 203 to signal 211
- On the Esher to Basingstoke map, a route from signal 132 was mis-drawn, which has now been fixed
- On the Exeter to Liskeard map, the inter-map links weren’t working, which we’ve tidied up
Until next time, enjoy the new Banbury map and the rest of the fixes!
Fresh back from a day in Brighton, we’ve managed to finish the latest release of OpenTrainTimes! There are four important things to note this week:
First, GB Railfreight services now appear in the timetable pages with headcodes – no more FRGT! They’ve been appearing in the real-time maps for months now, but I’ve finally put the schedules in the clear. It’s possible we can make other operators’ services appear with headcodes too – if you work a freight or engineering train operator and want your trains to be shown in the clear, send us an email and we’ll set the ball rolling.
Secondly, the 3Squared Mobile Consist Application was launched a few weeks ago, which offers huge advantages to preparing train consists over direct input to TOPS. We now show trains which have been ‘departed’ via the MCA on the schedule pages. Check the key at the bottom of the page for which icon is which.
Third, we have new map covering the gap between Forest Hill and East Croydon maps. Everyone, meet Forest Hill to the East Croydon approaches, plus Crystal Palace! This includes part of Selhurst Depot, at least the bits which report movements to Network Rail’s train describers.
As usual, there are always a number of bugs and enhancements, so thanks again to everyone for sending them in. Here’s the list of smaller things:
- Some signals on the North Lincs map in the loop at Grimsby were facing the wrong way
- Recently, a test train ran to prove the electrification in the Canal Tunnels, and from this we’ve fixed TWH1025 on the Thameslink Core map which was mis-positioned
- The St Pancras to Harpenden map had a duplicate signal at St Albans, now corrected to show the correct signal number
- Routes from OX61, OX62 and OX64 weren’t showing on the South Croydon to Uckfield map, so we’ve fixed these
- There are lots more route indications drawn on the Thirsk and Eaglescliffe to Durham map, Horley to Hassocks map and the Esher to Basingstoke map to give better indications of where trains will be routed, plus additional ground position light signals and the siding at Surbiton have been added
- Down on the Exeter St Davids to Liskeard map, some signals and track at Mount Gould near Laira Depot were incorrectly drawn, and the missing signals between Newton Abbot and Dawlish Warren have been added in
- One of the more recent maps, Leyland to Lancaster, was missing platform numbers at Preston, which we’ve added in
So, until next time – enjoy the maps!
Say hello to our Leyland to Lancaster map, including Preston – by popular demand – which was thrown together in a few spare hours this week, along with these little fixes to existing maps:
- On the Slough map, the platform at Burnham has been re-positioned in to the correct loctaion
- On the Epsom map, the platform at Hinchley Wood has also been re-positioned in to the correct location
- The Esher to Basingstoke map now has route indications for the Woking area so you can see which platform trains will be routed toward before it happens
- Technical issues with the York map mean that the signal aspects were sometimes not updating for a long period of time. This turns out to be an issue in the signalling centre completely outside our control – so the incorrect indications are removed from the map so we don’t show you knowingly incorrect information. Also, a missing crossover has been put in north of the station
- On the Grove Park to Bromley North and Hildenborough map, some signals which share a berth with another signal (configured as ‘dual berths’ on the train describer) were never showing any trains. This has been fixed for Orpington, and we’ll be fixing the other maps from Ashford IECC ‘A’ soon
Now for a few facts. The new map of Lancaster is our 81st, all of which have been drawn by hand from scratch – every single one. There’s no magic system that can replace a human’s judgement on how to lay out a map and make it look clean and tidy. We’ve also got over 24,000 different signalling elements displayed on the maps – signals, routes, track circuits and ‘Train Ready to Start’ indicators.
Each month, we see about 35,000 unique users on the site, and most days there well over 200 simultaneous map users – everyone from Network Rail staff to train and freight operators, commuters, leisure travellers and enthusiasts. I don’t have statistics for the number of unique map users per day, but I’d be surprised if it wasn’t well upwards of a few thousand.
Until next time – probably in a few weeks – enjoy the new maps and please, please keep your emails pouring in!