Re: Allow ... centralized dialog up front

On Thu, 31 Jan 2013, Florian Bösch wrote:
> There is a problem confronting applications desiring to use a variety of
> APIs such as pointerlock, fullscreen, WebRTC, local storage and so on.
> The problem is that each instance of attempting to use such an API leads to
> a new "Allow ..." popup the user has to click away.

Yes, that is a problem. The solution isn't another dialog, though, the 
solution is to design the APIs such that they don't need to prompt, or 
that their prompt doesn't look like a security prompt.

For example, this has a security prompt, but you don't see it:

   <input type=file>

So does drag-and-drop, so did my design for WebRTC, so does the feature 
that allows the author to start a print job. In all these cases, the user 
is asked for information that looks like a request for data but is really 
a request for permission. What file should the page have access to? What 
printer should we print to, with what settings? What camera and microphone 
should we use? Etc.

Fullscreen doesn't need a security dialog -- just have an animation zoom 
the element up to full screen, and the option to force the page back to 
just being zoomed in the tab rather than in the whole screen. 
Notifications don't need a permission UI, just pop the permision up within 
the tab the first time and offer a UI to move the notification to the 
whole screen if the user wants it.

localStorage and other storage mechanisms can all be handled with one 
asynchronous popup which just says:

| is using 4.5/5.0MB. Increase quota? |--+--------| 5GB X|

Geolocation can use a similar asynchronous UI:

| (+) wants to know your location. [ San Jose (IP) |V]  X|
+-----------------------------------------------| Mountain View  |---+
                                                | 1600 Plymouth  |
                                                | Use GPS        |
And so on.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Monday, 4 February 2013 19:07:03 UTC