Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Cross-server Interactions in ActivityPub

General Discussion
9 7 27
  • Cross-server Interactions in ActivityPub

    So, Richard McManus asked me about how ActivityPub supports cross-server usage. As an example use case, let’s say a user with the account eric@social.example wants to comment on a photo by dionne@photos.example. In this scenario, Eric would go to the page https://photos.example/users/dionne/photos/1 and enter a comment. How would that work? I can talk about how it would work using the ActivityPub API. But I’m going to have to explain a lot about the API first!

    ActivityPub’s API is how client applications interact with the data on a user’s main account server. It lets the user read data on the same or other servers, and it lets them create activities and other kinds of objects on that server that get shared (under the user’s control) with the rest of the world.

    We can all kind of imagine this working for the general-purpose social apps we use — things like an Android social app. But what if we think about more special-purpose apps — applications that provide particular functionality not found in most general-purpose social clients? Let’s consider an ActivityPub enabled photo-editing tool that lets you change lighting, add cartoon characters, change your appearance, or other modifications that are often seen in “filters” on Instagram or Snap:

    Two neat things to note: first, yes, there are control mechanisms so that remote apps can’t do just anything they want behind your back; you get control. The other thing that’s neat is that because ActivityPub is very extensible, you can have all kinds of cool apps interacting with your ActivityPub account. Games, dating, ecommerce, all kinds of stuff.

    Now, what does all this have to do with cross-server interactions? Here’s the idea: when a user from social.example is browsing the web site for photos.example and wants to interact with the people or the photos, they log in and treat that remote server as if it was an ActivityPub client. Then, the ActivityPub server reports the activities back to the remote server using the ActivityPub federation protocol.

    This is actually a good model that works fairly well. It makes your own ActivityPub server your real home on the social web, where all your activities go through. It’s still in development and unfolding in the ActivityPub world — not everyone supports the ActivityPub API fully, so it’s hard to see these benefits today.

    This is a topic I cover in my book ActivityPub: Programming for the Social Web, so if you’re interested in more detail, please check out the book.

  • Cross-server Interactions in ActivityPub

    So, Richard McManus asked me about how ActivityPub supports cross-server usage. As an example use case, let’s say a user with the account eric@social.example wants to comment on a photo by dionne@photos.example. In this scenario, Eric would go to the page https://photos.example/users/dionne/photos/1 and enter a comment. How would that work? I can talk about how it would work using the ActivityPub API. But I’m going to have to explain a lot about the API first!

    ActivityPub’s API is how client applications interact with the data on a user’s main account server. It lets the user read data on the same or other servers, and it lets them create activities and other kinds of objects on that server that get shared (under the user’s control) with the rest of the world.

    We can all kind of imagine this working for the general-purpose social apps we use — things like an Android social app. But what if we think about more special-purpose apps — applications that provide particular functionality not found in most general-purpose social clients? Let’s consider an ActivityPub enabled photo-editing tool that lets you change lighting, add cartoon characters, change your appearance, or other modifications that are often seen in “filters” on Instagram or Snap:

    Two neat things to note: first, yes, there are control mechanisms so that remote apps can’t do just anything they want behind your back; you get control. The other thing that’s neat is that because ActivityPub is very extensible, you can have all kinds of cool apps interacting with your ActivityPub account. Games, dating, ecommerce, all kinds of stuff.

    Now, what does all this have to do with cross-server interactions? Here’s the idea: when a user from social.example is browsing the web site for photos.example and wants to interact with the people or the photos, they log in and treat that remote server as if it was an ActivityPub client. Then, the ActivityPub server reports the activities back to the remote server using the ActivityPub federation protocol.

    This is actually a good model that works fairly well. It makes your own ActivityPub server your real home on the social web, where all your activities go through. It’s still in development and unfolding in the ActivityPub world — not everyone supports the ActivityPub API fully, so it’s hard to see these benefits today.

    This is a topic I cover in my book ActivityPub: Programming for the Social Web, so if you’re interested in more detail, please check out the book.

  • Cross-server Interactions in ActivityPub

    So, Richard McManus asked me about how ActivityPub supports cross-server usage. As an example use case, let’s say a user with the account eric@social.example wants to comment on a photo by dionne@photos.example. In this scenario, Eric would go to the page https://photos.example/users/dionne/photos/1 and enter a comment. How would that work? I can talk about how it would work using the ActivityPub API. But I’m going to have to explain a lot about the API first!

    ActivityPub’s API is how client applications interact with the data on a user’s main account server. It lets the user read data on the same or other servers, and it lets them create activities and other kinds of objects on that server that get shared (under the user’s control) with the rest of the world.

    We can all kind of imagine this working for the general-purpose social apps we use — things like an Android social app. But what if we think about more special-purpose apps — applications that provide particular functionality not found in most general-purpose social clients? Let’s consider an ActivityPub enabled photo-editing tool that lets you change lighting, add cartoon characters, change your appearance, or other modifications that are often seen in “filters” on Instagram or Snap:

    Two neat things to note: first, yes, there are control mechanisms so that remote apps can’t do just anything they want behind your back; you get control. The other thing that’s neat is that because ActivityPub is very extensible, you can have all kinds of cool apps interacting with your ActivityPub account. Games, dating, ecommerce, all kinds of stuff.

    Now, what does all this have to do with cross-server interactions? Here’s the idea: when a user from social.example is browsing the web site for photos.example and wants to interact with the people or the photos, they log in and treat that remote server as if it was an ActivityPub client. Then, the ActivityPub server reports the activities back to the remote server using the ActivityPub federation protocol.

    This is actually a good model that works fairly well. It makes your own ActivityPub server your real home on the social web, where all your activities go through. It’s still in development and unfolding in the ActivityPub world — not everyone supports the ActivityPub API fully, so it’s hard to see these benefits today.

    This is a topic I cover in my book ActivityPub: Programming for the Social Web, so if you’re interested in more detail, please check out the book.

    @dave @adam this is a great post from @evan on how people can make comments across the fediverse.

  • @evan @evanprodromou Thanks Evan, it sounds compelling and I look forward to reading more! Re “It makes your own ActivityPub server your real home on the Web” -> is the idea that you would host your own AP server (e.g. for me it could be at ricmac.org), or do you think managed services will emerge that offer this as a service? Or is it something you can do with your Mastodon account potentially?

  • @evan @evanprodromou Thanks Evan, it sounds compelling and I look forward to reading more! Re “It makes your own ActivityPub server your real home on the Web” -> is the idea that you would host your own AP server (e.g. for me it could be at ricmac.org), or do you think managed services will emerge that offer this as a service? Or is it something you can do with your Mastodon account potentially?

    @ricmac
    ActivityPub servers capable of hosting your identity at a domain of your choice, rather than the servers' own domain, are going to be a thing. Mastodon today doesn't do that. One of the few that does is @takahe - but it'll become more common for a general purpose "social" server.

    And then there are going to be the special purpose apps, which will also speak ActivityPub - in their domains, or yours, depending on their ops model.
    @evan @evanprodromou

  • @ricmac
    ActivityPub servers capable of hosting your identity at a domain of your choice, rather than the servers' own domain, are going to be a thing. Mastodon today doesn't do that. One of the few that does is @takahe - but it'll become more common for a general purpose "social" server.

    And then there are going to be the special purpose apps, which will also speak ActivityPub - in their domains, or yours, depending on their ops model.
    @evan @evanprodromou

    @osma @ricmac @takahe @evan @evanprodromou i'd add that @gotosocial is a really good option for own-domain activitypub server, too.

  • @ricmac
    ActivityPub servers capable of hosting your identity at a domain of your choice, rather than the servers' own domain, are going to be a thing. Mastodon today doesn't do that. One of the few that does is @takahe - but it'll become more common for a general purpose "social" server.

    And then there are going to be the special purpose apps, which will also speak ActivityPub - in their domains, or yours, depending on their ops model.
    @evan @evanprodromou

    @osma @takahe @evan @evanprodromou

    Osma, just to note that @evanprodromou replied to you and I on his blog: https://evanp.me/2024/04/22/cross-server-interactions-in-activitypub/#comment-942 (and the fact those comments didn't flow through to Mastodon shows some of the practical issues we're dealing with!)

  • @osma @ricmac @takahe @evan @evanprodromou @gotosocial huh, interesting idea...my assumption was that takahe maintained a separate "federated timeline" for each domain it was configured with.

  • Cross-server Interactions in ActivityPub

    So, Richard McManus asked me about how ActivityPub supports cross-server usage. As an example use case, let’s say a user with the account eric@social.example wants to comment on a photo by dionne@photos.example. In this scenario, Eric would go to the page https://photos.example/users/dionne/photos/1 and enter a comment. How would that work? I can talk about how it would work using the ActivityPub API. But I’m going to have to explain a lot about the API first!

    ActivityPub’s API is how client applications interact with the data on a user’s main account server. It lets the user read data on the same or other servers, and it lets them create activities and other kinds of objects on that server that get shared (under the user’s control) with the rest of the world.

    We can all kind of imagine this working for the general-purpose social apps we use — things like an Android social app. But what if we think about more special-purpose apps — applications that provide particular functionality not found in most general-purpose social clients? Let’s consider an ActivityPub enabled photo-editing tool that lets you change lighting, add cartoon characters, change your appearance, or other modifications that are often seen in “filters” on Instagram or Snap:

    Two neat things to note: first, yes, there are control mechanisms so that remote apps can’t do just anything they want behind your back; you get control. The other thing that’s neat is that because ActivityPub is very extensible, you can have all kinds of cool apps interacting with your ActivityPub account. Games, dating, ecommerce, all kinds of stuff.

    Now, what does all this have to do with cross-server interactions? Here’s the idea: when a user from social.example is browsing the web site for photos.example and wants to interact with the people or the photos, they log in and treat that remote server as if it was an ActivityPub client. Then, the ActivityPub server reports the activities back to the remote server using the ActivityPub federation protocol.

    This is actually a good model that works fairly well. It makes your own ActivityPub server your real home on the social web, where all your activities go through. It’s still in development and unfolding in the ActivityPub world — not everyone supports the ActivityPub API fully, so it’s hard to see these benefits today.

    This is a topic I cover in my book ActivityPub: Programming for the Social Web, so if you’re interested in more detail, please check out the book.

    @evanprodromou I wish we'd also had a url handle to deal with everything. like web+ap:// but supported by everyone and used for everything, not just links.

    https://fedilinks.org/spec/en/6-The-web-ap-URI


Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
  • 0 Votes
    1 Posts
    7 Views
    #Mitra #ActivityPub #Microblogging mit #E2EE auf #Roadmap @mitra https://mitra.social/objects/019adf2b-cfdf-972f-e6d9-b90de9288fee
  • 0 Votes
    1 Posts
    12 Views
    Destroying Autocracy – November 13, 2025Welcome to this week’s “Destroying Autocracy”.It’s your source for curated news affecting democracy in the cyber arena with a focus on protecting it. That necessitates an opinionated Butlerian jihad against big tech as well as evangelizing for open-source and the Fediverse. Since big media’s journalism wing is flailing and failing in its core duty to democracy, this is also a collection of alternative reporting on the eternal battle between autocracy and democracy. We also cover the cybersecurity world. You can’t be free without safety and privacy.FYI, my opinions will be in bold. And will often involve cursing. Because humans. Especially tech bros. And fascists. Fuck ’em.The Programmer’s Fulcrum is the future (and smaller) home for a fusion of Symfony Station and Battalion. Its tagline is Devs Defending Democracy, Developing the OMN.You can sign up now and for 2025 get an email with links to and featured articles for each week’s Symfony Station Communiqué and Battalion “Destroying Autocracy” post along with their featured articles. And you’ll be set with TPF after the fusing.We are posting on the Fediverse now at @thefulcrum @thefulcrum.dev and original website content will start in 2026.Featured Item(s)Wrekage/Salvage writes:Once you’ve seized the tools of political life to build communal power, it’s hard to forget what a hammer feels like in your hand.Bonfire Networks is a tiny software org that has spent the past couple of years building a framework for communities on the open social web. At the end of last week, they released Bonfire Social, a microblogging app.Like Mastodon, Bonfire Social runs on ActivityPub, but it takes differently opinionated approach to sociability.(It has) features I (and many others) have been advocating for in Fediverse software for years, often while people explained at length that such things simply could not be implemented.Most exhilarating to me, though, is that they aren’t just building another microblogging app. They’re making a toolkit for internet community software that is healthy and good and designed around real human needs from the start.As they put it in their crowdfunding campaign, they’re making building blocks for communities on the open social web.Sparks fly upTotal awesomeness that needs to blow up. We will cover (and support) Bonfire extensively on The Programmer’s Fulcrum.We start and end with good news to make the middle bearable.The response to Russia’s War Crimes, Techno Feudalism, and other douchebaggeryThe Kyiv Independent reports:Ukraine slaps new sanctions on Putin’s team and propagandist publishersRadio Free Europe reports:EU ‘Democracy Shield’ Aims To Counter Russian DisinformationOpen Web Advocacy has:Tim Berners-Lee On Apple’s Browser Engine Ban and Web AppsHeise reports:Office alternative from Germany by Ionos and Nextcloud is now availableGreat.Speaking of Germany, The Guardian reports:ChatGPT violated copyright law by ‘learning’ from song lyrics, German court rulesMeta could face millions in fines for not signing content deals in AustraliaDigital Rights Bytes asks:Can the government read my text messages?404 Media reports:Judge Rules Flock Surveillance Images Are Public Records That Can Be Requested By AnyoneTechCrunch reports:Wikipedia urges AI companies to use its paid API, and stop scrapingBrookings says:We should all be LudditesPreach brother.Poynter reports:As independent newspapers disappear, a secretive alliance fights to save themNeutralOpen Knowledge shares:Open letter: Harnessing open source AI to advance digital sovereigntyThe Ringer has:How Catastrophic Is It If the AI Bubble Bursts? An FAQ.The Evil Empire (AKA Autocracy) Strikes Back404 Media reports:DHS Gives Local Cops a Facial Recognition App To Find ImmigrantsTechCrunch reports:Why a lot of people are getting hacked with government spywareLawmakers warn Democratic governors that states are sharing drivers’ data with ICEEuractiv reports:EU’s red tape bonfire puts AI ahead of privacy protectionNOYB reports:EU Commission internal draft would wreck core principles of the GDPRThe Guardian reports:The EU has let US tech giants run riot. Diluting our data law will only entrench their power.Tech giants vow to defend users in US as spyware companies make inroads with Trump administrationFreedom of the Press Foundation reports:Kansas county pays $3M for forgetting the First AmendmentPariah StatesBleepingComputer reports:APT37 hackers abuse Google Find Hub in Android data-wiping attacksBitDefender reports:Russian hacker admits helping Yanluowang ransomware infect companiesThe Register reports:UK asks cyberspies to probe whether Chinese buses can be switched off remotelyKrebs on Security reports:Google Sues to Disrupt Chinese SMS Phishing TriadBig MediaThe Columbia Journalism Review has:Editorial Independence Means Technological IndependenceThe Open Media Network peeps.The Guardian reports:EU investigates Google over ‘demotion’ of commercial content from news mediaBig TechAnd:Big Tech’s control freak era is breaking itself apartThe Techno Anarchist Manifesto lists tools to help you avoid most of this AI horseshit.Lies, damned lies and AI: the newest way to influence elections may be here to stayJesus.Digital colonialism: the new frontier of Latin American dependency.A side effect of techno feudalism.PC Mag reports:Asking ChatGPT About Affairs or Abortion? Be Careful, Marketers Are Peeking at Your PromptsCybersecurity/PrivacyThe Register reports:OWASP Top 10: Broken access control still tops app security listIEEE Spectrum reports:Your AI Agent Is Now a Target for Email Phishing. New tools can help thwart the attacks.Like bitcoin, if you use this shit you deserve what you get.DarkReading reports:Orgs Move to SSO, Passkeys to Solve Bad Password HabitsGlassWorm Returns, Slices Back into VS Code ExtensionsCheck out VS Codium friends.BleepingComputer reports:Police disrupts Rhadamanthys, VenomRAT, and Elysium malware operationsFediverseElena Rossini shares:The rebellion will be federated – 2025 editionA New Social has:Bonfire and A New SocialBonfire explains:Matters of care – why Bonfire maintenance comes first.Comciencia has:A comunicação da ciência no FediversoLaura Hargreves shares:Growing My Own Little Fediverse: The Joy of Going Further Down the Rabbit HoleInside My Matrix: How I Reclaimed Messaging from the CloudTechCrunch reports:Threads targets podcasters with new features, aiming to become the home for show discussionsBTW, fuck Threads.Slightly Decentralized Social MediaThe Dabbler has:Chicken Caesars: they’re messing with your Bluesky feedTechCrunch reports:Jack Dorsey funds diVine, a Vine reboot that includes Vine’s video archiveHmm, this is built with Nostr.CTAs (aka show us some free love)That’s it for this week. Please share this edition of Destroying Autocracy.Follow me on the Fediverse. Or this site via the button in the footer. Or via RSS. Or even our future home in 2026, if you want a head start.Keep fighting!Ringleader, BattalionReuben Walker Follow me on the Fediverse#activitypub #ai #autocracy #bigJournalism #bigTech #bluesky #bonfire #bridgyfed #democracy #fascism #fediverse #matrix #stopChina #stopIsrael #stopRedAmerica #stopRussia #supportUkraine #technoanarchism #technofeudalism #threads #xmpphttps://battalion.mobileatom.net/?p=3838
  • 0 Votes
    1 Posts
    14 Views
    Week in Fediverse 2025-10-31Servers- Mitra v4.12.0- Manyfold v0.127.0- snac v2.84- Ktistec v3.1.2- Misskey v2025.10.2- Mastodon 4.5 for Developers- Atlas: A social mapping app that lets you post geolocated notes on the FediverseClients- Pachli v3.1.0- Mastodon for iOS v2025.07- NeoDB You v1.0.5- Thunder v0.8.0Tools and Plugins- feed2fedi v3.3.0- Poduptime v5.5.6For developers- NGI0 Progress report #0 (GoActivityPub)Articles- Fediverse instances on weird hardware, networks and operating systems- There is One Fediverse. There are a Million Pickleball Courts.- A Mastodon Migration From Bluesky Would Be Different- How *you* (librarians and those working in publishing, law, and government) should use ActivityPub and Why- Fediverse Report – #141-----#WeekInFediverse #Fediverse #ActivityPubPrevious edition: https://mitra.social/objects/019a17cf-e370-2278-c196-713c73e5cdea
  • 0 Votes
    1 Posts
    11 Views
    Estou escrevendo um #artigo sobre as diferentes implementações do #activitypub @fediverse Quais implementações vocês gostariam de ver serem testadas?Alguém conhece algum servidor #pleroma que não seja de fascio? O Pleroma tem muita coisa interessante mas tem muita gente podre também, infelizmente.#pleaseboost