Relaxing the requirement for OrderedCollection to always be reverse-chronological?
Per ActivityPub Section 5:
An OrderedCollection MUST be presented consistently in reverse chronological order.
This has come up a few times, and it seems like the requirement is misstated compared to the intention. I have heard it said that the intention was that only the OrderedCollection properties defined in ActivityPub are subject to this requirement. If this is indeed the case, then this should be reflected in the spec, perhaps by an errata.
Miscellaneous points of contention
- If
OrderedCollectionis no longer mandated to be "reverse chronological order", then how does a consumer know that the order is reverse chronological? - More generally: How might "reverse chronological order" be declared? In most cases, insertion time is not a property of the object. Sorting by
publishedin descending order would open up the possibility of setting a date in the far future which is effectively pinned to the top of the list. - Even more generally: How might any ordering be declared? This is probably something that could be addressed by an FEP, and I think there is at least one FEP that is tangential to this: FEP-5bf0 - Collection sorting and filtering https://socialhub.activitypub.rocks/t/fep-5bf0-collection-sorting-and-filtering/3095 but there's plenty of room to specify further mechanisms for dealing with collections.
What is the value of an OrderedCollection's order if the order is not known by consumers?
There was never any intention for this requirement to apply to any other collections besides the ones defined in section 5 ("Collections"). The full paragraph is as follows:
Note that some of these collections are specified to be of type OrderedCollection specifically, while others are permitted to be either a Collection or an OrderedCollection. An OrderedCollection MUST be presented consistently in reverse chronological order.'
I believe the correct fix for this problem is to add an Errata item that makes it clear that only these collections are affected, and collections defined in other vocabularies, including extensions, are not required to use this ordering. However, as @bobwyman notes, the ordering in those other vocabularies should be specified in their documentation.
@trwnh I added a proposed erratum here:
https://www.w3.org/wiki/ActivityPub_errata/Proposed
The text is:
Section 5 says, in part An OrderedCollection MUST be presented consistently in reverse chronological order. This requirement only applies to the collections defined in Section 5, namely: inbox, outbox, followers, following, liked, likes, shares. Collections defined in other vocabularies, including extensions, are not subject to this requirement and can be unordered or ordered by other criteria.
We'll open this up for conversation in the SocialCG meeting to make it an official erratum.
This issue has been mentioned on SocialHub. There might be relevant details there:
https://socialhub.activitypub.rocks/t/fep-5bf0-collection-sorting-and-filtering/3095/8
This issue has been mentioned on SocialHub. There might be relevant details there:
https://socialhub.activitypub.rocks/t/socialcg-hybrid-meeting-during-tpac-2023/3498/2
This was accepted.