instant.page

Make your site’s pages instant in 1 minute and improve your conversion rate by 1%.

Put this HTML snippet just before </body>:
<script src="//instant.page/2.0.0" type="module" defer integrity="sha384-D7B5eODAUd397+f4zNFAVlnDNDtO1ppV8rPnfygILQXhqu3cUndgHvlcJR2Bhig8"></script>
Copied. Now place it just before </body> on your pages.

Amazon and others found that removing 100 milliseconds of latency improves sales by 1%. But latency on the web is hard to overcome.

Amazon (PowerPoint, slide #15): 100 ms of latency resulted in 1% less sales.

Google (video): 500 ms caused a 20% drop in traffic.

Walmart (slide #46): a 100 ms improvement brought up to 1% incremental revenue.

Mozilla: Shaving 2.2 seconds off page load time increased downloads by 15.4%.

Yahoo: 400 ms resulted in a 5 to 9% drop in traffic.

Cheating latency

instant.page uses just-in-time preloading — it preloads a page right before a user clicks on it.

Before a user clicks on a link, they hover their mouse over that link. When a user has hovered for 65 ms there is one chance out of two that they will click on that link, so instant.page starts preloading at this moment, leaving on average over 300 ms for the page to preload.

Another option is to preload when the user starts pressing their mouse, right before releasing it. This makes for virtually zero unused requests while still improving page loads by 80 ms on average.

On mobile, a user starts touching their display before releasing it, leaving on average 90 ms for the page to preload.

You can also click the menu at the bottom on the right to experience it.

Cheating the brain

The humain brain perceives actions taking less than 100 ms as instant. As a result, instant.page makes your pages feel instant even on 3G (assuming your pages are fast to render).

Jakob Nielsen: Response Times: The 3 Important Limits:

0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result.

Easy on your server and your user’s data plan

Pages are preloaded only when there’s a good chance that a user will visit them, and only the HTML is preloaded, being respectful of your users’ and servers’ bandwidth and CPU.

It uses passive event listeners so that your pages stay smooth. It doesn’t preload when the user has data saver enabled. It’s 1 kB and loads after everything else. And it’s free and open source (MIT license).

Put this HTML snippet just before </body>:
<script src="//instant.page/2.0.0" type="module" defer integrity="sha384-D7B5eODAUd397+f4zNFAVlnDNDtO1ppV8rPnfygILQXhqu3cUndgHvlcJR2Bhig8"></script>
Copied. Now place it just before </body> on your pages.