Re: Proposal for using web intents for a print intent

Claes,

This is a nice summary and is consistent with the requirements I want to
support.

-Clarke

On 1/26/12 8:53 AM, "Nilsson, Claes1" <Claes1.Nilsson@sonyericsson.com>
wrote:

>Hi Paul and others,
>
>This comes back to the issue on "what is a Service in the context of Web
>Intents?" that I highlighted in [1].
>
>Furthermore, printing was an example and we should probably more have the
>use cases in [2] in focus.
>
>I see that we have two issues to discuss:
>
>1. Broadening/extending the concept of Web Intents Service to allowing
>Services to be not only represented as web pages but also as
>services/devices dynamically discovered through some underlying low level
>discovery/communication mechanism such as UPnP or Bluetooth. These
>dynamic Services may or may not have a UI.
>2. How to achieve a persistent communication/control relation between the
>Client web application and the Service.
>
>So 1 means that the Web Intents framework implementation in the UA
>(optionally) should support:
>- Access to common low level discovery/communication mechanisms such as
>UPnP and Bluetooth.
>- Dynamic creation and registration of Web Intents Services.
>Correct?
>
>For 2 Dave proposes a "handler object" as payload, but Greg states this
>will not work based on the current definition on Intents payload. Paul
>suggests using HTML5 message channels and Service specific JSON protocols
>on this channel. As HTML5 Web Messaging is designed to support
>communication between two browsing contexts I wonder if this mechanisms
>can be used to communicate between the Client web application and a
>Service that is dynamically created by the Web Intents framework in the
>UA? Or should the UA dynamically create a browsing context representing
>the discovered Service in this case?
>
>My view on the strength of Web Intents is that a Service could reside
>anywhere. The Client web application should not have to know anything
>about where the Service resides. So, if we look at the use case "Push
>Play" in [2] the TV could be found in the local network and discovered
>through UPnP but it could also be found through the global cloud. I
>assume that the TV Service (in Web Intents context) is dynamically
>created by the Web Intents implementation for the local case but how is
>it for a TV discovered through the cloud? Under all circumstances we want
>the Client application to be able to use the same commands/protocol
>irrespective of where the TV resides.
>
>Best regards
>  Claes
>
>
>
>[1] 
>http://lists.w3.org/Archives/Public/public-web-intents/2012Jan/0035.html
>[2] http://www.w3.org/wiki/WebIntents/Home_Discovery_and_Web_Intents
>
>
>
>> -----Original Message-----
>> From: Paul Kinlan [mailto:paulkinlan@google.com]
>> Sent: den 26 januari 2012 03:46
>> To: James Hawkins
>> Cc: Dave Raggett; public-web-intents@w3.org
>> Subject: Re: Proposal for using web intents for a print intent
>> 
>> My use case is for www.imagemator.com to have a print button where I
>> can go and send the photo directly to Costco's web print service.
>> 
>> Not wanting to speak (but I will take a leap of judgement) for Claes
>> and Dave, they want to be able to interact with the Device (I have a
>> couple of partners that I work with that would like the same thing)
>> directly and be able to manage the printer status, so that they can
>> interact with the printer to recieve higher level notifications and
>> also manage the print queue (perhaps to cancel a job) via the app and
>> not an external manager app.
>> 
>> To this effect I think this can be done with the methods that we have
>> been discussing in the past.
>> 
>> var channel = new MessageChannel();
>> var port2 = channel.port2();
>> var port1 = channel.port1();
>> port2.onmessage = function(e) {
>>   if(e.data.message == "notify") { .. }
>>   if(e.data.message == "ready") { port1.postMessage({ "message" :
>> "start_job", data: data, options: { media_size: "A4", "color" : true}
>> });
>> 
>> };
>> var intent = new Intent("http://webintents.org/print",
>> "appiliation/x-printer-controler", channel.port1());
>> window.navigator.startActivity(intent, function() { /* yay */ });
>> 
>> It has some message protocol nitty gritty, but you can abstract that
>> in a higher level API.
>> 
>> I imagine I would use the Intent system to print as follows:
>> 
>> var urls = ["url1", "url2", "url3"]
>> var intent = new Intent("http://webintents.org/print",
>> "appiliation/pdf", urls]);
>> window.navigator.startActivity(intent, function() { /* yay */ });
>> 
>> With costco being a handler, and just accepting the images I passed in.
>> 
>> 
>> 
>> On Wed, Jan 25, 2012 at 6:30 PM, James Hawkins <jhawkins@chromium.org>
>> wrote:
>> > OK I think we're getting closer.  Can you explain this in terms of
>> example
>> > client(s) and respective service(s)?
>> >
>> >
>> > On Wed, Jan 25, 2012 at 6:28 PM, Paul Kinlan <paulkinlan@google.com>
>> wrote:
>> >>
>> >> I know this email was a little more complex way of interacting with
>> >> printing devices, but the simpler case is much like "share" intent
>> >> where there a cloud based printing solutions that accept just a PDF
>> or
>> >> document, the theory being that you "print" a document and via
>> >> webintents it sends it to an API or service that will render it to
>> >> paper or something else that can than be mailed to someone.
>> >>
>> >> I always imagined it to be something like:
>> >> +
>> >>
>> https://printonline.fedex.com/v2.3.0/?s_kwcid=TC|16501|print%20companie
>> s||S|b|9706081275&&cmp=KNC-1000441-003-002-0950-0010000-US-US-EN-
>> GPOL00000000000&x=1&s_kwcid=TC|16501|print%20companies||S|b|9706081275
>> >> Or
>> >> Costco's send to print images online and then collect them in the
>> >> store
>> >>
>> (http://www.costcophotocenter.com/account/login.aspx?ReturnUrl=%2falbum
>> %2f)
>> >>
>> >> The verb "save" and "share" doesn't quite fit the intention of the
>> user.
>> >>
>> >> On Wed, Jan 25, 2012 at 6:07 PM, James Hawkins
>> <jhawkins@chromium.org>
>> >> wrote:
>> >> > What is the use case for this?  What I'm really asking is what do
>> you
>> >> > need
>> >> > that is not handled by existing browser printing, e.g.,
>> window.print?
>> >> >
>> >> > Thanks,
>> >> > James
>> >> >
>> >> > On Wed, Jan 25, 2012 at 3:51 AM, Dave Raggett <dsr@w3.org> wrote:
>> >> >>
>> >> >> I spotted an error in my example:
>> >> >>
>> >> >> On 25/01/12 11:40, Dave Raggett wrote:
>> >> >>
>> >> >> > // now start the activity and redirect
>> >> >> > // the onSuccess, and onFail functions
>> >> >> > // to methods on the intent data object
>> >> >> >
>> >> >> > window.navigator.startActivity(intent,
>> >> >> >   function (data) { intent.success(data); },
>> >> >> >   function (data) { intent.fail(data); }
>> >> >> > );
>> >> >>
>> >> >> Should have been:
>> >> >>
>> >> >> window.navigator.startActivity(intent,
>> >> >>  function (data) { intent.data.success(data); },
>> >> >>  function (data) { intent.data.fail(data); }
>> >> >> );
>> >> >>
>> >> >> sorry about that.
>> >> >> --
>> >> >> Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> 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
>> >
>> >
>> 
>> 
>> 
>> --
>> 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
>
>

Received on Thursday, 26 January 2012 17:03:08 UTC