Automattic / jetpack

Security, performance, marketing, and design tools — Jetpack is made by WordPress experts to make WP sites safer and faster, and help you grow your traffic.
https://jetpack.com/
Other
1.59k stars 799 forks source link

Sharing: extend Mastodon button to cover more platforms #30675

Open jeherve opened 1 year ago

jeherve commented 1 year ago

Impacted plugin

Jetpack

What

The Mastodon sharing button works well with Mastodon, but could be extended to support more Fediverse platforms

How

This is something we had discussed when we first introduced the button in #28694.

Ideally, it would have been nice to implement a “Share to the Fediverse” button and not a “Share to Mastodon” button; that would have been useful to more people.

However, each Fediverse service is different, and each one comes with a different feature set.

That stops us from easily implementing a “Share to Fediverse” button, since there is no single common way to post something to the Fediverse right now. This may change in the future thanks to efforts like this one: https://codeberg.org/fediverse/fediverse-ideas/issues/1

Until that happens, we have some options:

image

If so, what should the initial button look like, and what should it say? Would a "Share to Fediverse" button be:

  1. understandable for folks who may not know about the term "Fediverse" and would expect a Mastodon icon and name;
  2. correct when in fact the button would only support a fraction of the Fediverse since there are so many Fediverse platforms out there that would not work with it.

Related discussions:

panosda commented 1 year ago

Hello, Panos from Calckey here! Thank you for considering this!

I get your concerns. I wouldn't ask for a separate button for Calckey next to other social media, I get it that this can get out of hand, and we're also trying to promote the Fediverse, not just our platform - the idea is that Calckey is a platform you use to connect to not only other Calckey users but to the wider Fediverse as well, and we want people to know that - I think this should be a "selling point" for all platforms, and would make the true decentralized and open source nature of ActivityPub/the Fediverse be more easily understandable.

On the specific matter now, one idea that just popped in my head when I read the problem is this: Since you can't promise compatibility with all Fediverse platforms, perhaps you could make a "Share to the Fediverse" button, that would bring up a popup with all the different platforms you support at any time. So it could start with Mastodon, Misskey and Calckey and add any other major platforms you support.

This is not ideal, of course, because in the Fediverse we have countless forks and projects that might also want to be there, but you can't display 50 or 100 options... so I think that the best solution in the long run will be if fedi platforms get together and decide on a standard for this, like in the suggestion you posted. If/when this happens, you can drop the popup and keep just the "Share to the Fediverse" button. By then also everyone will have learned that this is the button for their platform - as I guess Mastodon users will also learn it in the meantime: Even if they don't know what the Fediverse/Fediverse logo is, if they see their "Share to Mastodon" button having been replaced by a Fediverse button, they will probably click on it out of curiosity, and then in the popup they will see their familiar Share to Mastodon button.

Again, not an ideal solution, but the best I could come up with, given the situation.

macgirvin commented 1 year ago

We already have a different endpoint for this purpose and already have a /share endpoint that does something else, and a number of different options to this service depending on the data-type you are sharing. And we had these for years before Mastodon even existed. This isn't an hour task to make work like Mastodon. It would take considerable effort and time.

At one time there was a protocol called OExchange which provided discovery of sharing services with the old XRD webfinger. You can find traces of it around around the web but the project appears to be dead. Please let us revive that and bring it into the modern age with JSON webfinger rather force everybody to do what Mastodon does. Because we have completely different architectures and philosophies and don't always agree on implementations. Nobody is wrong, but we're all different and refuse to be shoe-horned into making our service look and act like a Twitter-clone; because that isn't what we're providing.

There's really not much to it. It means you would provide a common interface and all the implementation details would be provided by webfinger. It's a long-term solution, so if you want something that works with the rest of the fediverse today you'll need to either include everything or just include a handful of the most popular projects and leave everybody else (including my projects) behind and understand that we'll cuss at you and boycott you for not being inclusive.