- From: Ian Fette <ifette@google.com>
- Date: Thu, 30 Jul 2009 14:41:33 -0700
2009/7/29 Maciej Stachowiak <mjs at apple.com> > > On Jul 27, 2009, at 11:50 AM, Michael Davidson wrote: > > Hello folks - >> >> I'm an engineer on the Gmail team. We've been working on a prototype >> with the Chrome team to make the Gmail experience better. We thought >> we'd throw out our ideas to the list to get some feedback. >> >> THE PROBLEM >> >> We would like to enable rich internet applications to achieve feature >> parity with desktop applications. I will use Gmail and Outlook as >> examples for stating the problems we hope to solve. >> > > I already commented on the security risks of the proposed solution, but I'd > also like to examine the use cases more closely. "Feature parity with > desktop applications" is pretty open-ended, and it might be that the actual > concrete use cases can be addressed with less general mechanisms. > > -- Slow startup: When a user navigates to mail.google.com, multiple >> server requests are required to render the page. The Javascript is >> cacheable, but personal data (e.g. the list of emails to show) is not. >> New releases of Gmail that require JS downloads are even slower to >> load. >> > > Caching the code part of GMail, and making loading fast in the face of > updates, seems like a problem that can be solved by the HTML5 Application > Cache. Maybe it would be more fruitful to study further improvements in > startup speed once GMail has adopted AppCache. > > -- Native apps like Outlook can (and do) run background processes on >> the user's machine to make sure that data is always up-to-date. >> -- Notifications: Likewise, Outlook can notify users (via a background >> process) when new mail comes in even if it's not running. >> > > I'm not sure it's justifiable to say these features are required for a > native-like experience. The Mail application on Mac OS X only fetches new > mail and gives you new mail notifications while it is actually running. > Users who want to know about new mail right away keep the app open, and > users who would like to free up resources quit it. It seems like GMail can > already get rough parity with this experience. > Depends on the device. If you're on Android (or I suspect iPhone, although I don't have one), doesn't the device sync your email constantly in the background? If I am a web-based email provider, I would like to have a similar option. Especially on something like the iPhone or Android, where I don't think it's reasonable to expect them to keep the browser open all the time (as the browser will just get closed if some other active app applies memory pressure). > > That being said, I think there are valid use cases for out-of-band > notifications, for example for calendar events or "status update" type > applications such as Facebook or Twitter. > > I'd like to explore whether we can accommodate this notification use case > without bringing the full power of the Web platform to bear, and thereby > opening up a lot of attack surface on the client. Here's one rough sketch of > an idea: > > * Notification Feeds * > > Often, web applications would like to give users the option to subscribe to > notifications that occur at specific times or in response to server-side > events, and for the user to get these UI notifications without a > prerequisite that the web app is open or that the browser is running. There > may be a desire to do client-side computation as well, but often just the > ability to give the user a notification solves the basic user interaction > problem. > > One possible way to address this kind of use case is to let users subscribe > to a "feed" of notifications. This feed could use standard syndication > formats, such as RSS or Atom. But instead of being displayed in a > traditional feed reader, it's displayed in the form of transient > notifications (along the lines of Growl on Mac OS X) which are posted for > each new event. To allow some pre-scheduling of events, each item can have a > date and won't be displayed until that date - this way a calendar can give > you your feed of upcoming events and you can still get notifications when > offline. In the case of something like email or Twitter, obviously there's > no sensible way to get notifications when offline since they depend on > unpredeictable server-side activity. There could even be a client-side API > that lets a Web app schedule items on a subscribed notification feed from > script, to enable scheduling calendar events offline. Each notification > would have the option to unsubscribe from the notification feed, to reduce > spam potential. > > Notice that this opens up a lot less attack surface. The user has to > actively opt in to subscribing to the notification feed, just as for an RSS > feed. This makes it much less likely they end up with a subscription to a > shady site. And the notifications are passive data items (probably no script > should be allowed in a notification, if the format is HTML and not just > plain text), so they open up a lot less security risk. Obviously this is > less powerful than the ability to run arbitrary code in the background. But > it could address a large chunk of the use cases with much less security > risk. > > It addresses some use cases (calendar, perhaps), but I would still like to be able to e.g. keep my email up to date. Do I need the "full power" / "fully general" solution? I don't know, perhaps the push mechanism can be structured in a way that it gets into my database or whatever storage mechanism I am using for offline data storage? > > I'd like us to think along these kinds of lines when expanding the web > platform. Often there is a low-power alternative to fully general solutions, > which addresses many of the same use cases. By proceeding in this manner, we > can extend the power of the web platform without neutering its desirable > security properties. > > > Regards, > Maciej > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090730/b29d72a2/attachment.htm>
Received on Thursday, 30 July 2009 14:41:33 UTC