So finally. After releasing my WordPress Polls for ActivityPub plugin (link will be working in the next days, Source Code) I find some time.
- I would like to see a general notice, maybe in the summary, that this FEP is only covering text based polls and is not intending to cover other things, like image polls, or should it?
- Maybe the history section could add a conclusion sentence what this FEP is aiming to do: writing guides about how to implement polls so that we have a common denominator about the way polls are currently handled widely in the Fediverse due to early implementations by Mastodon? (… okey, this sentence was bad).
- Voters count: I would argue that this should be change to a MUST (the current ‘can’ is ambiguous anyway), at least for multiple choice polls, because otherwise remote applications have no way of showing correct percentages of the results.
- Receiving a vote: What I see missing is a validation/verification that an actor has not voted already. Or is the argument: a remote server that can construct arbitrary id’s could also construct arbitrary actors? Another open question for me is: what is about receiving deletes or updates on votes? I think a short guidance would be helpful for new implementers. Should we ignore, Delete or Updates on “vote replies”? Should we indicate that we do?
- Updating
updated: I am unsure, I would maybe love to have both information: when has either the question/poll-type/option/or start and endTime been last updated, and when has the last vote been received. For me the former is the more important information. What does Mastodon actually do? - Publishing results I advice to remote the MUST here. I even ask myself whether we should remove sending updates on incoming votes completely. Cause every remote application that received a vote can define it’s own refresh cycles.
- Closing a poll: so no boolean MUST be used on closed? Or if
endTimeis present andclosedistrue, should theendTimebe able to serve as a “closed time”? I think this could be written more precisely, I encourage not to be afraid to just use a MUST here because it’s something easy to implement and I guess will never be a blocking issue for someone to implement it. - Editing Options: I would be more precise: Post-Hum ignore of all previous receive vote replies, emptying all replies collection of all
anyOforoneOfoptions and setting thevotersCountto0. - Question object –
updatedproperty: Why not make this a MUST? I see no reason not to. - Re-opening closed polls: This is something I would like to have guidance. Should a poll object keep track when being closed and re-opened again? Idea: if poll votes are not reset poll MUST keep the information when the poll was open and when not. Or say once a poll has been closed. Re-Opening causes the votes to reset?
Addition 2026-06-26:
- Re-opening closed polls: When votes are reset should be sent Reject or Undo activities to already accepted votes? Or should we have a specific votesReset action or indicaiton in the updated object (so that remote server know, that their actors might vote again?!).