Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sharing: extend Mastodon button to cover more platforms #30675

Open
jeherve opened this issue May 12, 2023 · 2 comments
Open

Sharing: extend Mastodon button to cover more platforms #30675

jeherve opened this issue May 12, 2023 · 2 comments
Labels
[Feature] Sharing Post sharing, sharing buttons [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ [Pri] Normal [Type] Enhancement Changes to an existing feature — removing, adding, or changing parts of it

Comments

@jeherve
Copy link
Member

jeherve commented May 12, 2023

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.

  • Some, like Mastodon, include a fully-fledged web interface. This is why it is possible to implement a “Share to Mastodon” button. Its interface includes a /share route that allows you to pre-fill a message input from.
  • Others, like GoToSocial (that’s the service I personally use) are mostly headless services; the only way to compose your toots is to use a third-party client.

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:

  • We could introduce new Sharing buttons for the different services that have a share intent URL. We could for example introduce a new "Share to Calckey" button since Calckey supports /share, just like Mastodon. This of course could become noisy and confusing for some folks as the number of buttons would increase. We would also have to consider what platforms we want to support; should there be a "Share to Calckey" button as well as a "Share to Misskey" button?
  • We could extend the existing "Share to Mastodon" button so it would be clear it could be used to share to other platforms too. I do not know how this should look like: should the different options be presented in the sharing modal, instead of the existing Mastodon modal:
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:

@jeherve jeherve added [Type] Enhancement Changes to an existing feature — removing, adding, or changing parts of it [Feature] Sharing Post sharing, sharing buttons [Pri] Normal labels May 12, 2023
@github-actions github-actions bot added the [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ label May 12, 2023
@panosda
Copy link

panosda commented May 12, 2023

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Sharing Post sharing, sharing buttons [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ [Pri] Normal [Type] Enhancement Changes to an existing feature — removing, adding, or changing parts of it
Projects
None yet
Development

No branches or pull requests

3 participants