rsvps

 RSVPs  are a list of event attendance responses, often referring to the responses displayed on a specific event indicating who did or may or not attend, or sometimes a personal page of all events that an individual as responded to.
 * See rsvp for how to and examples of individual rsvp posts themselves!
 * See rsvps-page for the use of "RSVPs" to refer to a page listing recent or all RSVPs to events.

Why
By displaying the RSVPs to your event posts, you show who is likely to participate with your event. It also shows immediate feedback to those that have RSVPd to your event with their own indie rsvp response.

How to display
There are many methods for displaying the RSVPs for an event.

(need screenshots)

Consider linking from specific RSVP items to the permalinks of the respective indie RSVPs to your event.

If you are showing silo RSVPs of POSSE copies of your event posts, from silos that lack permalinks for such RSVPs posts / responses, then you may link them to the user RSVPing to your event as a fallback.

How to de-duplicate
Since an RSVP indicates the attendance (or not) of a specific person, multiple RSVPs from the same person should only count as one, the most recent (or most recently updated if newer) RSVP being authoritative.

If you POSSE an event to a silo, then it is possible that someone posting an indie rsvp of your post will also POSSE their RSVP to that silo, thus resulting your post seemingly seeing two RSVPs from the same one RSVP from that person.

Since those RSVPs represent only a single actual individual RSVPing, your post should de-duplicate any such RSVPs of POSSE copies of your events, and show only a single RSVP, no matter what your display design is for RSVPs.

When you detect such duplicate RSVPs on silo copies of your events, you should prefer and show only the indie RSVP on your RSVPs display on your event.

IndieWeb Examples
There are a few IndieWeb sites which receive and handle webmentions for RSVP posts and display them in various ways.

TO DO: Review event for dates, permalinks, and more examples of receiving/showing RSVPs on event posts, and incorporate/move those details here to this section, keeping the event examples focused on the event posts themselves.

Ben Werdmuller
uses Known to display a chronological list of RSVPs of a post, since 2013-06-25.

http://werd.io/event/51c94deebed7de5c2386a1b4/unofficial-portland-post-indiewebcamp-meetup
 * 2022-12-23: this page is still up, but does not currently show the comments or RSVPs. They can be seen in the archived page, though.
 * Original page does not appear to have any specific microformats for the RSVPs

Aaron Parecki
uses p3k to display a RSVPs on events since 2013-07-08.

https://aaronparecki.com/events/2013/07/09/1/speed-geeking-an-intro-to-oauth2 2013-07-08
 * No specific microformats for the RSVPs, but  like other comments.

Ryan Barrett
displays RSVPs since 2014-06-16.

https://snarfed.org/2014-06-16_homebrew-website-club-at-quip
 * 2022-12-23: RSVPs use microformats . This is most likely generated by one of the IndieWeb WordPress Plugins

Jeena
displays RSVPs since approximately 2015-08.

https://jeena.net/events/2
 * No specific microformats for the RSVPs, but  like other comments.
 * No published date for this page, but event was 2015-08-26, thus the "approximately" above.

Marty McGuire
displays RSVPs as facepiles since 2016-09-19.

https://martymcgui.re/2016/09/19/184924/
 * 2022-12-23: RSVPs use microformats

Calum Ryan
has been officially accepting and displaying RSVPs for people attending Homebrew Website Club London since 2016-12-14. The implementation is a modification of the Jekyll plugin for handling Webmentions. Upon triggering a build of the static webpage there's a custom filter to change the markup with a visible tick or cross depending on whether a Webmention contains the rsvp-no or rsvp-yes value. In his CMS there's a basic dropdown interface also added for RSVP options that triggers sending a Webmention upon posting short-form content with these RSVP yes/no values included.

https://calumryan.com/event/hwc-20161214/
 * 2022-12-23: Currently uses  instead of   and no RSVPs are displayed
 * 2019: The earliest archive of this page shows the RSVPs, though each only has  microformats, so the parsed result appears to show them as the authors of the post instead of attendees.

Sebastiaan Andeweg
displays RSVPs since 2017-01-06.

https://seblog.nl/2017/01/11/1/homebrew-website-club
 * 2022-12-23: this page is still up, but does not currently have  markup. It is in the archived page, though.
 * RSVPs still have microformats properties  despite the missing h-event
 * In 2017 archive, RSVPs used microformats

gRegor Morrill
displays RSVPs since 2017-06-07.

https://gregorlove.com/2017/05/homebrew-website-club/
 * 2022-12-23: Use microformats.
 * These RSVPs backfed from Facebook are currently broken so showing "Unknown RSVP type" instead of actual RSVP value

https://gregorlove.com/2017/06/homebrew-website-club/
 * Same microformats, but this example includes indie RSVPs that show the actual RSVP value.

Tantek
undefined has been showing RSVPs facepiles on his event posts since 2017-07-06.

The Falcon implementation depends on and uses: Examples (events posted before RSVP display support, but displayed received RSVPs after the fact) Examples (events which showed RSVPs as they arrived via Webmention)
 * webmention.io jf2 output of received rsvp webmentions, sorted by rsvp value
 * stream.thatmustbe.us jf2 to mf2 with a custom inline style sheet
 * an iframe to embed the result on event permalinks
 * 2017-06-25 posted http://tantek.com/2017/179/e1/homebrew-website-club
 * shows three "no" indie RSVPs
 * (screenshot needed)
 * 2017-07-02 posted http://tantek.com/2017/183/e1/sunday-yoga-presidio
 * shows a mix of "yes" and "interested" RSVPs backfed via Bridgy from the Facebook POSSE event
 * (screenshot needed)
 * 2017-07-10 posted http://tantek.com/2017/193/e1/homebrew-website-club
 * 2017-07-15 posted http://tantek.com/2017/197/e1/sunday-yoga-presidio
 * both also with "yes" and "interested" RSVPs backfed from the FB POSSE event
 * (screenshot needed)

Chris Aldrich
displays RSVPs since 2017-11-30.

http://boffosocko.com/2017/11/30/virtual-homebrew-website-club-meetup-on-december-13-2017/
 * 2022-12-23: RSVPs use microformats . This is most likely generated by one of the IndieWeb WordPress Plugins

Jamie Tanna
displays RSVPs since 2019-07-24.

https://www.jvt.me/events/homebrew-website-club-nottingham/2019/05/15/
 * Displayed under the collapsed "Interactions with this post" section
 * RSVPs do not appear to use any microformats

... need more from event page
Need to add more from the event page of people receiving/showing RSVPs on event posts.

Kyle Mahan
uses Redwind to display RSVPs since 20??-??-??. Example:
 * 2015-??-?? HWC event? (need permalink)

Facebook
Facebook shows RSVPs on their event posts and has done so many different ways over the years, thus there is a lot of prior art to choose from and be inspired by.

From event: Facebook:

Facebook 2017
Early 2017 onward:



Facebook 2015
Sometime in 2015, Mobile Web UI: in particular:



Facebook 2014-02-27
2014-02-27 redesign (limited rollout as of that date, but subsequently broadly rolled out)



Mobile Web UI:



Design regressions related to RSVPs:
 * 1) Global noise in the left column replaces the very relevant and easily skimmable who is going, maybe, invited lists of people
 * 2) Less clear who is going/maybe/invited
 * 3) Lack of hierarchy (ordering) of going/maybe/invited removes subtle invitee incentive to upgrade from invited to maybe to going.

Facebook before 2014-02-07
This was perhaps the pinnacle of Facebook's event page design.

Facebook has had one of the more interesting/nicer/cleaner event page designs for quite some time.

Here is a screenshot of the 2014-02-12 Homebrew Website Club event (for the SF location) on Facebook, manually POSSEd by Ben Werdmuller from http://werd.io/2014/homebrew-website-club-meeting :



Mobile Web UI:




 * Android:

Mobile Android Screenshot

Facebook before 2014
Facebook pre-2014:



Meetup.com
Meetup.com is an event silo for creating and/or finding small gatherings in your local community who share your interests

RSVPs displayed on an event page. Clicking on the "Show more" link takes one to a standalone page (pictured below) which allows viewing of both attendees and those who have indicated they're not attending.



Standalone RSVP page example:

Sched
Sched is an event specific silo that provides some interesting event related UI as well

The service provides the ability to display RSVPs as a facepile

Example from https://openeducation2016.sched.com/event/7loW/open-but-not-for-criticism

Going and Interested
Note in the Facebook 2017 example above the text just above the RSVPs facepile: "2 Going • 5 Interested"


 * undefined I am looking into implementing this aspect: Falcon

How to markup
We should have a recommended way to markup RSVPs displayed on an event (e.g. https://events.indieweb.org/2022/03/homebrew-website-club-pacific-zNW0jWBDveOD), just as we have a way to markup comments displayed on a post.

All markup should have a consuming code use-case, e.g.
 * PESOS with Webmention to take a local RSVP on an event, and use it to create an IndieWeb RSVP on your own site. Sort of like a Micropub client except without having to give all the posting permissions etc. to the event site to post on your site.
 * e.g. https://events.indieweb.org/2022/03/homebrew-website-club-pacific-zNW0jWBDveOD#rsvps has a link to https://tantek.com/ that should be marked up in such a way that a webmention sent from the HWC event to my site is processed by my site to be a special authenticated RSVP link, which then it can use to create an RSVP post automatically on my own site
 * ... more use-cases?

Ideas for markup code:
 * Overloading  (or even  ) would be bad so let’s not do that.
 * RSVP-state specific properties: since events typically cluster the different types of RSVPs (yesses, nos, maybes), perhaps we could have specific properties for each? E.g.
 * for a local RSVP (or  for a link to an IndieWeb RSVP of yes)
 * p-rsvp-no, p-rsvp-maybe, p-rsvp-interested etc.

...