what is rail

Website performance has become a crucial factor in the digital realm. And while initial page load time is an important factor to improve on to reduce bounce rates, it’s not the only concern to improving the overall user experience.

The truth is that users spend way more time waiting on different input responses than in the initial loading phase. What this means is that in order to keep your visitors on your site, the platform should be consistently performing optimally.

This is where the RAIL model comes into play.

RAIL

The Response Animation Idle Load model categorizes different user actions under these four main factors.

The Response Animation Idle Load or RAIL model is a concept that was designed in 2015 by Paul Irish and Google with the purpose of creating a site with quick load times and improving its performance. The model seeks to create user-centric platforms that combine exceptional UX and fast loads with improving aspects such as drag, tap, and scroll, offering a structure where the overall site can perform better.

When it comes to measuring site performance, experts usually state that there are several ways of measuring it in the context of a website. Some will swear by measuring the initial load time, while others will use the speed index. 

Truth be told, there are several metrics that can be used, and the RAIL model, by default, considers different contexts of visitor interaction instead of trying to score high on one specific performance index. Each of these contexts aims to reach a different goal in terms of performance because different contexts might call for different user expectations.

In this article, we’ll explore the different ways how to RAIL model tries to ensure better UX no matter the context.

Explaining RAIL

The acronym stands for the four main ways standing to explain general user action.

●    Response: Following the insertion of user input this determines the speed of getting a response. The main goal here is to get feedback within 100ms following a tap or a click on a device. Typically, this should feel to the user like the response is immediate.

●    Animation: This can be any kind of visual info, including dragging, scrolling, and more. The model’s aim is to finish this action in around 16ms, allowing the animation to keep working at 60fps, which is the ideal rate.

●    Idle: This is where background processes start to work, mostly those which don’t require additional loading. Normally, the idle phase will be less than 100ms or 50ms. Normally, the entire process should keep being within the initially stated 100ms response time.

●    Load: This is what defines how fast the first meaningful response (or paint) shows. It should take less than a second, and when it’s achieved, its main purpose is to sustain the performance of the app for the visitor throughout the session.

website coding screen
Image source: Unsplash

 

The impatient User VS. The Need for Speed

People often tend to blame the internet for shortening our attention spans. However, we as a species have always been more on the impatient side. We are hardwired to look for instant gratifications, meaning that our brain is able to register even the slightest delays in responses. 

Even then, as web users, we are accustomed to waiting for around a second when we click or tap on something. However, when the second passes, the chances of us giving up and turning away dramatically increase. As a matter of fact, 53% of mobile site visits are instantly abandoned if the page takes longer than 3 seconds to load. 

However, user patience is mostly dependent on their individual expectations. In the early days, people were ready to wait even an entire minute just to connect to the internet. Today, some people with fast connections won’t even wait for a second to wait for an image to become visible. On the same side, some mobile users who still use 3G networks are more patient, also waiting for around three seconds before leaving an “unresponsive” site.

Satisfying every user is impossible, but the RAIL model is a surefire way to improve your site’s overall performance and retain new users. On the other hand, website speed is also an important factor for search engine optimization, meaning that using the model can help your site in more than one way.

Defining Performace Goals

After figuring out the performance metrics you want to measure, you must set up reasonably achievable goals. User expectations are one thing. If you want the best user experience, you should strive to exceed expectations or, at least, make the best of what you have. If you have no budget limitations, here are a few goals Google suggests.

Optimally, User Inputs should be Responded to within 50ms

More accurately, your website should at least provide some kind of feedback for any user input within that timeframe. This may sound like too much, but it will ensure that there’s a continuous link between actions and responses no matter what.

For more context, if you have a button on one of your pages that will generate an image and it takes 100ms for the image to generate, then you should incorporate something that signals to the user that something’s happening and the input was recognized. For instance, the button can change colors while the loading takes place.

Animation Frames should be Produced in 10ms

Scrolling, loading indicators, zooming, and dragging all funder the category of animations in the RAIL model. If you are aiming for 60 FPS, then the budget per frame is around 16ms. But browsers will typically need around 6ms to render a single frame, so aiming for 10ms or less would probably be the best. The speed of the animation should also be consistent because users will be able to identify if the process isn’t seamless.

Get the Most out of Idle Time

To achieve or get close to the ideal response time within the 50ms timeframe, you should aim to get the most out of idling. For instance, load only the essential elements of your pages during the initial load, and load everything else while your users are idling. 

If you are aiming for that, just ensure that the work that’s being done during idle time won’t compromise responsiveness because that way, it would defeat the entire point of this goal. Make user interactions your number one priority letting them interrupt idle work.

Page Interactivity Should be a Priority

According to Google’s research, those web apps that enable users to interact with pages within the first five seconds after the initial load following URL request have a longer average visit length of 70% and improved bounce rates by 35% when compared to sites that are unable to pull this off.

Additionally, mobile sites that also load within the first five seconds generally perform better in terms of ad revenue when compared to slower web applications.

Use Good RAIL Tools

Google Lighthouse can serve as a great RAIL metric tracking tool since it can show you how your site performs on various devices and connections, along with providing tips on improving your page speeds, site maintenance, and even accessibility. 

Additional RAIL Tips

Improving metrics isn’t the only thing you should focus on when using the RAIL model. Here are a few other considerations that can further improve the user experience. 

Understand Your Audience

While you are setting up your own performance goals, don’t forget about the networks your users are using. You should have different considerations depending on whether you are targeting a local audience or aiming to go international. 

Furthermore, test your site on various devices and network options with focusing on the devices and connections your users use the most. Constantly keep using traffic monitoring solutions to remain up to date regarding your visitors’ preferences and behaviors in this respect.

Remain up to date with WebDev Trends

Optimizing web apps is a constant battle in order to stay ahead of the curb. This means that every project should be up-to-date with the latest tech trends in order to stay relevant. New performance measuring tools will also likely surface meaning that you will also need to re-evaluate your performance benchmarks and platform characteristics every few months or on a yearly basis to keep up.

Upgrade if Necessary

Technological advancements are happening fast, but it can take a while before they catch on. For example, the 5G infrastructure definitely has to potential to make the 4G network (and 3G as well), but that will take time. That being said, keep following the latest tech trends and upgrade when it’s time.

Consider Everything Before Making Changes

Looking at metrics is a great way of identifying performance problems and improving speed, but the evaluation is only a part of the bigger picture. Once you’ve pinpointed an area you wish to improve, you need to diagnose the issue’s source as well. In the case of loading speed, several things might come into play. Hardware limitations, cache eviction, and network latency are only some of the factors you should also be examined before you start making any drastic changes.


The Takeaway

At the end of the day, the RAIL model is only one way to improve web performance. Every business and organizational website has different priorities, and developers must be familiar with those solutions that bring out the best from every project. 

No matter what, speed and performance will remain among the cornerstones of good development and SEO, meaning that models like RAIL should have a prioritized position in every developer’s skillset.

Szabolcs Szecsei

Szabolcs Szecsei born on February 4th, 1989, A Hungarian writer, living in Novi Sad, Serbia. With a master’s degree in Communication and Media Studies, Szabolcs has been working in the news and marketing industry for more than six years. Apart from writing, Szabolcs is also a professional touring and recording musician, working for several bands and projects.