- From: Sam Goto <goto@google.com>
- Date: Thu, 13 Feb 2014 16:48:10 -0800
- To: Jason Johnson <jasjoh@microsoft.com>, Markus Lanthaler <markus.lanthaler@gmx.net>
- Cc: W3C Web Schemas Task Force <public-vocabs@w3.org>, public-hydra@w3.org
- Message-ID: <CAMtUnc5jaNF4z0O=_qGDzbpd0kjCXtuddV96Pq_xzpooUiT9+g@mail.gmail.com>
Breaking up the thread here to have a more focused conversation. So, you originally wrote: ============================================================ Kind of. What I was trying to do is to remove the whole ActionHandler stuff. I don't want there to be "endpoints" which I can use to invoke the operation. In my world view, operations are executed on the resource. In other words, operations describe the things you can do with a resource, not where you can send the resource to. In the optimal case, there wouldn't be a need to describe Android intent handlers as Android would be able to recognize the resource and its operations and then figure out which locally installed app can handle that combination. That's, however, too ambitious at the moment. Thus we probably need an alternative for the time being. One option would be (as I mentioned to you in another mail) to separately describe Web resources and "app resources". To be a bit clearer: What I have in mind is to link from the Web resource to the app, similar to how App Indexing for Google Search works: https://developers.google.com/app-indexing/webmasters/details So, a simple example would look like this: { "@context": "http://schema.org", "@id": "http://example.com/web/resource", "operation": ... operations supported by the web resource ... ... "alternate": { "@id": "android-app://com.package/android/resource", "@type": "AndroidAppLink", ... "operation": ... possible but not necessary IMO ... } } I simply reused App Indexing's "alternate" link relation here but appLink or perhaps even sameAs could work just as well. Obviously you can further describe that Android resource. Does this make it any clearer? ============================================================ Lets explore this a bit more. If I understand you correctly, here is what a resource (that can be found in different platforms) would look like: { "@context": "http://schema.org", "@id": "http://example.com/web/resource", "operation": [{ @type: ViewAction }, { @type: BuyAction }] "alternate": [{ "@id": "android-app://com.package/android/resource", "@type": "AndroidAppLink", }, { "@id": "msApplication://microsoft.build.App/resource?arg1=1,arg2=2,etc", "@type": "WindowsAppLink", }, { "@id": "myapp.com://resource?arg1=1,arg2=2", "@type": "iOSAppLink", }, { "@id": "https://www.googleapis.com/example/v3/examples/resourceid", "@type": "ApiAppLink", },] } Few questions: 1) Microsoft Windows resources<http://msdn.microsoft.com/en-us/library/ie/hh781489(v=vs.85).aspx>can only be reached if the user has a "minimum version" of the app installed. How do you deal with that? Where does the minVersion information goes? 2) How would you be able to express that you CANNOT BuyAction on the AndroidAppLink resource (e.g. your mobile app resource isn't as fancy as your website)? 3) Developers have the ability to specify "how" to execute the HTTP call (e.g. pick a specific parameter encoding<https://developers.google.com/gmail/actions/reference/types/HttpActionHandler>). How do we go about that without the ActionHandler? Sam
Received on Friday, 14 February 2014 00:48:39 UTC