We’ve always been focussed on optimising our site for the user experience; however, the introduction of Core Web Vitals has provided us with an opportunity to capitalize on our investments to ensure we’re ahead of the curve for when they come into effect. I manage the Front-End teams at Trainline but it’s been a cross-functional effort – working closely with the Back-End to ensure we’re optimizing performance at every level.
We worked on establishing a baseline as it’s the most important step and then we built from there, layering on top of the back end with APIs and then the website – the user experience is a cumulation of all of these. A baseline allows you to analyze your performance, which provides a foundation for you to build your hypotheses.
For example, we realised we could optimize how we were communicating to our data platform by doing HTTP connection pooling in our web application,  which allowed us to shave off seconds on the overall booking flow. Measurement was then the key in ensuring we could learn from our approach and enabling us to iterate on what we had built.
Creating an optimal user experience comes down to several factors including the perceived load time, interactivity, visual stability and creating a balance of these so the site behaves and loads as the user would expect. The key point is that there’s not a single speed metric any one team should align themselves to, as in our experience, optimising on one often means compromising on another, which ultimately impacts the user experience.
We aligned our approach according to the user’s priorities, for example, on our homepage we’ve focussed on making the journey search widget become interactive as soon as possible, so that customers do not have to wait for other elements to load before they can begin inputting their query. Search is a key component of the Trainline user experience which is why we focussed on this.