ActivityPub outboxes are the new RSS / Atom / WebFeed.

You can just read from them to get a JSON feed of someone's posts.

I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.

#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb

@reiver I kind of want to do a FEP about this -- let's call it "ActivityPoll".

If an actor's inbox doesn't support POST (so you can't send a Follow activity), just poll their outbox. It won't give you that "realtime" feel, and they won't know if you react (like, comment, share) but on the other hand a) they have very little plumbing to maintain and b) you're anonymous.

We could probably also add an optional `updateFrequency` property to let clients know how often to poll.

@evan

This could make onboarding onto the Fediverse easier, too.

As, a new user could defer the step of picking a server until later — which seems to be a major place where new potential users drop-off and abandon the onboarding process.

And, the new user can get stuff into their home-feed by reading from people's inboxes. (Maybe with a "bootstrap" set of auto-follows.)

(Although there is a CORS issue for web-apps, for some Fediverse servers. But shouldn't affect mobile apps.)

@reiver @evan since many servers already export RSS (Mastodon, GoToSocial) that seems a bit overkill? I mean what is the benefit of reading an AP outbox if RSS is already there?
@prinlu @reiver Activity Streams 2.0 has much more information than RSS. It includes information about social activities like Likes and Shares, and it's extensible.

@evan @prinlu

I would also add that that —

...

@evan @prinlu

№1:

Many (probably most) younger developers have never and don't know how to work with XML from a parsing point-of-view — RSS & Atom are both types of XML.

Many (probably most) younger developers will readily work with JSON — since they have a lot of experience with JSON.

Many (probably most) younger developers will be hesitant to work with XML (such as RSS & Atom).

...

@evan @prinlu

№2:

In my experience —

Most developers are not comfortable writing their own parsers, for a file-format.

(Some of the popular programming-languages don't seem to provide ways of 'reading' data in a way that would lend itself towards writing a performant parser.)

Most developers will look for an existing library that works with their preferred programming-language.

Nowadays, libraries for JSON seem ubiquitous — but libraries for XML, RSS, or Atom don't.

...

@evan @prinlu

№3:

On the Fediverse — you know the outbox will be there for every actor, but— you don't know if an RSS or Atom feed will be there for sure.

Some Fediverse server software will have it — others won't.

...

@evan @prinlu

№4:

And this adds onto @evan 's point —

Conceptually, you technically COULD add the some of the semantic richness of ActivityStreams to RSS and Atom, but — it would probably either make it too difficult to parse it as RSS, Atom, or XML or — (easier to parse but would) make it useless as RSS or Atom.

...

@evan @prinlu

№5:

Nowadays, if you want to make a format to be widely adopted by developers — it needs to be something that they can easily consume using common easy to use libraries — and even better, by a library they are already familiar with and have a lot of experience with.

JSON fits that.

And, I still say that as someone who doesn't "like" JSON for certain technical and UX reasons —

Nowdays, you are better off (in terms of adoption) supporting JSON to get developers on board.

.

@reiver @prinlu the first versions of Activity Streams were Atom extensions. So, definitely possible!
@reiver - is this practically possible now? E.g. can you do it with Mastodon without having to worry about keys and signed requests?