This direction of placing permissions up there in the site info expansion in 
Chrome feels like the right direction. That spot where they show where an SSL 
cert is valid/expired.

Now I can easily see cookies and flip various settings in one click as I look 
at site info.

I've been working on a web app where I don't need any upfront permissions, but 
the user can elect to elevate to clipboard, XSS and a high disk quota. I've 
certainly felt the cost of multiple dialogs vs a one-time "grant everything" 
prompt.



On Feb 5, 2013, at 5:09 PM, "Charles McCathie Nevile" <cha...@yandex-team.ru> 
wrote:

> TL;DR: Being able to declare the permissions that an app asks for might be 
> useful. User agents are and should continue to be free to innovate in ways 
> they present the requests to the user, because a block dialogue isn't a 
> universal improvement on current practice (which in turn isn't the same 
> everywhere).
> 
> On Mon, 04 Feb 2013 01:35:43 +0100, Florian Bösch <pya...@gmail.com> wrote:
> 
> So how exactly do you imagine this going down when an application that uses 
> half a dozen such capabilities starts? Clicking trough half a dozen allow -> 
> allow -> allow -> allow -> allow -> allow, you really think the user's gonna 
> bother what the 5th or sixth allow is about?
> 
> Where there are multiple permissions required the way to ensure user 
> attention isn't as simple as "a list that doesn't get read, witha single 
> button clicked by reflex", or "multiple buttons to be clicked by reflex 
> without reading".
> 
> At least that seems to be what the research shows.
> 
> You'll end up annoying the user, the developer and scaring people off a page. 
> Somehow I can't see that as the function of new capabilities you can offer on 
> a page. Furthermore, some capabilities (like pointerlock) actively interfere 
> with the idea that when you need it you can click it (such as the concept of 
> pointer-lock-drag which requests pointerlock on mousedown and releases it on 
> mouseup) where your "click it when you need it" idea will always fail the 
> first usage.
> 
> This may be true. But pointer-lock is an example of something that needs the 
> entire UX to be thought through. simply switching from one to the other 
> without the user knowing is also poor UX, since it risks making the user 
> think their system is broken. Add to this a user working with e.g. mousekeys, 
> or a magnifier at a few hundred percent plus high-contrast.
> 
> The problems are not simple, and it is unlikely the solutions will be either. 
> Ian's claim that everything can be done seamlessly without making it seem 
> like a security dialog may be over-confident, and as Robin points out the 
> first UI developed (well, the second actually) might not be the best approach 
> in the long run, but it is certainly the direction we should be aiming.
> 
> So where are we? The "single up front dialogue" doesn't work. We know that. 
> Mutliple contextual requests go from being effective to being 
> counter-productive at some magic tipping point that is hard to predict.
> 
> To take an example, let's say I have a chat application that can use web-cam 
> and geolocation. Some user agents might decide to put the permissions up 
> front when you first load the app. And some users will be fine with that. 
> Some will be happy to let it use geolocation when it wants, but will want to 
> turn the camera on and off explicitly (note that Skype - one of the 
> best-known video chat apps there is - allows this as a matter of course. I 
> don't know of anyone who has ever complained).
> 
> Some "app stores" might refuse to offer the service unless you have already 
> accepted that you will let any app from the store use geolocation and camera. 
> Others will be quite happy with a user agent that (like skype - or Opera) 
> puts the permissions interface in front of the user to modify at will. And 
> there are various other possible configurations.
> 
> At any rate, having a way of declaring the things that will be requested (as 
> I mentioned a zillion messages ago, most platforms have implemented this 
> somewhere, sometimes several times) would at least simplify the task for 
> implementors of deciding which approach to use, or how to blend the various 
> different possiblities.
> 
> cheers
> 
> Chaals
> 
> Not exactly confidence inspiring either, as a UX.
> 
> 
> On Mon, Feb 4, 2013 at 1:28 AM, Tobie Langel <to...@fb.com> wrote:
> On 2/2/13 12:16 PM, "Florian Bösch" <pya...@gmail.com> wrote:
> 
> >Usually games (especially 3D applications) would like to get capabilities
> >that they can use out of the way up front so they don't have to care
> >about it later on.
> 
> This is not an either / or problem.
> 
> First, lets clarify that the granting of a permission (and for how long it
> is granted) can be dependent on a variety of factors defined by the user
> and or the user agent and is out of control of the developer and of any
> spec body to standardize.
> 
> Different User Agents will behave differently depending on what market
> they target. Different users will react differently depending on their
> security and privacy thresholds, the trust relationship they have with the
> URL they're visiting, etc.
> 
> The permission to carry out a certain task on the user's behalf (such as
> taking a picture) might change at any time for any number of reasons (such
> as the device's camera being unplugged or broken). There's only one
> solution to this: code defensively.
> 
> APIs that require specific user permissions are designed so that the
> user's can be prompted every time the API is required to be used. Whether
> the device chooses to do so or not is implementation specific (and again,
> depends on external factors such as user settings, etc.).
> 
> Generally, this solution has proven to be both flexible and secure.
> 
> Handling permissions up front has three unwanted effects:
> 
> 1. Users tend to not read the upfront permission settings that much thus
> often accidentally granting more privileges than they would like to.
> That's a security and privacy issue.
> 2. Users tend to reject apps which have too many permission requests or
> permission requests that feel out of scoop of the app. Eg. A chess game
> asking for permissions to use the camera is rather off-putting until you
> realize it uses it to take snapshots of a chess-board and suggest next
> moves. This awareness generally comes with app usage, or because you're
> aware of the feature set of the app through information provided by the
> developer (marketing) or third parties (reviews, friends, etc.).
> 3. Upfront permission lists rapidly get out of sync with real application
> requirements. What happens then?
> 
> In fact, Upfront permission requirement only really makes sense when the
> user has already built a relationship of trust with the developer of the
> application or trusts a third party that has means of enforcing good
> behavior from the app developer (e.g. through an app store system).
> 
> A hybrid approach that considers upfront permissions as hints of
> permission requirements to come offers the best of both worlds. It allows
> developers to ask permissions upfront for things that make sense given the
> context (e.g. a camera app would require camera access upfront) and at a
> later stage for features that might not be so obviously connected to the
> app's main use case or present a bigger risk for the user. It also allows
> the User Agent to treat these hints as it wishes, e.g. by prompting the
> user upfront, by automatically granting some permissions using various
> kinds of heuristics, or by deciding to only prompt the user when the
> feature is actually going to be used.
> 
> It is worth noting that the developer will still need to code defensively
> for such an approach, as the user (or user agent) might very well not
> grant all permissions upfront and still require prompting at a later
> stage. Previously granted permissions might also be recalled at any time.
> 
> This approach doesn't require the User Agent to let the developer know
> which permissions the user has granted upfront nor would that be useful
> given permissions can change at any time.
> 
> 
> --tobie
> 
> 
> 
> 
> 
> --
> Charles McCathie Nevile - Consultant (web standards) CTO Office, Yandex
> cha...@yandex-team.ru Find more at http://yandex.com

Reply via email to