On 11/10/11 3:10 PM, Greg Billock wrote:
On Thu, Nov 10, 2011 at 8:15 AM, Rich Tibbett <ri...@opera.com
<mailto:ri...@opera.com>> wrote:
Dominique Hazael-Massieux wrote:
Le jeudi 10 novembre 2011 à 16:27 +0100, Rich Tibbett a écrit :
Hi
a.) to register a URL endpoint as an intent provider the
user must visit
a web page (presumably hosted by the target device itself)
and capture
the intent registration from that page before that intent
provider can
be used within the UA.
My understanding is that this is not a MUST at all, but the way
Web-based services can be added by a user.
Yes. The API as currently proposed has a way for web apps to register
services, but it is not intended to limit the ability of the user
agent to register services by other methods. If you look at our
Chromium commits, we're experimenting with ways to register services
through installation of web apps, for instance. Registering handlers
through local network discovery or interaction with the host OS also
seems like a promising direction.
Has there been further movement toward the existing register*Handler APIs:
http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#custom-handlers
I've practiced with those methods and from a usability perspective, I'm
starting to think those html5 methods are not going to be worth using.
Whatever the end-case, Web Intents seems to be where the UI is going to
evolve.
I understand that from the Chromium-OS side, Web Intents is likely to
take over the fileHandlers permission.
That tells me that registerContentHandler is not going to happen.
Chromium-OS is headed from a vendor-specific extension into web intents:
http://code.google.com/chrome/extensions/fileBrowserHandler.html
I'm OK with that. I want to make sure we're all aware of the divergence.
I think the Web-page-in-a-separate tab is also an optional
aspect of Web
intents; the browser could serve as a broker between the
local-network
service and the Web page.
This is unclear but I hope we end up with something that provides
non-tabbed (direct) interaction also. In some cases it may be
superfluous to have a separate window open that denotes the
service endpoint.
The proposal we're working from uses "disposition=inline" to denote
this -- that is, services can be placed within the visual context of
the calling page. Our prototype uses an expansion of the service
picker dialog to host that service page.
It seems like the anchor download attribute fills another need. Should
these proposals be wrapped up into an omnibus package?
In my opinion, they're an extension to the very-old "target" attribute.
In the new Web Apps world, we're targeting FileSaver and iframe sandbox.
Thanks for the quick reply and good to ensure this stuff gets
captured in the TF charter.
As Chaals said, let's get going on this. The concept of Web
Intents is great and we're not married to any particular proposal
at this point. We can see if it works for our UCs when the task
force kicks off.
Clarke Stevens asked about a discovery mechanism whereby a client page
discovers a set of local network devices which is then updated by an
event driven mechanism. As currently sketched out, there's room in our
web intents proposal for the return of a MessagePort for persistent
communication. The proposal doesn't focus on that problem, though. It
is aimed more at an RPC-style request/response interaction paradigm.
Web Intents, the way we're currently thinking about it, has a lot to
do with user consent to the connection between the applications. When
there's a persistent connection, that consent model starts to break
down. That said, there are definitely use cases for which establishing
a persistent connection is appropriate. I'm eager to discuss how to
best handle those cases as the TF starts up. I think that'll be a key
focus of refinement.
Hixie made a good point when he asked us to review Web Messaging.
Intents as it's implemented by Google -- and it's already happening --
Google started this push awhile ago and I get the impression that Paul
Kinlan has high level support -- intents as it's implemented is built
upon Web Messaging and postMessage dynamics.
postMessage has MessagePort and Transferable arrays (thank goodness). I
believe those semantics already solve issues of RPC, bi-di and
zero-copy. They've had years of work put into them to get to this place
of consensus.
timeless brought up some excellent corner cases that I hope are
discussed soon in the upcoming TF mailing list. That stated, I think
building Intents atop postMessage is the right move. Web Messaging has
already solved many of the difficult problems.
As far as I can tell, Web Intents adds another high level semantic: the
"Intent" semantic. I've proposed previously that intents could work over
HTTP in addition to the browser and OS interoperability, simply by
adding a "Web-Intent(s):" header onto Web Sockets and HTTP RPC requests.
A Web-Intent may have a mime-type, it'll have some kind of message body,
perhaps some arguments -- the one thing it adds onto existing semantics
is yet-another text field describing the intent. That extra dimension of
information seems sufficient to handle many use cases -- yet to be
discussed on the Web Intents TF list.
-Charles