Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-18 Thread Paul Kinlan
On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock gbill...@google.com wrote:

 On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard ch...@jumis.comwrote:

 **
 Does anybody use registerProtocolHandler in any real sense? Is
 registerContentHandler needed? It seems like Web Intents is an evolution on
 the concept. I don't think we're going to see convergence on those old
 methods. I'm ready to leave them both in favor of a yet-to-be announced
 candidate (web intents).

 URIs are better than protocols,  and Intents are better than content
 handlers. In my opinion.


 RPH seems to be intended primarily for mailto: (I think that's where it
 is used.) I'm not sure what the RCH usage is like. It is definitely
 possible to imagine mapping UA handling of mailto: onto web intents. The
 way I think of it is like this: RPH is basically an action with a payload.
 RCH is essentially type info with the payload. Web Intents is kind of
 off-axis with both an action and a type as well as the payload. The idea
 (taking inspiration from the pluggable usage in the Android ecosystem) is
 that the action (analogous to the protocol) is a locus between the client
 and handling service which can be messaged to the user in a well-understood
 way. (i.e. instead of just saying here's some data, do whatever you want
 with it, which is a more content-type-driven


 As far as I can tell, the model doesn't prohibit, nor does it encourage,
 the passing of MessageChannel.
 It's very much made for an RPC style of communication, but if the message
 being passed back is a channel, well that's just fine.

 Am I mistaken? What I'm seeing is that we get MessageChannel for free,
 and there's no need to specify further.
 Individual Intent authors can do that themselves.



 Yes. We envision RPC-style request/response as the sweet spot for intents.
 We've definitely considered use cases which are better served by opening a
 persistent channel. It isn't clear to me as yet what to do about those.
 They definitely imply a more well-specified protocol to be pursued over
 that channel. Web Intents as an API doesn't really include or exclude that
 in the current form.

 On the other hand, it'd be a really nice application of the Web Intents
 permissions mechanism to be able to connect up, say, an SSH connection
 using Web Intents, so that I could write an in-browser terminal which could
 then be attached to a secure socket by the user.

 At this point, I'm not sure whether this kind of persistent connection use
 case is far enough from Web Intents to want to exclude it, or close enough
 to want to include it explicitly. Our early belief is that we aren't ruling
 it out with the proposed API, since MessageChannels could be provided or
 returned in the payload data. On the other hand, we haven't chosen to
 explicitly include such usage.

 But a lot of this stuff just comes with nice platform integration; I just
 tried passing Blob objects through intents in Chrome Tip-of-Tree with our
 prototype, and it Just Works, allowing a really appealing vision into what
 upload intents and file interactions could be like. Wins like that make
 me think that focusing on the sweet spot RPC interaction will not paint us
 into a corner.


This is awesome, anything that is Serialzable is via the structured clone
will work, so now we can pass File Objects between services, ImageData
And MessageChannels.

On the subject of MessageChannels, my thoughts have been that you don't
pass the data across it, as you would for say share image/*, but rather
it is the initiation of a protocol - whose mime-type is yet to be
determined; something like application/x-protocol-uucp

On the earlier subject of demos, the current demos are at
http://demos.webintents.org/ please note, twitpic does not work and I will
be removing it from the list today until I have it working and I will be
adding more over the coming days.

re:Dave Ragget - the case is in one of the demos, save image, which hooks
up with imgur API.  There we pass the data from the client app
(ImageStudio) to Imgur and the imgur service will handle the notifications
to the user about the upload progress (via an XMLHttpRequest), at this
point ImageStudio doesn't need to know or care about the progress of the
upload, other than it completes or fails.

P




 -Greg





-- 
Paul Kinlan
Developer Advocate @ Google for Chrome and HTML5
G+: http://plus.ly/paul.kinlan
t: +447730517944
tw: @Paul_Kinlan
LinkedIn: http://uk.linkedin.com/in/paulkinlan
Blog: http://paul.kinlan.me
Skype: paul.kinlan


Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-18 Thread Charles Pritchard

On 11/18/11 1:40 AM, Paul Kinlan wrote:



On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock gbill...@google.com 
mailto:gbill...@google.com wrote:


On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard
ch...@jumis.com mailto:ch...@jumis.com wrote:

As far as I can tell, the model doesn't prohibit, nor does it
encourage, the passing of MessageChannel.
It's very much made for an RPC style of communication, but if
the message being passed back is a channel, well that's just fine.

Am I mistaken? What I'm seeing is that we get MessageChannel
for free, and there's no need to specify further.
Individual Intent authors can do that themselves.



Yes. We envision RPC-style request/response as the sweet spot for
intents. We've definitely considered use cases which are better
served by opening a persistent

On the subject of MessageChannels, my thoughts have been that you 
don't pass the data across it, as you would for say share image/*, 
but rather it is the initiation of a protocol - whose mime-type is yet 
to be determined; something like application/x-protocol-uucp


My concern is the plumbing of Transferable.
Sending Array Buffers across channels is great for short apps.

Here's the webkit meta-bug as they work on postMessage semantics.
https://bugs.webkit.org/show_bug.cgi?id=64629

It's a transfer intent. I'm transferring ownership of a buffer or a 
stream.
It's still appropriate that mime types be specified. Many protocols have 
them.


-Charles



Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-18 Thread Paul Kinlan
On Fri, Nov 18, 2011 at 7:23 PM, Charles Pritchard ch...@jumis.com wrote:

 **
 On 11/18/11 1:40 AM, Paul Kinlan wrote:



 On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock gbill...@google.com wrote:

  On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard ch...@jumis.comwrote:

 As far as I can tell, the model doesn't prohibit, nor does it encourage,
 the passing of MessageChannel.
 It's very much made for an RPC style of communication, but if the
 message being passed back is a channel, well that's just fine.

 Am I mistaken? What I'm seeing is that we get MessageChannel for free,
 and there's no need to specify further.
 Individual Intent authors can do that themselves.



  Yes. We envision RPC-style request/response as the sweet spot for
 intents. We've definitely considered use cases which are better served by
 opening a persistent

   On the subject of MessageChannels, my thoughts have been that you don't
 pass the data across it, as you would for say share image/*, but rather
 it is the initiation of a protocol - whose mime-type is yet to be
 determined; something like application/x-protocol-uucp


 My concern is the plumbing of Transferable.
 Sending Array Buffers across channels is great for short apps.

 Here's the webkit meta-bug as they work on postMessage semantics.
 https://bugs.webkit.org/show_bug.cgi?id=64629

 It's a transfer intent. I'm transferring ownership of a buffer or a
 stream.
 It's still appropriate that mime types be specified. Many protocols have
 them.

 -Charles


Sure, you can defiantly pass data across them, what I was referring to (if
I understand your point) is that the MessageChannel is used for protocols
that are more complex that the request/response that webintents has now.
 And to ensure that both client and service are talking the same protocol
then the mime type is for the protocol and not the data going across it.

-- 
Paul Kinlan
Developer Advocate @ Google for Chrome and HTML5
G+: http://plus.ly/paul.kinlan
t: +447730517944
tw: @Paul_Kinlan
LinkedIn: http://uk.linkedin.com/in/paulkinlan
Blog: http://paul.kinlan.me
Skype: paul.kinlan


Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-18 Thread Charles Pritchard

On 11/18/11 10:29 AM, Paul Kinlan wrote:



On Fri, Nov 18, 2011 at 7:23 PM, Charles Pritchard ch...@jumis.com 
mailto:ch...@jumis.com wrote:


On 11/18/11 1:40 AM, Paul Kinlan wrote:



On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock
gbill...@google.com mailto:gbill...@google.com wrote:

On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard
ch...@jumis.com mailto:ch...@jumis.com wrote:

As far as I can tell, the model doesn't prohibit, nor
does it encourage, the passing of MessageChannel.
It's very much made for an RPC style of communication,
but if the message being passed back is a channel, well
that's just fine.

Am I mistaken? What I'm seeing is that we get
MessageChannel for free, and there's no need to specify
further.
Individual Intent authors can do that themselves.



Yes. We envision RPC-style request/response as the sweet spot
for intents. We've definitely considered use cases which are
better served by opening a persistent

On the subject of MessageChannels, my thoughts have been that you
don't pass the data across it, as you would for say share
image/*, but rather it is the initiation of a protocol - whose
mime-type is yet to be determined; something like
application/x-protocol-uucp


My concern is the plumbing of Transferable.
Sending Array Buffers across channels is great for short apps.

Here's the webkit meta-bug as they work on postMessage semantics.
https://bugs.webkit.org/show_bug.cgi?id=64629

It's a transfer intent. I'm transferring ownership of a buffer
or a stream.
It's still appropriate that mime types be specified. Many
protocols have them.

-Charles


Sure, you can defiantly pass data across them, what I was referring to 
(if I understand your point) is that the MessageChannel is used for 
protocols that are more complex that the request/response that 
webintents has now.  And to ensure that both client and service are 
talking the same protocol then the mime type is for the protocol and 
not the data going across it.


Yes, I understand the reference. It's important that services are 
register themselves to appropriate mime types and intents. The intent 
field is a simple DOMString, and it's reasonably wide-open for use. 
Should we treat the mime type field in similar manner? Web messaging is 
so-easy to use, I'd expect a flood of micro-protocols.


What's our plumbing to effectively work with the postMessage transfer 
semantic? It seems like transfer might be a special case intent. 
Everything else does a data copy. Transferring an array buffer means the 
current thread can no longer access that buffer.


This is, approximately, what I'm thinking about:

var intent = new Intent(http://webintents.org/transfer;,
  application/octet-stream+myprotocol,
 [messagePort, arrayBuffer]);

The transfer intent signals that postMessage transfer semantics are 
going to be used.


-Charles



Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-18 Thread timeless
I'd like to request that people stop sending posts about web intents to

public-webapps@w3.org and public-device-a...@w3.org

The new list exists and should be used:
http://lists.w3.org/Archives/Public/public-web-intents/2011Nov/

On 11/18/11, Charles Pritchard ch...@jumis.com wrote:
 On 11/18/11 10:29 AM, Paul Kinlan wrote:


 On Fri, Nov 18, 2011 at 7:23 PM, Charles Pritchard ch...@jumis.com
 mailto:ch...@jumis.com wrote:

 On 11/18/11 1:40 AM, Paul Kinlan wrote:


 On Fri, Nov 18, 2011 at 2:15 AM, Greg Billock
 gbill...@google.com mailto:gbill...@google.com wrote:

 On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard
 ch...@jumis.com mailto:ch...@jumis.com wrote:

 As far as I can tell, the model doesn't prohibit, nor
 does it encourage, the passing of MessageChannel.
 It's very much made for an RPC style of communication,
 but if the message being passed back is a channel, well
 that's just fine.

 Am I mistaken? What I'm seeing is that we get
 MessageChannel for free, and there's no need to specify
 further.
 Individual Intent authors can do that themselves.



 Yes. We envision RPC-style request/response as the sweet spot
 for intents. We've definitely considered use cases which are
 better served by opening a persistent

 On the subject of MessageChannels, my thoughts have been that you
 don't pass the data across it, as you would for say share
 image/*, but rather it is the initiation of a protocol - whose
 mime-type is yet to be determined; something like
 application/x-protocol-uucp

 My concern is the plumbing of Transferable.
 Sending Array Buffers across channels is great for short apps.

 Here's the webkit meta-bug as they work on postMessage semantics.
 https://bugs.webkit.org/show_bug.cgi?id=64629

 It's a transfer intent. I'm transferring ownership of a buffer
 or a stream.
 It's still appropriate that mime types be specified. Many
 protocols have them.

 -Charles


 Sure, you can defiantly pass data across them, what I was referring to
 (if I understand your point) is that the MessageChannel is used for
 protocols that are more complex that the request/response that
 webintents has now.  And to ensure that both client and service are
 talking the same protocol then the mime type is for the protocol and
 not the data going across it.

 Yes, I understand the reference. It's important that services are
 register themselves to appropriate mime types and intents. The intent
 field is a simple DOMString, and it's reasonably wide-open for use.
 Should we treat the mime type field in similar manner? Web messaging is
 so-easy to use, I'd expect a flood of micro-protocols.

 What's our plumbing to effectively work with the postMessage transfer
 semantic? It seems like transfer might be a special case intent.
 Everything else does a data copy. Transferring an array buffer means the
 current thread can no longer access that buffer.

 This is, approximately, what I'm thinking about:

 var intent = new Intent(http://webintents.org/transfer;,
application/octet-stream+myprotocol,
   [messagePort, arrayBuffer]);

 The transfer intent signals that postMessage transfer semantics are
 going to be used.

 -Charles



-- 
Sent from my mobile device



Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-17 Thread Greg Billock
On Mon, Nov 14, 2011 at 7:24 PM, Charles Pritchard ch...@jumis.com wrote:

 **
 Does anybody use registerProtocolHandler in any real sense? Is
 registerContentHandler needed? It seems like Web Intents is an evolution on
 the concept. I don't think we're going to see convergence on those old
 methods. I'm ready to leave them both in favor of a yet-to-be announced
 candidate (web intents).

 URIs are better than protocols,  and Intents are better than content
 handlers. In my opinion.


RPH seems to be intended primarily for mailto: (I think that's where it is
used.) I'm not sure what the RCH usage is like. It is definitely possible
to imagine mapping UA handling of mailto: onto web intents. The way I think
of it is like this: RPH is basically an action with a payload. RCH is
essentially type info with the payload. Web Intents is kind of off-axis
with both an action and a type as well as the payload. The idea (taking
inspiration from the pluggable usage in the Android ecosystem) is that the
action (analogous to the protocol) is a locus between the client and
handling service which can be messaged to the user in a well-understood
way. (i.e. instead of just saying here's some data, do whatever you want
with it, which is a more content-type-driven


As far as I can tell, the model doesn't prohibit, nor does it encourage,
 the passing of MessageChannel.
 It's very much made for an RPC style of communication, but if the message
 being passed back is a channel, well that's just fine.

 Am I mistaken? What I'm seeing is that we get MessageChannel for free, and
 there's no need to specify further.
 Individual Intent authors can do that themselves.



Yes. We envision RPC-style request/response as the sweet spot for intents.
We've definitely considered use cases which are better served by opening a
persistent channel. It isn't clear to me as yet what to do about those.
They definitely imply a more well-specified protocol to be pursued over
that channel. Web Intents as an API doesn't really include or exclude that
in the current form.

On the other hand, it'd be a really nice application of the Web Intents
permissions mechanism to be able to connect up, say, an SSH connection
using Web Intents, so that I could write an in-browser terminal which could
then be attached to a secure socket by the user.

At this point, I'm not sure whether this kind of persistent connection use
case is far enough from Web Intents to want to exclude it, or close enough
to want to include it explicitly. Our early belief is that we aren't ruling
it out with the proposed API, since MessageChannels could be provided or
returned in the payload data. On the other hand, we haven't chosen to
explicitly include such usage.

But a lot of this stuff just comes with nice platform integration; I just
tried passing Blob objects through intents in Chrome Tip-of-Tree with our
prototype, and it Just Works, allowing a really appealing vision into what
upload intents and file interactions could be like. Wins like that make
me think that focusing on the sweet spot RPC interaction will not paint us
into a corner.

-Greg


Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-16 Thread Dave Raggett

On 15/11/11 20:46, Paul Kinlan wrote:
This is the way that I have implemented it in test apps.  It is the 
handler app that will show the progress information.  I have not had a 
case yet where the client app needs or is concerned about the progress 
of the action that is being handled, other than on completion or on error.


So you are assuming the handler app always has a client-side API 
independent of the client app, even if the handler app is itself remote? 
I am looking forward to the seeing the use cases, as background for the 
assumptions.




I will launch a whole lot of new demo's soon so that we can all see them.


Looking forward to them.
--

Dave Raggettd...@w3.org  http://www.w3.org/People/Raggett




Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread James Hawkins
A bit of back story: when designing and iterating the API, we focused
heavily on use cases.  We were unable to come up with a compelling
(enough) use case for handling progress notifications, though the use
cases we did have allowed us to think of ways to modify the API to
support those use cases (not added to the current API).

What use cases are you envisioning will require progress events?

Thanks,
James

On Mon, Nov 14, 2011 at 7:30 PM, Charles Pritchard ch...@jumis.com wrote:
 So, to make things difficult again -- how do we monitor progress?
 When I'm saving to the cloud, I want my XHR onprogress.

 I don't need high-fidelity progress events -- they don't even make sense
 when one server is copying to another,
 but I do need something, otherwise we're back in the dark ages of polling on
 a separate channel.

 This is an area where a MessageChannel could be handy; even an EventSource
 would work out,
 though it feels a little awkward. It's only one way, which is all that's
 needed, so maybe it's the right place to be looking.

 http://dev.w3.org/html5/eventsource/


 -Charles


 On 11/13/11 3:24 PM, Paul Kinlan wrote:

 On the subject of FileSaver, specifically window.saveAs, I have demos that
 show use of http://webintents.org/save; intent which fits work very well
 and it would be up to the UA to decide if they want to offer an interface
 for access to the local fileSystem.  So it could either be a cloud or local
 FS that the user chooses.

 On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchard ch...@jumis.com
 wrote:

 On 11/10/11 3:10 PM, Greg Billock wrote:

 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.





Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread Charles Pritchard
I may be misunderstanding things, but I was thinking that saving a file 
to the cloud.


FileSaver and XHR have onprogress events so users don't wonder too-much 
about large file uploads.


Those are the only cases I was thinking of.

-Charles

On 11/15/2011 10:31 AM, James Hawkins wrote:

A bit of back story: when designing and iterating the API, we focused
heavily on use cases.  We were unable to come up with a compelling
(enough) use case for handling progress notifications, though the use
cases we did have allowed us to think of ways to modify the API to
support those use cases (not added to the current API).

What use cases are you envisioning will require progress events?

Thanks,
James

On Mon, Nov 14, 2011 at 7:30 PM, Charles Pritchardch...@jumis.com  wrote:

So, to make things difficult again -- how do we monitor progress?
When I'm saving to the cloud, I want my XHR onprogress.

I don't need high-fidelity progress events -- they don't even make sense
when one server is copying to another,
but I do need something, otherwise we're back in the dark ages of polling on
a separate channel.

This is an area where a MessageChannel could be handy; even an EventSource
would work out,
though it feels a little awkward. It's only one way, which is all that's
needed, so maybe it's the right place to be looking.

http://dev.w3.org/html5/eventsource/


-Charles


On 11/13/11 3:24 PM, Paul Kinlan wrote:

On the subject of FileSaver, specifically window.saveAs, I have demos that
show use of http://webintents.org/save; intent which fits work very well
and it would be up to the UA to decide if they want to offer an interface
for access to the local fileSystem.  So it could either be a cloud or local
FS that the user chooses.

On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchardch...@jumis.com
wrote:

On 11/10/11 3:10 PM, Greg Billock wrote:

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.







RE: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread Josh Soref
James wrote: 
 A bit of back story: when designing and iterating the API, we focused heavily
 on use cases.  We were unable to come up with a compelling
 (enough) use case for handling progress notifications, though the use cases we
 did have allowed us to think of ways to modify the API to support those use
 cases (not added to the current API).

Is it possible to get your UCs published somewhere?

-
This transmission (including any attachments) may contain confidential 
information, privileged material (including material protected by the 
solicitor-client or other applicable privileges), or constitute non-public 
information. Any use of this information by anyone other than the intended 
recipient is prohibited. If you have received this transmission in error, 
please immediately reply to the sender and delete this information from your 
system. Use, dissemination, distribution, or reproduction of this transmission 
by unintended recipients is not authorized and may be unlawful.


Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread James Hawkins
http://usecases.webintents.org/

Though admittedly it's not complete, and we need to update the site
with a list of use cases we've rejected.

On Tue, Nov 15, 2011 at 11:30 AM, Josh Soref jso...@rim.com wrote:
 James wrote:
 A bit of back story: when designing and iterating the API, we focused heavily
 on use cases.  We were unable to come up with a compelling
 (enough) use case for handling progress notifications, though the use cases 
 we
 did have allowed us to think of ways to modify the API to support those use
 cases (not added to the current API).

 Is it possible to get your UCs published somewhere?

 -
 This transmission (including any attachments) may contain confidential 
 information, privileged material (including material protected by the 
 solicitor-client or other applicable privileges), or constitute non-public 
 information. Any use of this information by anyone other than the intended 
 recipient is prohibited. If you have received this transmission in error, 
 please immediately reply to the sender and delete this information from your 
 system. Use, dissemination, distribution, or reproduction of this 
 transmission by unintended recipients is not authorized and may be unlawful.




Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread James Hawkins
Since we don't have background intents (many reasons why, though we
looked into the idea), the service is responsible for displaying
progress UI for this use case.

For example imagine the service is Dropbox: the client initiates the
upload action and Dropbox is selected as the service by the user.
Likely Dropbox will use an inline disposition.  The picker will be
open showing the service until the operation is complete.  Dropbox
should show the upload progress UI in their UI in this case.

Does that work in your mind?  I'm not attempting to put the kibosh on
this line of thought; I'm very open to any use cases where progression
notifications to the client are necessary for a good UX.

James

On Tue, Nov 15, 2011 at 11:15 AM, Charles Pritchard ch...@jumis.com wrote:
 I may be misunderstanding things, but I was thinking that saving a file to
 the cloud.

 FileSaver and XHR have onprogress events so users don't wonder too-much
 about large file uploads.

 Those are the only cases I was thinking of.

 -Charles

 On 11/15/2011 10:31 AM, James Hawkins wrote:

 A bit of back story: when designing and iterating the API, we focused
 heavily on use cases.  We were unable to come up with a compelling
 (enough) use case for handling progress notifications, though the use
 cases we did have allowed us to think of ways to modify the API to
 support those use cases (not added to the current API).

 What use cases are you envisioning will require progress events?

 Thanks,
 James

 On Mon, Nov 14, 2011 at 7:30 PM, Charles Pritchardch...@jumis.com
  wrote:

 So, to make things difficult again -- how do we monitor progress?
 When I'm saving to the cloud, I want my XHR onprogress.

 I don't need high-fidelity progress events -- they don't even make sense
 when one server is copying to another,
 but I do need something, otherwise we're back in the dark ages of polling
 on
 a separate channel.

 This is an area where a MessageChannel could be handy; even an
 EventSource
 would work out,
 though it feels a little awkward. It's only one way, which is all that's
 needed, so maybe it's the right place to be looking.

 http://dev.w3.org/html5/eventsource/


 -Charles


 On 11/13/11 3:24 PM, Paul Kinlan wrote:

 On the subject of FileSaver, specifically window.saveAs, I have demos
 that
 show use of http://webintents.org/save; intent which fits work very well
 and it would be up to the UA to decide if they want to offer an interface
 for access to the local fileSystem.  So it could either be a cloud or
 local
 FS that the user chooses.

 On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchardch...@jumis.com
 wrote:

 On 11/10/11 3:10 PM, Greg Billock wrote:

 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.






Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-15 Thread Paul Kinlan
This is the way that I have implemented it in test apps.  It is the handler
app that will show the progress information.  I have not had a case yet
where the client app needs or is concerned about the progress of the action
that is being handled, other than on completion or on error.

I will launch a whole lot of new demo's soon so that we can all see them.

P

On Tue, Nov 15, 2011 at 9:37 PM, Charles Pritchard ch...@jumis.com wrote:

 Yes, that works in my mind.

 -Charles


 On 11/15/11 12:36 PM, James Hawkins wrote:

 Since we don't have background intents (many reasons why, though we
 looked into the idea), the service is responsible for displaying
 progress UI for this use case.

 For example imagine the service is Dropbox: the client initiates the
 upload action and Dropbox is selected as the service by the user.
 Likely Dropbox will use an inline disposition.  The picker will be
 open showing the service until the operation is complete.  Dropbox
 should show the upload progress UI in their UI in this case.

 Does that work in your mind?  I'm not attempting to put the kibosh on
 this line of thought; I'm very open to any use cases where progression
 notifications to the client are necessary for a good UX.

 James

 On Tue, Nov 15, 2011 at 11:15 AM, Charles Pritchardch...@jumis.com
  wrote:

 I may be misunderstanding things, but I was thinking that saving a file
 to
 the cloud.

 FileSaver and XHR have onprogress events so users don't wonder too-much
 about large file uploads.

 Those are the only cases I was thinking of.

 -Charles

 On 11/15/2011 10:31 AM, James Hawkins wrote:

 A bit of back story: when designing and iterating the API, we focused
 heavily on use cases.  We were unable to come up with a compelling
 (enough) use case for handling progress notifications, though the use
 cases we did have allowed us to think of ways to modify the API to
 support those use cases (not added to the current API).

 What use cases are you envisioning will require progress events?

 Thanks,
 James

 On Mon, Nov 14, 2011 at 7:30 PM, Charles Pritchardch...@jumis.com
  wrote:

 So, to make things difficult again -- how do we monitor progress?
 When I'm saving to the cloud, I want my XHR onprogress.

 I don't need high-fidelity progress events -- they don't even make
 sense
 when one server is copying to another,
 but I do need something, otherwise we're back in the dark ages of
 polling
 on
 a separate channel.

 This is an area where a MessageChannel could be handy; even an
 EventSource
 would work out,
 though it feels a little awkward. It's only one way, which is all
 that's
 needed, so maybe it's the right place to be looking.

 http://dev.w3.org/html5/**eventsource/http://dev.w3.org/html5/eventsource/


 -Charles


 On 11/13/11 3:24 PM, Paul Kinlan wrote:

 On the subject of FileSaver, specifically window.saveAs, I have demos
 that
 show use of http://webintents.org/save; intent which fits work very
 well
 and it would be up to the UA to decide if they want to offer an
 interface
 for access to the local fileSystem.  So it could either be a cloud or
 local
 FS that the user chooses.

 On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchardch...@jumis.com
 wrote:

 On 11/10/11 3:10 PM, Greg Billock wrote:

 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.






-- 
Paul Kinlan
Developer Advocate @ Google for Chrome and HTML5
G+: http://plus.ly/paul.kinlan
t: +447730517944
tw: @Paul_Kinlan
LinkedIn: http://uk.linkedin.com/in/paulkinlan
Blog: http://paul.kinlan.me
Skype: paul.kinlan


Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-14 Thread Charles Pritchard

On 11/13/11 3:18 PM, Paul Kinlan wrote:


On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchard ch...@jumis.com 
mailto:ch...@jumis.com wrote:


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.


The intent model can support view with the associated MIME-type 
which is what regsiterContentHandler does.  The point we need to 
discuss is registerContentHandler will implicitly start when a file is 
loaded with that mime-type, so should a UA initiate startActivity 
implicitly with a view, the detected mime type and the file data?




Seems like the UA gets to make all of the decisions here.

I think the disposition=inline vs. [a download] really sets up the 
intent well. If the anchor is marked for inline, it makes a lot of sense 
that the UA would check on its registered intents for handling it 
implicitly. There's no reason to push authors into triggering intents 
when the user can setup those preferences on their own.


PDF is a good model for this one... it's a view situation and it's 
likely to have only one viewer, and it's also likely to be viewed 
inline. Mozilla's work on PDF.js is certainly showing the power of web 
app registration for this complex file format. I know if I register 
pdf.js as my PDF viewer, that's what I want to pop up. I also know that, 
if I'm running Chrome, I want, somewhere, the option of switching 
between the Foxit and Mozilla viewers.


I'm not really happy with the Chrome interface for adding and removing 
registered protocol handlers. It's so buried, nobody is going to know 
about it. Web Intents really fills that gap of Open With... and 
context menus. I find the existing context-menu solution distasteful: a 
background page just so I can register a link? ugh!#$.


Does anybody use registerProtocolHandler in any real sense? Is 
registerContentHandler needed? It seems like Web Intents is an evolution 
on the concept. I don't think we're going to see convergence on those 
old methods. I'm ready to leave them both in favor of a yet-to-be 
announced candidate (web intents).


URIs are better than protocols,  and Intents are better than content 
handlers. In my opinion.





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 

Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-14 Thread Charles Pritchard

So, to make things difficult again -- how do we monitor progress?
When I'm saving to the cloud, I want my XHR onprogress.

I don't need high-fidelity progress events -- they don't even make sense 
when one server is copying to another,
but I do need something, otherwise we're back in the dark ages of 
polling on a separate channel.


This is an area where a MessageChannel could be handy; even an 
EventSource would work out,
though it feels a little awkward. It's only one way, which is all that's 
needed, so maybe it's the right place to be looking.


http://dev.w3.org/html5/eventsource/


-Charles


On 11/13/11 3:24 PM, Paul Kinlan wrote:
On the subject of FileSaver, specifically window.saveAs, I have demos 
that show use of http://webintents.org/save; intent which fits work 
very well and it would be up to the UA to decide if they want to offer 
an interface for access to the local fileSystem.  So it could either 
be a cloud or local FS that the user chooses.



On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchard
ch...@jumis.com mailto:ch...@jumis.com wrote:

On 11/10/11 3:10 PM, Greg Billock wrote:



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.





Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-13 Thread Charles Pritchard

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 

Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-13 Thread Paul Kinlan
Hi,

CIL

On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchard ch...@jumis.com wrote:

 **
 On 11/10/11 3:10 PM, Greg Billock wrote:



 On Thu, Nov 10, 2011 at 8:15 AM, Rich Tibbett 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.


The intent model can support view with the associated MIME-type which is
what regsiterContentHandler does.  The point we need to discuss is
registerContentHandler will implicitly start when a file is loaded with
that mime-type, so should a UA initiate startActivity implicitly with a
view, the detected mime type and the file data?



 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 am currently tracking this.





   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

Re: Web Messaging Intents, was: Re: [DRAFT] Web Intents Task Force Charter

2011-11-13 Thread Paul Kinlan
On the subject of FileSaver, specifically window.saveAs, I have demos that
show use of http://webintents.org/save; intent which fits work very well
and it would be up to the UA to decide if they want to offer an interface
for access to the local fileSystem.  So it could either be a cloud or local
FS that the user chooses.



On Sun, Nov 13, 2011 at 11:18 PM, Paul Kinlan paulkin...@google.com wrote:

 Hi,

 CIL

 On Sun, Nov 13, 2011 at 10:35 PM, Charles Pritchard ch...@jumis.comwrote:

 **
 On 11/10/11 3:10 PM, Greg Billock wrote:



 On Thu, Nov 10, 2011 at 8:15 AM, Rich Tibbett 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.


 The intent model can support view with the associated MIME-type which is
 what regsiterContentHandler does.  The point we need to discuss is
 registerContentHandler will implicitly start when a file is loaded with
 that mime-type, so should a UA initiate startActivity implicitly with a
 view, the detected mime type and the file data?



 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 am currently tracking this.





   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