[whatwg] Web Storage: apparent contradiction in spec

I started writing a detailed rebuttal to Linus's reply, but by the  
time I was finished, many others had already delivered more targetted  
replies.

So I'll cut the rebuttal format and make a few specific points.

   - Many apps act as a "shoebox" for managing specific types of data,  
and users are used to using these apps to manage that data directly.   
See iTunes, Windows Media Player, iPhoto, and desktop mail clients as  
examples.  This trend is growing, not waning.  Browsers are already a  
"shoebox" for history, bookmarks, and other types of data.
Claiming that this data is "hidden" from users who are used to  
handling obscure file management scenarios  and therefore we shouldn't  
fully respect it is trying to fit in with the past, not trying to make  
the future better.

   - No one is suggesting that UAs not have whatever freedom they want  
in deciding *what* or *how much* to store.  We're only suggesting that  
once the UA has committed to storing it, it *not* be allowed to  
arbitrarily purge it.

   - One use of LocalStorage is as a cache for data that is transient  
and non-critical in nature, or that will live on a server.  But  
another, just-as-valid use of LocalStorage is for persistent,  
predictable storage in the client UA that will never rely on anything  
in the cloud.

   - And on that note, if developers don't have faith that data in  
LocalStorage is actually persistent and safe, they won't use it.
I've given talks on this point 4 times in the last year, and I am  
stating this as a fact, based on real-world feedback from actual, real- 
world web developers:  If LocalStorage is defined in the standard to  
be a purgable cache, developers will continue to use what they're  
already comfortable with, which is Flash's LocalStorage.

When a developer is willing to instantiate a plug-in just to reliably  
store simple nuggets of data - like user preferences and settings -  
because they don't trust the browser, then I think we've failed in  
moving the web forward.

I truly hope we can sway the "LocalStorage is a cache crowd."  But if  
we can't, then I would have to suggest something crazy - that we add a  
third Storage object.

(Note that Jens - from Google - has already loosely suggested this)

So we'd have something like:
-SessionStorage - That fills the "per browsing context" role and whose  
optionally transient nature is already well spec'ed
-CachedStorage - That fills Google's interpretation of the  
"LocalStorage" role in that it's global, and "will probably be around  
on the disk in the future, maybe"
-FileStorage - That fills Apple's interpretation of the "LocalStorage"  
role in that it's global, and is as sacred as a file on the disk (or a  
song in your media library, or a photo in your photo library, or a  
bookmark, or...)

The names are just suggestions at this point.

~Brady

Received on Wednesday, 26 August 2009 17:14:35 UTC