|caching the future
|Submitted by James Hicks <email@example.com> to Miscellaneous.|
Nobody likes to wait for web pages to load. That's part of the reason why web browsers have caches in the first place. Once you've hit the network once to load something, why make the user wait to have it loaded again? Unfortunately, stuff has to get loaded across the net and into the cache to begin with somehow. Usually, that happens the first time you try to look at it. Since a lot of a web browser's time is spent waiting for the user to read what's already being displayed, why not put that time to good use fetching things from the net and into the cache?
One way to do this is to prefetch all the links that appear on the current page. While the user is busy reading, fetch all the content that the current page links to and store it in the cache. This method is easy and transparent to the user, but may pose a problem for pages that contain a lot of links.
Another possibility is to let the user bring up a window containing a list of all the links on the current page and choose manually which links to go after, along with an order in which to load them. This window would perhaps have two panes, one to display the links available on the current page and one to display the current download queue, with provisions for pausing, resuming, and canceling active downloads. An additional item in the context menu for links to "Add to Download Queue" would be helpful, too.
Finally, it would be useful to be able to flag bookmarked sites for cache preload at startup time. This could take the form of being able to assign a download priority attribute to each bookmark, with the highest priority bookmarks being downloaded first.
Implementation of any or all of these methods would make the web browsing experience appear speedier for the user. Of course, the cache preloading should take a back seat, priority-wise, to whatever is being downloaded to visible windows, since the whole idea is to get a perceived speed increase. After all, those users are an impatient bunch, aren't we?