TL;DR: requestIdleCallback support has landed in Firefox Nightly, with plans to ship in Firefox 52. The messiest aspect of building interactive websites boils down to this: the main thread is the same as the UI thread. Rendering the page and responding to user actions happens in contention with computation, network activity, and manipulation of the DOM. Some of these things can be moved to another