FW: An updated draft of the schema.org/Actions proposal!

FYI, Sam just published a new draft of Actions in Schema.org.

 

(Please excuse the HTML but otherwise the links would have gone lost)

 

 

From: Sam Goto [mailto:goto@google.com] 
Sent: Tuesday, February 04, 2014 2:31 AM
To: W3C Web Schemas Task Force
Subject: An updated draft of the schema.org/Actions proposal!

 

Hey all,

 

  Lots of threads/issues were closed recently, so I figure it was about time to put out a new draft <https://www.w3.org/wiki/images/2/25/Schemaorg-actions-draft5.pdf>  (commentable version <https://docs.google.com/document/d/1JDD8kOsSoe2BrQVCm1t2cmcGGlj0gwcvOHfWmXTBndM/edit> ) that expressed our latest thinking.

 

  We don't think this is rock solid yet, but we wanted to give you an update on the progress we made recently as well as encourage you to keep sending your thoughts on the challenges that we still face.

 

  Here are the main deltas from our last draft:

·  Thing.operation resource model <http://schema-drafts.appspot.com/Thing?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> 

·  Usage of Collections <http://schema.org/ItemList> 

·  MS Windows Handlers <http://schema-drafts.appspot.com/WindowsHandler?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> 

·  expects <http://schema-drafts.appspot.com/Action?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> 

   You'll find that while the vocabulary spec hasn't changed much, it is a lot clearer how to express things like "Netflix can stream movies" now (which we used to call the "action -> resource problem").

 

   The notion of Collections solves a wide set of problems, such as searching for restaurant reservations or creating restaurant orders.

 

    Here is what the actions launched with gmail would look like with our revisited model:

·  Watching Movies <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/movies/123>  (old <https://developers.google.com/gmail/actions/reference/go-to-action> )

·  Tracking ParcelDelivery <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/deliveries/123>  (old <https://developers.google.com/gmail/actions/reference/go-to-action> )

·  Saving an Offer <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/offers/123>  (old <https://developers.google.com/gmail/actions/reference/one-click-action> )

·  Reviewing Products <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/products/123>  (old <https://developers.google.com/gmail/actions/reference/review-action> )

·  RSVP-ing to Events <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/events/123>  (old <https://developers.google.com/gmail/actions/reference/rsvp-action> )

    Along with the new draft, we've created a number of different resources to inform our design and help explain the basic concepts. We've created:

·  a set of demos <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to>  that cover most of the use cases we discussed as a group. here are some of the most interesting ones:

o Checking-into a Flight <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/airlines/123/flights/123> 

o Booking a Taxi <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/taxistands/123> 

o Reserving Restaurants tables <http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to/restaurants/123> 

·  a presentation <https://docs.google.com/a/google.com/presentation/d/1tBA8jw4UQDl-areLdJaSGcf3KWEVcTuXPaRm6HNiSEc/present#slide=id.p>  with a basic set of use cases walk through

·  this <https://plus.google.com/+SamuelGoto>  is me on google+, where I'll try to post <http://blog.sgo.to/2014/02/a-proposal-for-schema-org-actions.html>  more frequently about actions and the thought process

   I broke down the spec in two parts:

·  Basic concepts: Thing.operation <http://schema-drafts.appspot.com/operation?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> , statuzes <http://schema-drafts.appspot.com/ActionStatus?draft=http://sgo.to/src/proposals/actions-draft5.0.txt>  and handlers <http://schema-drafts.appspot.com/ActionHandler?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> 

·  Advanced concepts: HttpHandler <http://schema-drafts.appspot.com/HttpHandler?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> , SupportedClass <http://schema-drafts.appspot.com/SupportedClass?draft=http://sgo.to/src/proposals/actions-draft5.0.txt>  and expects <http://schema-drafts.appspot.com/expects?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> 

   I think things are looking fairly solid on the Basic concepts (which actually solve a wide variety of problems). There are still challenges on the Advanced Concepts, and that's where I'm focusing most of my energy lately.

   The most challenging part of what's ahead from a vocabulary perspective is how to express expects <http://schema-drafts.appspot.com/expects?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> , with SupportedClass <http://schema-drafts.appspot.com/SupportedClass?draft=http://sgo.to/src/proposals/actions-draft5.0.txt>  being our current best proposal (which we are not super happy with yet).

   The other challenging part that I've been working on is a formalization of the protocol of handlers, specifically HttpHandler <http://schema-drafts.appspot.com/HttpHandler?draft=http://sgo.to/src/proposals/actions-draft5.0.txt> . Gmail got something started <https://developers.google.com/gmail/actions/actions/handling-action-requests> , but we need to do a better job understanding how things like authentication/authorization will work, sitemaps vs markup vs JSON-LD, error handling, caching, etc. WebFormHandler isn't well formed either, so we need to work on that.

   So, do expect me to follow up on these two open questions as my next steps.

 

    We've integrated some of the ideas from the Hydra model <http://hydra-cg.com/spec/latest/schema.org/> . Markus has been super constructive and we got really good ideas from our interactions. Thanks Markus!

 

   Lastly, huge shout out to Jason Johnson who who came up with really tough questions/solutions in this new draft and met with me on a daily basis for the last couple of months to help us sort this out! He even wrote his own understanding <https://docs.google.com/document/d/1ROF0zrxTXrX2M3-_PknUMMq1jd1Mbo8myplc5hVOp4g/edit>  of the spec, which is a great read of the spec from a different perspective.

 

   Thanks, Sam

Received on Tuesday, 4 February 2014 17:28:57 UTC