- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 4 Feb 2013 19:06:40 +0000 (UTC)
- To: Florian Bösch <pyalot@gmail.com>
- cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <Pine.LNX.4.64.1302041818100.6293@ps20323.dreamhostps.com>
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: +--------------------------------------------------------------------+ | example.org is using 4.5/5.0MB. Increase quota? |--+--------| 5GB X| +--------------------------------------------------------------------+ Geolocation can use a similar asynchronous UI: +--------------------------------------------------------------------+ | (+) example.org wants to know your location. [ San Jose (IP) |V] X| +-----------------------------------------------| Mountain View |---+ | 1600 Plymouth | | Use GPS | +----------------+ And so on. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 4 February 2013 19:07:03 UTC