Thoughts on oEmbed and quoting
Over the Christmas holiday season the FediVerse was animated with discussions about “quote boosts”. This describes the act of embedding a post into another post and adding a comment. For various reasons this lead to tempers boiling high. Since then many new Mastodon apps emerged, some of these support quote boosts in some form and nobody seems to care. This post is both to record some things and to experiment.
Some relevant facts about quoting
First, I want to say that I will alwasy write quoting. This is a personal choice.
Now, let’s talk a bit. In Quote Tweeting: Over 30 Studies Dispel Some Myths, Hilda Bastian details studies about quote tweeting, by this I mean the studies are about how quoting is used on Twitter. I think it should be good practice to consult it or something similar before stating an opinon on what the consequences of quoting are.
Next, FEP-e232: Object Links provides a way to include quoting in ActivityStreams objects. I find that the format
RE: https://example.com/objects/123
is somewhat awkward as a microsyntax. It doesnt seem as natural as @mention
or #tag
. Implementing something like this, would ensure a more uniform interpretation of the microsyntax. If you are curious about microsyntax and ActivityPub, check here.
Third, a big problem with current implementations are that there are no notifications. So if quotes my post, I don’t get notified. I will call this the quoting notification problem. In my opinion, this is the major issue involved in quoting. My understanding is that none of the current solutions adequately solve this. My internet search shows that Twitter solved the quoting notification problem. Unfortunately, there is no flow chart of who gets notified when and how. This would be good to have when discussing quoting.
oEmbed
First, oEmbed is a format to include media from various places. The specification document, I linked to hasn’t seen much activity and the last entry on the linked mailing list is from 2014. The reason it’s relevant for us, is that Mastodon implies oEmbed. So taking a post from myself and performing
curl 'https://mas.to/api/oembed?url=https://mas.to/@helgek/110037996902548557&maxwidth=600'
I get the response
{
"author_name": "helge",
"author_url": "https://mas.to/@helgek",
"cache_age": 86400,
"height": null,
"html": "<iframe src=\"https://mas.to/@helgek/110037996902548557/embed\" class=\"mastodon-embed\" style=\"max-width: 100%; border: 0\" width=\"600\" allowfullscreen=\"allowfullscreen\"></iframe><script src=\"https://mas.to/embed.js\" async=\"async\"></script>",
"provider_name": "mas.to",
"provider_url": "https://mas.to/",
"type": "rich",
"version": "1.0",
"width": 600
}
from which the following iframe results:
From my testing so far, my Mastodon account has not got a single notification of the usage of the oEmbed object. This means that the quoting notification problem is unsolved for Mastodon oEmbed. It might be interesting to see, if one can solve it in this use case.
Also, I consider this oEmbed API endpoint as Mastodon supporting and encouraging quoting. This might be my technical nerd standpoint, but hey it’s an API included from version 1, that allows me to embed Mastodon’s statuses. This is quoting for me!
Questions
One of the main questions I have when writing all this: Is there a better standard to use when embedding something than oEmbed? It doesn’t feel like what one wants. I feel that a way to request an “embeddable” object from the ActivityPub server would be better. So there is no need for this API.
Second, I’m thinking of adding a feature to this blog to use oEmbed to quote Mastodon posts. Basically, this would involve something like
[!mastodon](https://mas.to/users/helgek/110037996902548557)
and then my blog does a lot of background stuff in the background. My problem is, I’m not sure how to solve the quoting notification problem. There are some obvious things to do:
- Add the author being quoted to the
to
field. If I remember correctly, this will not generate a notification or even display the post in Mastodon. I didn’t retest everything. - Add the author to the mentions and the
to
field. Theto
field so the post is delivered, the mention, so the author gets notified on Mastodon. This feels wrong, because I don’t mention the author. One could get around this, by adding something like@author wrote:
before the iframe. Unfortunately, this entire thing feels like a hack. - Decide Mastodon should fix oEmbed notifications. I don’t think this would resolve the issue in a reasonable timeframe.
- Send a direct message. This would solve the problem in a satisfactory way. It feels a little bit of a cry for attention. So I might mention this post, to show I’m looking for alternatives.
Another issue I want to raise, is everybody aware of this oEmbed API of Mastodon? Do you feel comfortable it is available? Do you want to be able to turn it off? If you have opinions, contact your closest Mastodon developer.
So any opinions? And thanks for reading.
This means that the Moo-Markdown -> Markdown -> content converter chain should do a [!mastodon](URL) -> RE: URL.
Also I'm not sure if I want to go the Misskey route and send around a custom markdown format.