Caching raises interesting problems. To start with, how do you invalidate the cache? Some sites are static, and you could never clear them, and still be okay. Others update very frequently. A one-size-fits-all rule doesn't work very well.

If you do cache pages, you need a reload functionality of some sort so the user can override that.

I'm lukewarm on the idea of adding caching in general due to this sort of conundrum. We could let the user set a timeout, but for some sites such as Spacewalk, you probably want it to load fresh every time. And once you start having the user say, "skip the cache for this page", it probably is more trouble than it's worth. Caching is great on 28.8 Kbps dial-up, but with more bandwidth, it may be more trouble than it's worth.

So why the todo on it? Because it still is useful if you wind up offline. Many a time, I've found myself at a coffee shop, and disappointed to find that my browser's offline cache doesn't have that StackOverflow page that I viewed yesterday cached. So it would be nice if Titan had caches that it could use when you are offline. It would try to load sites live, and if that failed, it could fall back to a cached version, indicating that in the status bar.

An optional (disabled by default) use-cache-by-default option could also be provided for low-bandwidth users, where they can specify that if a site was accessed in the past X hours, or is in the cache at all, to always use the cached version unless specifically reloaded.

Note that currently, going back in history will not reload the page, and thus is effectively cached. Loading the sites from bookmarks, or manually entering the URL, will re-load the page.

Assigned to
1 year, 7 months ago
1 year, 7 months ago
No labels applied.