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 0
  • 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
    8 Views
    Destroying Autocracy – November 27, 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 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 in January.We are posting on the Fediverse now at @thefulcrum @thefulcrum.dev and original website content will start in 2026.Featured Item(s)The Atlantic writes:Over the weekend, Elon Musk’s X rolled out a feature that had the immediate result of sowing maximum chaos. The update, called “About This Account,” allows people to click on the profile of an X user and see such information as: which country the account was created in, where its user is currently based, and how many times the username has been changed.Nikita Bier, X’s head of product, said the feature was “an important first step to securing the integrity of the global town square.” Roughly four hours later, with the update in the wild, Bier sent another post: “I need a drink.”Almost immediately, “About This Account” stated that many prominent and prolific pro-MAGA accounts, which signaled that they were run by “patriotic” Americans, were based in countries such as Nigeria, Russia, India, and Thailand.@MAGANationX, an account with almost 400,000 followers and whose bio says it is a “Patriot Voice for We The People,” is based in “Eastern Europe (Non-EU),” according to the feature, and has changed its username five times since the account was made, last year.On X and Bluesky, users dredged up countless examples of fake or misleading rage-baiting accounts posting aggressive culture-war takes to large audiences. An account called “Maga Nadine” claims to be living in and posting from the United States but is, according to X, based in Morocco. An “America First” account with 67,000 followers is apparently based in Bangladesh. Poetically, the X handle @American is based in Pakistan, according to the feature.Elon Musk’s Worthless, Poisoned Hall of MirrorsJust FYI, December 25th will be the day I stop exploring the stupidity of our current timeline and the last Destroying Autocracy post. Again, see the notes above about The Fulcrum.We start and end with good news to make the middle bearable.The response to Russia’s War Crimes, Techno Feudalism, and other douchebaggeryEuroNews reports:Life after chatbots: Meet the ‘AI vegans’ refusing to accept a virtual realityKagi is:Introducing SlopStop: Community-driven AI slop detection in Kagi SearchOrion 1.0 ✴︎ Browse BeyondFucking awesome if you use Macs.TechPolicy Press reports:Why Civil Society Is Sounding the Alarm on the EU’s Omnibus RollbackThe Guardian reports:European parliament calls for social media ban on under-16sThe Free Software Foundation Europe shares:Germany Stack: Only Free Software Enables Digital SovereigntyWikimedia announces:Unifying our mobile and desktop domainsDecidim reviews:Decidim Fest 2025: Collective energy, digital sovereignty and a common roadmapThe Conversation reports:Tim Berners-Lee wants everyone to own their own data – his plan needs state and consumer support to workMullvad reports:An important victory – but we still need to stop Chat Control.Ploum says:Don’t Do Snake Oil WritingFiona Fokus says:I don’t care how well your “AI” worksAbso-fucking-lutely.NeutralThe Guardian asks:Has Britain become an economic colony?England always makes sure to ape the shitty parts of America.W3C shares:Preventing Abuse of Digital CredentialsBen Werdmuller covers:The EFF we need nowThe Evil Empire (AKA Autocracy) Strikes BackHeise reports:Analysis of the Digital Sovereignty Summit: Open Source Gets ScoldedWe Are Solomon reports:Hungry for data: Inside Europol’s secretive AI programThe Intercept reports:The FBI wants to use Surveillance Drones with Facial Recognition TechnologyHow Corporate Partnerships Powered University Surveillance of Palestine ProtestsThe Counter Offensive reports:Witkoff was secretly giving Russians advicePariah StatesThe Register reports:CISA warns spyware crews are breaking into Signal and WhatsApp accountsDarkReading reports:DPRK’s FlexibleFerret Tightens macOS GripBig MediaThe Columbia Journalism Review reports:Could Public Skepticism of the Press Actually Be Good for Democracy?It could since most Big Media is owned by right-wing c^nts.ProPublica shares:ProPublica’s May-August 2025 Impact Report: Independent Investigations That Spur ChangeBig TechSage JournalsAlgorithms at your service: Understanding how X’s systems of recommendation likely fueled the far-right riots in the United Kingdom by amplifying visual representations of racist conspiracy theoriesRenée DiResta reports:On the internet, nobody knows you’re a MAGA influencer… in LagosThe Daily Beast reports:Top MAGA Influencers Accidentally Unmasked as Foreign Trolls404 Media reports:America’s Polarization Has Become the World’s Side HustleThe Register reports:Meta knows how bad its sites are for kids, say lawyersMM+M reports:What healthcare marketers need to know about Meta’s censoring of abortion adsThe Markup reports:How American Big Tech guards the profits it extracts around the worldCybersecurity/PrivacyBleepingComputer reports:Cox Enterprises discloses Oracle E-Business Suite data breachHmm, cable companies are literally shit at everything.Code beautifiers expose credentials from banks, govt, tech orgsDarkReading reports:Infamous Shai-hulud Worm Resurfaces From the DepthsThe Register reports:FCC guts post-Salt Typhoon telco rules despite ongoing espionage riskFediverseTerence Eden has:Now witness the power of this fully operational Fediverse!Ghost has:Explore the independent webRadWeb Hosting shares:How to Host Your Own Mastodon Server on a VPS (5 Minute Quick-Start Guide)How to Install Pleroma on Ubuntu VPS (5 Minute Quick-Start Guide)NodeBB announces:NodeBB v4.7.0 — category boost fixes, remote media/emoji in chats, and more!Slightly Decentralized Social MediaConnected Places has:ATmosphere Report – 144CTAs (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 #atproto #autocracy #bigJournalism #bigTech #democracy #fascism #fediverse #mastodon #nodebb #pleroma #stopChina #stopIsrael #stopRedAmerica #stopRussia #supportUkraine #technoanarchism #technofeudalismhttps://battalion.mobileatom.net/?p=3992
  • 0 Votes
    1 Posts
    10 Views
    The notion that instance users should share common interests never made a whole ton of sense.#Activitypub #Mastodon
  • 0 Votes
    7 Posts
    45 Views
    @dnkrupinski immernoch?
  • WordPress and 844e

    Uncategorized fep 844e activitypub wordpress
    5
    0 Votes
    5 Posts
    39 Views
    silverpill@mitra.social the second code example in FEP 844e is wrong though, it uses [ and ] instead of { and } around the "object" in implements