re: better handling of non-notes by Mastodon

Toward the end of a day 2 FediForum session, @pfefferle@mastodon.social, @manton@manton.org, and I sidetracked a bit and discussed once again the tendency for implementors to shift away from more suitable ActivityStreams Activities to as:Note.

Specifically, it was the demo/session by @samsethi@podcastindex.social re: TrueFans. Instead of federating out an as:Listen, they send as:Note, and it's a fairly safe bet that this is because the content cannot be richly represented in Mastodon. The same story played out with Mattias and the WordPress plugin, and myself with NodeBB.

Secondly, back in March/April and again in May, @renchap@oisaur.com mentioned that resolving this was of some interest to the Mastodon team:

We will work on improving the display of non-Note content in the next Mastodon version

To be clear, getting Mastodon to suitably process as:Article/as:Listen/as:Offer or any number of other activities is not what the ForumWG wants to accomplish. It's not up to Mastodon to adapt to the variety of content on the fediverse, but rather that its fallback handling needs to improve just enough so that its baseline rendering is acceptable to more implementors and their users.

As concise and actionable as I can make it:

  1. Mastodon allows a subset of HTML for as:Note. This subset is good enough, but content in non-notes has all html stripped. Keep consistency here and allow the same subset of HTML.
  2. Non-note content is truncated. This is no longer necessary due to the addition of the expand button. The wonderful thing is this standardization of behaviour actually simplifies Mastodon code.
  3. Instead of appending the object URL to the status content, promote the "Open Original Page" button out of the overflow menu. It's more than okay to defer to the original site vis-a-vis presentation and allow the user a smooth exit if desired (target="_top" would be okay too if you're worried!)

That's it.

You could even skip the third point, but even with 1 and 2 achieved this would sufficiently raise the baseline behaviour just enough that I would immediately update NodeBB to send as:Article for new topics, and I am certain @pfefferle@mastodon.social would adjust his defaults as well.


Lastly, @renchap@oisaur.com, I'm sure I can speak for everyone at FediForum when I say that it was wonderful to see representatives from Mastodon (that of course includes @andypiper@macaw.social as well) in attendance. It means a lot to me personally that you were there, and sends a signal that Mastodon continues to desire broader inter-compatibility.

FediForum hot take:

@dmitri@social.coop: "the key to a successful ActivityPub C2S implementation is a headless AP server"

NodeBB can technically be run headless (although we have our own API)... one wonders...

@trwnh@mastodon.social, today at fediforum I met with @jesseplusplus@mastodon.social who is working on a federated photo sharing app with strong focus on privacy.

We discussed FEP 7888 and how that might address her concerns re: resolving ghost replies

So unlike me, who would implement context owner sending of Add mostly to comply with the FEP, she'll actually be wanting to start off with that part!