December 10, 2010, 3:08 PM — When Google gave the first demos of its ChromeOS-based PC this week, there were only a couple of mentions of the new feature that's going to have the greatest impact on Web-based apps, or Web access of any kind, really, during the next few years: offline storage.
HTTP and HTML, the core protocols of the Web, were designed to not store information between browsing sessions unless the user specifically arranged to do it.
Cookies, browser caches and other performance-enhancers do store more data between sessions than you'd think (not always the embarrassing stuff, but certainly that seems to be the majority).
With current Web browsers, unless you purposely store a Web page to your hard drive, though, you're not going to have it after you relaunch the browser or reboot your machine.
That's both a usability and security feature, though neither is effective in that way now. The less data you store between sessions, the lower the chance malware or bad scripts will corrupt your data or apps.
Malware reproduces itself without needing the browser, though, and bad scripts will crash by themselves, blue-screen your PC, kidnap your children and paint rude things on your car no matter how little of them you keep resident on your hard drive
HTML5 was designed to let all those high-powered applications with Web-browser front ends work more effectively by giving them a place to store data on the hard drive where it can be reopened later, and a more flexible way to use the memory cache that Web browsers already depend on.
The idea is to make sure users don't lose the draft of an angry letter to the PAC of their choice, or the Google App documents they're working on when someone trips over the Ethernet cord or the WiFi cuts out.
Cookies work the same way -- storing coded information in secret folders in your browser directory. But HTML5 data isn't automatically sent to the sites you visit, and won't store on your hard drive unless you do both things on purpose.
There are actually two forms of storage built into HTML5 -- local and Web. Web storage works in exactly the same way as local except for the addressing -- if you're not a programmer who needs to code in the difference between the two -- so we'll stick with local for now.