Re: Proposal ideas for Activity Streams 3 Standard

I agree with others who have suggested that much of what you propose as
"ActivityStreams V3.0" is better addressed via profiles or additional
protocol specifications.

ActivityPub is just one protocol that shows how ActivityStreams can be used
to facilitate a particular style of conversation. NNTP and even the SWICG
mailing list are distinctly different styles. Given that we've learned a
lot about conversation styles over the last several decades, it would be
useful to build up an ontology for those styles, to describe each of them,
and determine what, if any particular protocol support is required to
support each of them. (This might be a fun project for some academic
looking for paper ideas...)

For example, you say you want support for NNTP-like conversations, which
aren't really supported today by ActivityPub since ActivityPub roots all
"threads" on individuals, while NNTP divides the conversation space by
subject.
NNTP provides for a hierarchy of globally named newsgroups
(i.e. comp.infosystems.www.announce or news.admin.net-abuse.email) which
segregate conversations by primary subject. Within each newsgroup, there is
then a simple list of top-level posts, and, for each top-level post, there
is an acyclic graph of responses and responses to responses. (i.e.
subthreads or branching threads)

The "Notes" (Plato Notes, VaxNotes, VMSNotes, etc.) style of conversation
provided for a non-hierarchical simple list of "NotesFiles", each of which
contained a list of top-level notes, and then a simple chronological list
of replies to top-level notes. (Note: VaxNotes is referred to in Tim
Berners-Lee's initial proposal for the WWW
<https://www.w3.org/History/1989/proposal.html>.)

For a long time, there has been interest in "Issue based"
<https://en.wikipedia.org/wiki/Issue-based_information_system> information
systems and conversational patterns which are often described as having
underlying organizations similar to what NNTP supports, but which support
various types of "reply" in order to allow dialog-mapping. (i.e. issue,
support, oppose, position, alternative, resolution, etc.) Given an
NNTP-like structure as a foundation, we might be able to usefully implement
such issue-based systems and thus enhance our ability to support the
coordination and planning of political decision processes.

There are, of course, many other ways to shape a discussion space and each
has particular strengths and weaknesses. Each style is more or less
appropriate in one or another context. And, no one style is the best for
all purposes. For instance, although the Notes style is often dismissed by
NNTP users as overly-simple and inflexible, it was particularly useful in
contexts where it was important that readers were familiar with the entire
discussion and couldn't skip over things the way you can with NNTP. For
instance, VaxNotes was typically used within DEC as a means to report bugs
in products. The shape of the discussion ensured that a bugfixer, while
preparing to fix a bug, wouldn't skip over any element of the discussion
about that bug. On the other hand, NNTP is unquestionably more useful in
contexts that require a less rigorous experience of the conversation.

It would be useful, I think, for someone or some group, to identify those
conversation styles known to be useful, to characterize each, and prepare
an ActivityStreams-based profile for implementing each style. Doing this
would be a great help to new implementers who begin a project knowing that
they want to solve a particular problem, but haven't quite worked out all
the details yet. If people could focus on extending base patterns whose
definition has benefited from the experience of many, they would be much
more productive and much less likely to implement systems that are
unnecessarily divergent.

Another example: You mentioned "Bookmarks." Well, there are purely private
bookmarks, as implemented by Mastodon, etc. But, because they are private
resources, one could argue that they don't present interworking issues and
thus shouldn't be the subject of rigorous standardization. On the other
hand, the social sharing of bookmarks does present a problem requiring
standardization and would be a proper focus of this group. For quite some
time, until Yahoo! let it die, many of us used de.lico.us
<https://en.wikipedia.org/wiki/Delicious_(website)> as a "social
bookmarking" system that allowed sharing of "bookmarks" to various web
pages. To a great extent, one can think of the "Bibliography Management
systems," such as Zotero <https://en.wikipedia.org/wiki/Zotero> and Mendeley
<https://en.wikipedia.org/wiki/Mendeley>, as instances of the
"bookmarking." They are different from de.lico.us in that they address the
need to bookmark both online and offline resources. Also, much of what is
provided by the ActivityPub-based BookWrym <https://bookwyrm.social/> (a
Goodreads <https://www.goodreads.com/>-like system) can be seen as an
instance of the "bookmarking" pattern. So, why don't we work up a
description of social bookmarking and a general profile for doing it via
ActivityStreams? Undoubtedly, in working out the specifics of social
bookmarking, we'd identify the base patterns to be used in providing
private bookmarks as well. Of course, once we had a good base for
social-bookmarking, we could use individual bookmarks as the roots of
conversations about what has been bookmarked. These systems would use one
or more of the conversation styles discussed above (ActivityPub, NNTP,
Notes, etc.) or perhaps leverage the capabilities of W3C Annotations
<https://www.w3.org/TR/annotation-model/> in much the way that Hypothes.is
<https://en.wikipedia.org/wiki/Hypothes.is> or dokie.li do.

The point I'm trying to make here is that ActivityStreams or ActivityPub
don't need to address all needs. However, each can provide the beginning of
a set of capabilities useful as part of the foundation for a universe of
interoperable systems.

bob wyman


On Fri, Mar 31, 2023 at 2:48 PM Aaron Gray <aaronngray@gmail.com> wrote:

> I am putting this here as an informal "request for comments" looking for
> elaboration, ideas, and possible issues, after mentioning the idea at the
> last FediForum (March 2023). Also do side debate whether an AS3 may or
> may not be a good idea too soon and the use of JSON-LD @content extensions
> may be a better mechanism for now.I am also adding some of the ideas I have
> from my social collaboration system notes. But hoping the group can have
> a proper discussion on all of this.
>
>   -  Feedin of Mastodon extensions
>     - https://docs.joinmastodon.org/spec/activitypub/#extensions
>
>   - Website integration
>     - bring in Bridgy Fed like / based extensions into the standard
>
>   - privacy mechanisms
>     - Notes
>     - visibility of Followers
>       - by specific Actors
>     - visibility of Following
>       - by specific Actors
>
>   - Node and feed sysop admin function formalization
>
>   - Feeds
>     - with Posts, Comments, Likes, and custom like icons.
>     - Reddit like vote up/down feed.
>     - Image based Instagram like feeds.
>
>   - Groups
>     - FEP pro spec :-
> https://codeberg.org/fediverse/fep/src/branch/main/feps/fep-1b12.md
>     - public/private
>     - open/secret
>     - Member types
>       - Creator(s)
>       - Admin
>       - Moderator
>       - Member
>     - management of members
>       - join date
>       - dumped
>          - leave date
>       - banned
>          - ban date and IP ?
>     - admin functions for members, posts, and comments.
>
>   - Annotation mechanism
>
>   - Calendar / Diaries
>     - private/public/shared
>     - with privacy and sharing of events
>     - "free time and space" collaboration diary combinators with privacy
>     - references to events
>        - todo items
>
>   - Todo lists
>     - flat
>     - hierarchical
>     - with links to other todo lists
>
>   - Bookmarks/Favourites
>     - sharing
>     - repositories
>       - import to Netscape Bookmark Format, XBEL, JSON, HTML
>       - export from Netscape Bookmark Format, XBEL, JSON, HTML
>
>   - authentication and authorization
>     - OpenID's
>     - DID's
>     (there was a session on these at the FediForum DID and Single Sign On)
>
>   - Extensions necessary for integration
>     - SkuttleButt
>        - to
>        - from
>     - XMPP
>        - to
>        - from
>     - RSS
>        - to
>        - from
>     - NNTP - UseNet Network News Transfer Protocol
>     - Reddit integration
>     - email integration like github issues
>
>   - using OWL ontologies to describe all these
>     - as extensions to AS2
>     - as part of the proto AS3
>     - for reference
>     - for code generation
>     - for dynamic implementations
>
> Hope this gets some good feedback !
>
> Ideally if this goes forward we create a public-swicg GitHub organization
> and repo for working on this ?
>
> Regards,
>
> Aaron
> --
> Aaron Gray
>
> Independent Open Source Software Engineer, Computer Language Researcher,
> Information Theorist, and Computer Scientist.
>
>

Received on Saturday, 1 April 2023 16:25:53 UTC