Pre-fetching is a method for loading Webpages and other content in a (ideally) quick way; necessary content for the requested page is loaded first, while subsequent pages are loaded in the background. The goal of this method is to load an entire site at once, making the user’s navigation to other pages faster and more seamless. For example, a user opens a website and the Home-page opens. While the user is looking at the Home-page, the other pages are pre-loaded in the background so they won’t need to be loaded when the user navigates elsewhere. However, if this method is done incorrectly, the Home-page can fail to load quickly while other content is being loaded and the entire process defeats itself.
Keynote, a company that runs analyses on websites and applications, released new data on startup times. Uber, an application for finding personal drivers and transportation, was tested as having a very long startup time of 19.6 seconds. The Uber app uses pre-fetching to load its content, although it is an excellent example of using the method incorrectly. When the Uber website is loaded, over 50 HTTP requests are sent, and the slow startup time is due to many non-essential elements being loaded before those that are essential to the user.
Here’s more about how the Uber apps use Pre-fetching, and why it is implemented poorly: http://venturebeat.com/2013/11/07/why-are-ubers-apps-slow-to-load-its-due-to-pre-fetching/