Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: virtual events #71

Open
ldodds opened this issue Apr 18, 2018 · 7 comments

Comments

@ldodds
Copy link
Contributor

commented Apr 18, 2018

Some providers are offering "virtual" events, that allow people to participate online or broadcast events.

This is still a work in progress, please provide feedback

Proposer

  • EMD
  • Racefully

This was first introduced and discussed in the 2018-04-11 community group call

Use Case

  • as a potential participant, I want to be able to find online events that allow me participate from any location

Examples from Racefully

  • I (as a group leader) organise a virtual live 5k run at 7pm every Tuesday. It's open to anyone who wants to join, wherever they are in the world. I have a link to the run (that will open the Live Runs part of Racefully) and a link to my group (that will open the "Chris run club" tribe in Racefully). If someone searches for a 5k in Lewisham, but nothing's organised nearby, then my virtual 5k on Racefully is an always-available alternative at 7pm on Tuesday.

  • I (as a group leader) have a tribe with a "Wednesday 5k challenge" - people have all day on Wednesday to run their 5k and log it to the Tribe. Someone searches for running in Lewisham (on Wednesday), and sees my "Wednesday 5k challenge" as a virtual option to do a run.

Why is this not covered by existing properties?

The current data model focuses on Events that take place at specific locations. location is a required property. But a virtual or broadcast event does not have a location.

The data model also currently says that an Event MUST have a startDate or an eventSchedule. But a virtual event might not take place at a specific time or conform it a schedule. It might be available on demand.

Requirements

In the discussion so far, we've identified a variety of scenarios. So of which are covered by the existing data model.

A. Event taking place at a specific point in time, e.g. 5pm on 11th April which can be participated in:

  1. from any location
  2. only by attending specific locations, e.g. participating PureGyms.
  3. by anyone in a specific town or country, but location is not specified

A2 is already supported by listing multiple values in the location for an Event.

B. Events taking place at a scheduled time, e.g. Wednesdays at 7pm, which can be participated in:

  1. from any location
  2. only by attending specific locations, e.g. participating PureGyms.
  3. by anyone in a specific town or country, but location is not specified

B2 is already supported by providing an eventSchedule for an Event, with multiple values in the location property.

C. Events that take place over a specific time frame (e.g. in April), which can be participated in from any location

D. Events that are available "on demand", e.g. a recorded event that I can participate in at any time or location.

Discussion

  • Events that are streamed to specific locations (A2, B2) could be distinguished from other Events by using the schema.org BroadcastEvent type. Otherwise the data model handles this requirement already.
  • If we relaxed the requirement on requiring a location then we could handle A1, B1 and C within the existing data model. We would need to add a new type, e.g. VirtualEvent, to distinguish between this and other located events
  • D is not covered by the existing model. The closest is ActivityOpportunity which indicates a self-directed activity. But there is a separate discussion about removing or clarifying this, see #64.

@ldodds ldodds added this to Backlog in Specification revisions Apr 18, 2018

@ldodds ldodds added the discussion label Apr 18, 2018

@ldodds ldodds self-assigned this Apr 18, 2018

@ldodds ldodds added this to the 1.2 milestone Apr 20, 2018

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2018

Note that schema.org has a parallel discussion on this, and they're talking about an OnlineEvent: schemaorg/schemaorg#1842

I would note the difference between VirtualEvent as defined by Racefully ("people have all day on Wednesday to run their 5k and log it to the Tribe"), from an OnlineEvent as defined by EMD and schemaorg/schemaorg#1842. In an OnlineEvent the participant is watching something online, and does not need any special equipment or app to participate. A VirtualEvent is an event that takes place outside in the real world with the assistance of an app or other device to allow for participation from anywhere, but requires you to leave the house to do it.

VirtualEvent would seem to me to be the more generic of the two options, and suggest the activity type will allow a user to figure out if they can expect to leave the house (VirtualEvent of Running) or participate with a laptop and some floor space (VirtualEvent of Les Mills - though that example is more D).

Also note that #64 doesn't actually currently include a suggestion to handle D, which we do need.

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2018

Also a further spanner, how does OnlineEvent / VirtualEvent play with EventSeries as per #63?

We'd want a Session to be online, as part of an EventSeries...

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2018

Perhaps a simple isOnline property isn't such a bad thing (as per schemaorg/schemaorg#1842 (comment)) as it removes this complexity, though? Or perhaps we should create OnlineSession or OnlineEventSeries?

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

Noting the great discussion happening over at schemaorg/schemaorg#1842, with mention of VirtualLocation.

To ensure we're also handling D here (which is now excluded from #64), https://schema.org/OnDemandEvent might be useful for "on demand" use case. Although worth noting that things like https://www.lesmills.com/ondemand/ are entire on-demand services, rather than individual events / programmes. Though ideally the community would be getting the data out for the programmes themselves (e.g. BodyPump, which exists in the activity list, is available On Demand with descriptions and images related to it, as part of the overall Les Mills On Demand service).

The main issue with on demand is that there's not always an end date as the videos could be available forever, which might be ok if OnDemandEvent services just show the date they were published as the startDate?

This also plays well with #63 as On Demand is a different format and doesn't need linking to EventSeries etc.

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

Notes from a conversation just now with @Jadecation, three key types of activities from EMD's perspective. It would be good for our eventual proposal to include a solution to each of these, addition to the Racefully examples above (included below for completeness):

1) Virtual classes in physical locations

"Virtual Group Cycling" is a typical class that's run in a leisure centre, where a video screen is used. Sometimes it's in the form a kind of interactive video game, and sometimes the instructor is present, and sometimes the instructor is recorded.

These always have a startDate, endDate and location. They may or may not have an instructor.

These may be best covered by an extra property isVirtualEvent or deliveryFormat to indicate BODYCOMBAT is delivered via a projector screen and not a real instructor (i.e. so we don't need to duplicate BODYCOMBAT and all the others in the activity list for virtual and real delivery). This also allows users to filter our virtual events.

2) Virtual fitness classes available anywhere via streaming

Organisations like https://www.fitswarm.com/ specialise in providing online classes which are live, and you can join from your own home. They sometimes have instructors, and sometimes do not.

These always have a startDate, endDate and no location. They may or may not have an instructor.

These seems to fit with using VirtualLocation within our existing Session type (see schemaorg/schemaorg#1842).

3) On demand classes available anywhere

Les Mills On Demand provides a number of classes available digitally any time, similar to BBC iPlayer.

These always have no fixed startDate, endDate or location. However they do have a startDate in the sense of the first date that the programme was available.

These seem to fit with OnDemandEvent (instead of "Session") in terms of Event type, but perhaps we should also look at how the BBC marks up their iPlayer programmes (see Example 2 here).

4) Virtual event available anywhere with participation via app/device

A virtual live 5k run at 7pm every Tuesday. It's open to anyone who wants to join, wherever they are in the world. They can join at the same time and the app will share progress of each participant to create a virtual activity.

5) All-day virtual challenge anywhere with participation via app/device

"Wednesday 5k challenge" - people have all day on Wednesday to run their 5k and log it.

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2018

Also note that as discussed with @Jadecation we can bring these organisations (e.g. Fitswarm and Les Mills) into this conversation to ensure that this works for them whenever this next becomes a focus for the W3C Community Group.

@nickevansuk

This comment has been minimized.

Copy link
Contributor

commented May 2, 2019

Drilling down on Scenario 1 above (as most open data at present represents classes in physical locations), regardless of the level of technology involved in the experience (video game, immersive multimedia, or video recording), if there is an instructor involved they may be either present virtually or live.

For those participants who prefer live instructors, this differentiation is the key one.

The activity list does not include such "virtual" classes as many activities in the list could have a "virtual" equivalent. Hence when categorising existing classes using the activity list, many of the live instructor results are being "diluted" by the large number of cheap-to-run virtual classes on offer under the same activity.

The following beta property has been added to resolve this, by focussing on the presence of a live or virtual instructor (which can be well defined), pending a fuller discussion on the spectrum of "virtual" opportunities more broadly:

(Class) Property Expected Type Description
(schema:Event)
beta:isVirtuallyCoached
schema:Boolean A property that indicates whether the event is led by a virtual coach. Only relevant if an event isCoached.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.