Relaxing treatment of non-notes by Mastodon
-
re: better handling of non-notes by Mastodon
Toward the end of a day 2 FediForum session, @[email protected], @[email protected], 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 @[email protected] re: TrueFans. Instead of federating out an
as:Listen
, they sendas: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, @[email protected] 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:
- Mastodon allows a subset of HTML for
as:Note
. This subset is good enough, butcontent
in non-notes has all html stripped. Keep consistency here and allow the same subset of HTML. - 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. - 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 @[email protected] would adjust his defaults as well.
Lastly, @[email protected], 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 @[email protected] 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.
- Mastodon allows a subset of HTML for
-
@julian @pfefferle @manton @samsethi @renchap @andypiper
You know that post that uses nodeinfo to customise the received notes by software?
Yeah, we need that but for federation.
-
@[email protected] it's an oft-repeated refrain that the Mastodon team has a lot of their plate. With bug fixes, existing feature pipeline, and now your funded work with fediscovery, issues important to other implementors might fall by the wayside or seem less important.
The easiest thing for us to do is to impress upon you and your colleagues the importance of this for the wider fediverse. You have @[email protected] from WordPress, @[email protected] from FlipBoard, and @[email protected] from NewsMast, and likely others who would be on board (@[email protected] with Fedify/Ghost?) with switching away from
as:Note
(I can't speak for them, but probably?)The second easiest thing here would be to have a developer make a PR against the Mastodon repo. I'd love to also make this happen (funding and such permitting).
-
@julian An issue we have with redirecting the user to the original post is that it makes it very hard for the user to interact with the post. We still want to improve this (in 4.4?) but are still very short on resources.
We discussed changing the "read more" button to open a modal, and (is this a good idea?) supporting an AP attribute with an iframe suitable for embedding the content, and changing the show more button to open a modal with this iframe -
@julian We are doing our best to improve our implementation where we can, but it often requires a lot more work than what it initially seems. PRs are very welcome, but should probably be preceded by reaching out to us and seeing if we agree with the proposed implementation, and if it covers everything that it needs to
-
@[email protected] That is a valid concern. A basic tenet of growth hacking and increasing engagement is simply to not drive the user to another site.
There's an opposing viewpoint that states that you should trust your users enough for them to return on their own, hehe.
I know there's a strong desire to keep users on-platform, which is why I suggested using
target="_top"
to open a new tab. I hope that's a good enough compromise, but ultimately it is up to the Mastodon team as to what works best. -
@julian This is totally not about growth hacking or engagement
Users see some content, click on it, then end up with a new UI, see a reply button, click on it, and are asked to create a new account, or to sign up (but not with their initial account). Our user testing (and many feedback) points that this is a very common issue with AP federation at the moment, even between Mastodon instances.
Not many people understand what is the federation and how to work around it -
ζ΄ͺ ζ°ζ (Hong Minhee)replied to julian last edited by
@julian Ghost already represents posts as `as:Article` objects. Interestingly, they put `as:Note` into the `as:preview` property of `as:Article` objects, which I don't think Mastodon utilizes.
ActivityPub/src/handlers.ts at 46ef68e2c79ec9e8e3fb8d9e5ebbd0729c6bae72 Β· TryGhost/ActivityPub
A full-featured ActivityPub server for networked publishing with Ghost - ActivityPub/src/handlers.ts at 46ef68e2c79ec9e8e3fb8d9e5ebbd0729c6bae72 Β· TryGhost/ActivityPub
GitHub (github.com)
-
Our user testing (and many feedback) points that this is a very common issue with AP federation at the moment, even between Mastodon instances.
I am more than willing to admit that this is a complex issue that cannot be solved independently by one implementor. A user shouldn't have to think about how to navigate various ActivityPub implementations with respect to replying/liking, etc.
My apologies for assuming it was about growth hacking (which I still wouldn't begrudge you if it factored in, I think we all think about it a little.)
So let's set aside that for now and see if the content presentation can be improved just enough.
-
Emelia πΈπ»replied to ζ΄ͺ ζ°ζ (Hong Minhee) last edited by
@hongminhee @julian @renchap @pfefferle @mike @michael
That's an interesting idea using as:preview to carry an as:Note representation of the activity, abd would probably be pretty easy to integrate, I think?
-
Matthias Pfefferlereplied to Emelia πΈπ» last edited by
@thisismissem @hongminhee @julian @renchap @mike @michael but isn't this a hack we only might have to add because of the summary/content-warning thingy?
-
@[email protected] @[email protected] Yeah that's something I haven't seen before. Would love to get @[email protected]'s take on it.
Blog software has the concept of "excerpts", which I think fits well with that idea.
@[email protected] is right though... this is likely only because an excerpt can't be sent in via
summary
, otherwise it gets treated like a CW. -
Emelia πΈπ»replied to Matthias Pfefferle last edited by
@pfefferle @hongminhee @julian @renchap @mike @michael
To a degree, but for activities like Travel, Listen, Visit, etc, I think representing those to something resembling a Note will always be difficult, hence having an as:Note preview of the activity does make sense to me
-
Sam Sethi :pc2red: βreplied to julian last edited by
@evan @julian @pfefferle @manton @renchap @andypiper @Gargron I 100% agree with Julian. We are new to AP development but very excited. I was surprised by the lack of AP vocab support in Mastodon given the AP vocab has not been updated since May 2017.
Being a podcast & music app we had hoped to use the LISTEN verb. Sadly we can't as there is no support? Equally we offer blogging and event ticketing in our platform, so using ANNOUNCE, ARTICLE and BUY verbs will hopefully work???
-
@julian the cynicism in me tells me that they did that and haven't changed it yet so they don't "accidentally" send someone to a better Fediverse software.
Lots of Mastodon decisions seem very sus lately. The lack of moderation tools and the devs completely ignoring requests for them are the biggest concern.
-
Matthias Pfefferlereplied to ζ΄ͺ ζ°ζ (Hong Minhee) last edited by
/cc @linos
-
Evan Prodromoureplied to Sam Sethi :pc2red: β last edited by
@samsethi so, I think you should just publish the activities that make sense for the problem domain, and we can worry about getting support for them by other platforms afterwards.
-
Matthias Pfefferlereplied to Sam Sethi :pc2red: β last edited by [email protected]
@samsethi here are the Object-Types that are supported by Mastodon and that will be transformed into a `Note` https://github.com/mastodon/mastodon/blob/ca8e892c1abb91722c256030c83cabec8e3445ff/app/lib/activitypub/activity.rb#L9
-
Sam Sethi :pc2red: βreplied to Evan Prodromou last edited by
@evan sadly its chicken and egg. If we publish with the listen verb and no apps read/render it then. our users will ask why their activity was not published. So we are forced to use the lowest common denominator aka note so it is read now by AP clients. Very happy to experiment as I know we are a new use case.
-
Emelia πΈπ»replied to Sam Sethi :pc2red: β last edited by