Re: Moving Modelling Opportunity data to Final Specification - a request

Hi Leigh,

Great progress! We at Makesweat are delighted to be one of the initial 
data publishers.

I thought it might be useful to share our recent experience of working 
with the spec and an implementation in light of Nick's comments; 
certainly not with the depth of knowledge that Nick has around 
standards, so excuse me if my comments are a bit layman!

  * I strongly support the 'complete example' proposal. In practice
    organisations want to get as close to publish-ready as quickly as
    possible (reducing the cost of coming onboard), and building a
    look-alike data extract against the 'example' is really helpful. A
    'hello world' if you like. I'd suggest the main example be designed
    for clarity, hitting 80% of the likely providers rather than every
    edge case (i.e. avoid sub-events, as that sounds conceptually more
    difficult).
  * Agree with Nick's definition of organizer as the person who's
    ultimately delivering the opportunity. Makesweat's opportunities are
    delivered by our customers; uniquely identifiable third parties -
    amateur sports clubs, yoga studios, etc.
  * Agree to remove heightrange and weightrange. I'm pretty sure we'd
    never include this in our data. It feels edge-case; at that level of
    granularity, I'd expect the opportunity description to take over.

   Cheers!

     Nick


On 13/07/2017 19:38, Nick Evans wrote:
> Hi Leigh,
>
> Thanks for this. Actually this call for questions/comments has come at 
> a really good time as I've just been helping with 10 of these 
> implementations.
>
> Overall the spec is fantastic, and really fits well with the data 
> being exposed from these systems!
>
> I've spent some time thinking about the suggestions below, as I 
> understand we want to get this specification signed off ASAP. The 
> experience of the last month has led me to believe that we are "not 
> quite there yet", but with a few quick tweaks we could easily be.
>
> The following have semantic significance and/or affect both data 
> providers and consumers in their interpretation:
>
>
> *1) I propose that the specification should be /slightly/ more 
> complete - to include Offer, identifier, and subEvent*
>
> Rationalle
>
>  1. Given the significance of Offers (including fields such as price),
>     and their use in every implementation so far, I would suggest
>     including these explicitly in the modelling specification.
>       * I understand we don't want to crowd the specification with
>         schema.org <http://schema.org> references, but given we've
>         already imported info on "Place" into the specification, and
>         "maximumAttendeeCapacity", and that "Offer" is of equal
>         significance, I'd suggest we aim to include the fundamental
>         building blocks in the specification as the minimum.
>  2. The specification is very loose if much focussed is placed on "use
>     any of schema.org <http://schema.org>" for the fundamentals. This
>     makes it difficult for a data providers and data consumer to cater
>     for all potential scenarios. If a developer was given a brief to
>     "write an application to consume data that conforms to this
>     specification", they would be faced with either (a) expanding the
>     scope of their application to include much of schema.org
>     <http://schema.org> that they thought could be used by providers,
>     which makes the project unwieldy (b) missing out valuable data
>     (such as Offer) or (c) using all the existing endpoints to check
>     what bits of schema.org <http://schema.org> have been used, how
>     they have been interpreted, and making a best guess at de facto
>     standards.
>  3. Having to read the namespace, the specification, the primer, and
>     schema.org <http://schema.org> to implement either a producer or
>     consumer can make the task of complex - the specification should
>     reference core fields, and the primer expand on their use.
>  4. We have a core set of properties emerging and without this being
>     documented in a single place, and considering how vast schema.org
>     <http://schema.org> is, it is difficult for data consumers (and
>     providers) to know what to implement. This is especially true as
>     current guidance is to leave properties out if not relevant for a
>     particular item, instead of setting them to null.
>
> Recommendation
>
>   * Include the following in the specification (which have been used
>     most of the last 10 implementations, following your recommendation):
>       o *Offer* (including at a minimum name, price, and
>         priceCurrency; and ideally description also)
>       o "*identifier*" vs. "*id*"
>           + When should either be used, and how do we use them to
>             reference events in other feeds
>           + We should encourage providers to include an identifier/id
>             on as many types as possible to aid data consumers in
>             optimising their reading of the data (dedup, linking the
>             data, etc).
>       o *subEvent* (including the expected behaviour re: inheritance)
>
> *
> *
> *2) I propose that the "organizer" be defined more specifically*
> *
> *
> Rationalle
>
>  1. For the "organizer" to be displayed consistently in data
>     consumer's applications, there should be a consistency in the
>     definition we're expecting.
>  2. For an application to decide whether it should trust / approve a
>     particular organizer, what qualifies as an "organizer" should be
>     well defined.
>  3. The organizer definition is currently very broad, which will lead
>     to inconsistent implementations.
>
> Recommendation
>
>  1. The "organizer" to be more tightly defined as the "/person or
>     organisation ultimately responsible for the Event/", for example:
>       * For events in a Better or Fusion gym, the organizer should
>         detail Better or Fusion (with HQ contact details).
>       * For "user generated" events in a booking system such a
>         Bookwhen, the organizer should be the account the events were
>         created under. For example for a "((BOUNCE))" session, the
>         organizer should be the organisation ((BOUNCE)) and not
>         Bookwhen nor the instructor of the session (the instructor can
>         be specified under "leader" or "contributor").
>       * For events in Our Parks, the organizer should be "Our Parks"
>       * For franchised events (e.g. Clubbercise) the organiser should
>         be the franchisee, and not the HQ, as they are ultimately
>         responsible for that event.
>  2. There should be a notion of a "unique ID" of an organizer to allow
>     it to be uniquely referenced, even if this is loosely recommended
>     in this version of the spec under the "id" or "identifier" fields.
>
> *
> *
> *3) I propose that we include a complete example*
>
> Rationalle
>
>  1. A number of people have asked for a "complete example" to be
>     provided that covers all cases in one, to help them in implementing.
>  2. In helping with many implementations, I've found myself creating
>     this "complete example" as a crib sheet - happy to share this
>     wherever makes sense.
>
> Recommendation
>
>  1. Although it might make sense to have a complete "crib sheet" live
>     outside the specification (a living document of sorts?) it would
>     greatly aid the readability of the spec to have a clear heading of
>     "Complete Example" with an example included there.
>
>
> *4) I** propose that we r**emove or demote heightRange and weightRange*
>
> Rationalle
>
>  1. As an observation: implementations to date have touched all parts
>     of the spec except for heightRange and weightRange.
>  2. We have yet to come across an opportunity data source that contain
>     this data
>  3. In the interests of keeping the specification minimal and without
>     these properties having been tested in the wild, should they be
>     removed or demoted?
>  4. Potential issues <https://github.com/openactive/ns-beta/issues/3>
>     we've found with distance (regarding consistency of min and max
>     values with schema.org <http://schema.org>) may also apply here,
>     though we won't know until they are tested more thoroughly
>
> Recommendation
>
>  1. Move heightRange and weightRange into the beta namespace, and then
>     consider them for inclusion in the spec after they have been
>     road-tested more thoroughly.
>
>
>
> There are a few other minor suggestions, but these are generally typos 
> etc, and I have raised these as issues 
> <https://github.com/openactive/modelling-opportunity-data/issues> 
> instead of detailing them here.
>
> Hope this helps! Really excited to see this published, as it's such a 
> great step forward for the sector!
>
> Thanks,
>
> Nick
>
>
> On Mon, Jul 10, 2017 at 9:38 AM, Leigh Dodds <leigh.dodds@theodi.org 
> <mailto:leigh.dodds@theodi.org>> wrote:
>
>     Hi,
>
>     As discussed in our recent calls I'm keen to move the Modelling
>     Opportunity Data spec [1] and vocabulary [2] to "Final
>     Specification" status at the W3C.
>
>     I believe the specification is now stable and has been
>     successfully implemented by a number of publishers. We can
>     continue to improve it further but I'd like to reach this
>     milestone before moving on to further work.
>
>     The only area that may need some updates is around the handling of
>     recurring events. We have been in discussion with Schema.org for
>     some time, about a proposed set of changes [2] to cover this use
>     case. I've been waiting on approval for that proposal before
>     moving forward.
>
>     However, if that doesn't move ahead shortly, then we'll need to
>     revise our specifications to define the relevant properties. These
>     will be minor changes to just document the properties that we're
>     already recommending people use [4].
>
>     The W3C process for publication is quite straight-forward. However
>     I believe I need to be able to demonstrate that the community is
>     happy with the deliverables and is ready to move forward for
>     publication.
>
>     Can I ask that if you're happy with the specifications moving to
>     "Final Specification" status, pending resolution of the above
>     issue, that you reply to this email with a "+1" or "I approve"
>     message.
>
>     Having the approval on a public list will help demonstrate support.
>
>     Similarly, if you have concerns or questions, then please share
>     them with the group so we can work through them.
>
>     Cheers,
>
>     L.
>
>     [1]. https://www.openactive.io/modelling-opportunity-data/
>     <https://www.openactive.io/modelling-opportunity-data/>
>     [2]. https://www.openactive.io/ns/ <https://www.openactive.io/ns/>
>     [3].
>     https://github.com/schemaorg/schemaorg/issues/1457#issuecomment-314039005
>     <https://github.com/schemaorg/schemaorg/issues/1457#issuecomment-314039005>
>     [4].
>     https://github.com/schemaorg/schemaorg/issues/1457#issuecomment-286423792
>     <https://github.com/schemaorg/schemaorg/issues/1457#issuecomment-286423792>
>
>     -- 
>     Leigh Dodds, Senior Consultant, theODI.org
>     @ldodds
>     The ODI, 65 Clifton Street, London EC2A 4JE
>
>

Received on Thursday, 13 July 2017 19:08:23 UTC