<div class="gmail_quote">On Tue, Aug 25, 2009 at 3:19 PM, Aaron Boodman <span dir="ltr"><<a href="mailto:aa@google.com">aa@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Tue, Aug 25, 2009 at 2:44 PM, Jeremy Orlow<<a href="mailto:jorlow@chromium.org">jorlow@chromium.org</a>> wrote:<br>
> Ok, well I guess we should go ahead and have this discussion now.  :-)  Does<br>
> anyone outside of Apple and Google have an opinion on the matter (since I<br>
> think it's pretty clear where we both stand).<br>
<br>
</div>FWIW, I tend to agree more with the Apple argument :). I agree that<br>
the multiple malicious subdomains thing is unfortunate. Maybe the<br>
quotas should be per eTLD instead of -- or in addition to --<br>
per-origin? Malicious developers could then use multiple eTLDs, but at<br>
that point there is a real cost.</blockquote><div><br></div><div>This could be helpful.  I suppose UAs could do this today, even.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Extensions are an example of an application that is less cloud-based.<br>
It would be unfortunate and weird for extension developers to have to<br>
worry about their storage getting tossed because the UA is running out<br>
of disk space.</blockquote><div><br></div><div>Extensions are pretty far out of scope of the spec (at least for now), right?  (Within Chrome, we can of course special case this.)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

It seems more like if that happens the UA should direct the user to UI<br>
to free up some storage. If quotas were enforced at the eTLD level,<br>
wouldn't this be really rare?</blockquote><div><br></div><div>It would be on the desktop, but it probably won't be rare on mobile phones (and maybe even netbooks).</div><div><br></div><div><br></div><div>On Tue, Aug 25, 2009 at 3:09 PM, Jens Alfke <span dir="ltr"><<a href="mailto:snej@google.com">snej@google.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<div style="word-wrap: break-word; ">Interesting comments. Linus and Jeremy appear to be coming at this from a pure "cloud" perspective, where any important or persistent data is kept on a remote server and the browser, so local storage can be treated as merely a cache. That's definitely a valid position, but from my perspective, much of the impetus for having local storage is to be able to support <i>other</i> application models, where important data is stored locally. If browsers are free to dispose HTML5 local storage without the user's informed consent, such applications become dangerously unreliable.<div class="im">

<div><br></div><div>For example, Linus wrote:</div><div><blockquote type="cite">User agents need to be free to garbage collect any local state. If they can't then attackers (or the merely lazy) will be able to fill up the user's disk. We can't expect web sites or users to do the chore of taking out the garbage.</blockquote>

<br></div></div><div>Replace "user agent" -> "operating system" and "local state" -> "user files", and you have an argument that, when the hard disk in my MacBook gets too full, the OS should be free to start randomly deleting my local files to make room. This would be a really bad idea.</div>

</div></blockquote><div><br></div><div>Well, it's certainly different from what we're used to.  I'm not convinced it's wrong though.  The web has gotten by pretty well with such a model so far.</div><div>
 </div>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<div style="word-wrap: break-word; "><div></div><div>Similar analogies — </div><div>• If the SD card in my Wii fills up, should the system automatically start deleting saved games?</div><div>• If my iPhone's Flash disk gets full, should it start deleting photos? What if I haven't synced those photos to my iTunes yet?</div>

<div><br></div><div>In each of those cases, what the device actually does is warns you about the lack of free space, and lets you choose what to get rid of.</div></div></blockquote><div><br></div><div>It's worth noting that today, OSs do a pretty poor job of helping you with this task.  (I don't see any reason why the spec will prohibit UAs from creating a good UI for this, though.)</div>

<div> </div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<div style="word-wrap: break-word; "><div></div><div>Local storage is different from cloud storage. The HTML5 storage API can be used for both, so it shouldn't be limited to what's convenient for just one of them.</div>

</div></blockquote><div> </div><div>I still don't understand what use local storage has outside of 'cloud storage'.  Even in the extensions use case (which I think is out of scope for this spec), there's no reason you can't sync user preferences and such to the cloud.</div>

<div><br></div><div>The only tricky thing I see here is enabling offline use of websites.  And I don't think "keep local storage forever" is a very good solution, though I agree it is _a_ solution for this use case.</div>

<div><br></div><div>By the way, in case it's not clear, my position is not that UAs should take deleting user information lightly, my position is 1) this behavior should be left up to the UA and 2) when possible, developers should keep information in the cloud not local storage.</div>

<div><br></div><div>J</div></div></div>