W3C home > Mailing lists > Public > whatwg@whatwg.org > July 2009

[whatwg] Installed Apps

From: Dmitry Titov <dimich@google.com>
Date: Thu, 30 Jul 2009 13:49:49 -0700
Message-ID: <28040fc60907301349n39dc5a2eo6a95d14e4a8905eb@mail.gmail.com>
I think I almost get this distinction :-) you are saying that HTML+JS could
be made more powerful with new APIs, but only if it is done sufficiently far
from the 'regular web page browsing' experience (or model). Say, if it is a
"browser extension" or a prism-like app it's ok - only (or mostly) because
it is outside from the regular process of web browsing that users have been
taught is 'reasonably safe'.
Would this functionality be ok as a part of a browser extension? Lets say
you can install an extension that is loaded in background (as Chrome already
can do) and that the pages from the same domain are loaded into same process
and can exchange DOM with it.

I'm not trying to argue for the proposal, I am just curious how the
more-powerful APIs could be added, since this is not the last proposal that
tries to do this. Looking at use cases and coming up with narrow API that
does not require permissions is understood, but it's interesting how to go
beyond this line. Or, as Ojan says, if it's even a goal :-)

Dmitry


On Thu, Jul 30, 2009 at 1:23 PM, Drew Wilson <atwilson at google.com> wrote:

> I think the error here is viewing this as a UX issue - if it were just a UX
> issue, then the responses from people would be along the lines of "Oh, this
> sounds dangerous - make sure you wrap it with the same permissions UI that
> we have for extensions, plugins, and binary downloads".
> The realization I came to this morning is that the core of the objections
> are not primarily about protecting users (although this is one goal), but
> more about protecting the current secure web browsing model (Linus
> explicitly said this yesterday in his email to the list, but I only "got it"
> when thinking about it today).
>
> This is why people are OK with supporting this via extensions but not OK
> with supporting this as part of the core HTML APIs even if the UX was
> exactly the same. It's more about keeping the model pristine. Doing crazy
> stuff in extensions and plugins are OK because they are viewed as falling
> outside the model (they are just random scary things that user agents choose
> to do that don't conform to the specification).
>
> So arguing "but it's the same UI either way!" is not going to convince
> anyone.
>
> -atw
>
> On Thu, Jul 30, 2009 at 12:51 PM, Dmitry Titov <dimich at google.com> wrote:
>
>> It seems the biggest concern in this discussion is around "BotNet
>> Construction Kit" as Machej succulently called it, or an ability to run
>> full-powered platform API persistently in the background, w/o a visible
>> 'page' in some window.
>> This concern is clear. But what could be a direction to the solution?
>> Assuming one of the goals for html5 is reducing a gap in capabilities
>> between web apps and native apps, how do we move forward with more powerful
>> APIs?
>>
>> So far, multiple ways exist to gain access to the user's machine - nearly
>> all of them based on some dialog that asks user to make impossible decision
>> - as bad as it is, binary downloads, plugins, browser extensions, axtivex
>> controls or Gears modules are all but a dialog away from the user's
>> computer. Basically, if a malicious dudes are cool to write native apps -
>> they can have their botnet relatively easy. The ongoing fight with malware
>> and viruses will continue - not because the platforms have wrong API, but
>> because it's really hard to give power to the apps and not to the malware,
>> since they, in essence, do the very similar things.
>>
>> As controversial as it sounds, it might be if a web platform API can't be
>> used to write a botnet, then it can't be used to write a wide class of
>> powerful applications as well :-)
>>
>> I don't have a botnet example, but when Safari 4 visits the sites in the
>> background (to keep the 'new tab page' site snapshots up-to-date) w/o ever
>> asking my permission - it looks a bit scary, because I'm not sure I want it
>> to visit websites at random time from my IP with I don't know what cookies
>> and then snapshot the result in jpg and store it locally... But I sort of
>> like the feature anyways. Now, how can I make a web app that does this? Some
>> sort of background shared page could be handy. It can pop up the same dialog
>> when installed, live in Applications folder but it should be possible. Now
>> if we make it possible, would it be possible to write a botnet on top of the
>> API? Of course! Same exact way as it's possible to write even better botnet
>> on OSX API in which Safari is written.
>>
>> Now, what if I want the same feature but implemented not as a native app,
>> but as a web app? We would need to give it specific rights locally, and make
>> the process transparent - not only on 'install' time but when it runs too -
>> so the user could peek into some 'task manager' and clearly see if such
>> thing is running. Browser could periodically download 'malware lists' and
>> kill those web apps that are in it.
>>
>> But for now, it should be ok to have it 'installed' with a specific
>> browser dialog that asks the user to make a decision the user may not
>> understand - it is not the ideal way but it is the common way today, users
>> know they are asked these questions, admins and IT teaches users what to do
>> when asked, so it's the best we can do now. Having a 'task manager' (as in
>> Chrome) reflecting those things is good too.
>>
>> Btw, if it only can do window.open() on the url from the same domain, then
>> if it's from Gmail then it can't be used or hijaked.  If it is from a site
>> that says install this and I'll show you a pretty picture and user clicks
>> through a dialog, I'd say it's not a new vector for malware.
>>
>> Dmitry
>>
>>
>> On Thu, Jul 30, 2009 at 10:26 AM, Michael Davidson <mpd at google.com>wrote:
>>
>>> On Wed, Jul 29, 2009 at 5:38 PM, Maciej Stachowiak<mjs at apple.com> wrote:
>>> > * 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
>>>
>>> This is an interesting idea. The lack of push updates, though, would
>>> make it much less useful than it could be.
>>>
>>> Here's a rough sketch of a more far-out idea: What if all browsers
>>> were XMPP clients and stanzas could be sent to display notifications?
>>> The attack surface would still be low, but you'd get realtime updates.
>>> Instead of subscribing to a feed of notifications, the user accepts
>>> what is essentially a chat invitation from the site. Like normal XMPP
>>> invitations, this would be revocable at any time.
>>>
>>> Lots of issues to work out, but you'd get realtime for free.
>>>
>>> Michael
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090730/95c82406/attachment-0001.htm>
Received on Thursday, 30 July 2009 13:49:49 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:14 UTC