[whatwg] Web Storage: apparent contradiction in spec
Michael Nordman
michaeln at google.com
Wed Aug 26 17:05:20 PDT 2009
> Maybe the local storage API needs a way to distinguish between cached data
that can be silently thrown away, and important data that can't.*
*
*What if instead of the storage APIs providing a way to distinguish things,
UA's provide a way for users to indicate which applications are "important",
and UA's provide a way for applications guide a user towards making that
indication.*
*Seems like permissioning, blessing, could happen out-of-band of the
existing storage APIs.*
*
*
On Wed, Aug 26, 2009 at 4:51 PM, Jens Alfke <snej at google.com> wrote:
>
> On Aug 26, 2009, at 4:01 PM, Linus Upson wrote:
>
> The analogy was made comparing a user agent that purges local storage to an
> OS throwing out files without explicit user action. This is misleading since
> most files arrive on your computer's disk via explicit user action. You copy
> files to your disk by downloading them from the internet, copying from a
> network drive, from a floppy, your camera, etc.
>
>
> A web app would also be pretty likely to put stuff in local storage as a
> result of explicit user action. The use cases seem pretty similar.
>
> Also, you're not counting files that you *create* locally. After all,
> files have to come from somewhere :) Those are the most precious since
> they're yours and they may not live anywhere else if you haven't backed them
> up or copied them elsewhere. There's no reason web-apps can't create the
> same kind of content, and it would look very similar to a user: I go to the
> word processor [website], click New Document, type some stuff, and click
> Save.
>
> Even if the save process involves migrating the local data up to the cloud,
> that transition is not instantaneous: it can take arbitrarily large amounts
> of time if there are network/server problems or the user is offline. During
> that time, *the local storage represents the only copy of the data*. There
> is therefore a serious race condition where, if the browser decides to purge
> local data before the app has uploaded it, the data is gone forever.
>
> A better analogy would be, "What if watching TV caused 0-5MB size files to
> silently be created from time to time in a hidden folder on your computer,
> and when your disk filled up both your TV and computer stopped working?"
>
>
> This is a cache — that isn't the kind of usage I'm concerned about. Maybe
> the local storage API needs a way to distinguish between cached data that
> can be silently thrown away, and important data that can't. (For example,
> the Mac OS has separate 'Caches' and 'Application Support' subfolders of
> ~/Library/.)
>
> First, this is what quotas are for. The TV web-app would have a limited
> quota of space to cache stuff.
> Second, the browser should definitely help you delete stuff like this if
> disk space does get low; I'm just saying it shouldn't delete it silently or
> as part of some misleading command like "Empty Cache" or "Delete Cookies".
>
> At a minimum the HTML 5 spec should be silent on how user agents implement
> local storage policies. I would prefer the spec to make it clear that local
> storage is a cache, domains can use up to 5MB of space without interrupting
> the user, and that UAs were free to implement varying cache eviction
> algorithms.
>
>
> That will have the effect of making an interesting category of new
> applications fail, with user data loss, on some browsers. That sounds like a
> really bad idea to me.
>
> To repeat what I said up above: *Maybe the local storage API needs a way
> to distinguish between cached data that can be silently thrown away, and
> important data that can't.*
>
> —Jens
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090826/b0459b7e/attachment-0002.htm>
More information about the whatwg
mailing list