RAIL
RAIL, an acronym forResponse, Animation, Idle, and Load, is a performance model originated by the Google Chrome team in 2015, focused on user experience and performance within the browser. The performance mantra of RAIL is "Focus on the user; the end goal isn't to make your site perform fast on any specific device, it's to make users happy." There are 4 stages of interaction: page load, idle, response to input, and scrolling and animation. In acronym order, the main tenets are:
- Response
Respond to users immediately, acknowledging any user input in100ms or less.
- Animation
When animating, render each frame in under16ms, aiming for consistency and avoiding jank.
- Idle
When using the main JavaScript thread, work in chunks for less than50ms to free up the thread for user interactions.
- Load
Deliver interactive content in less than5 second.