WordPress-iOS icon indicating copy to clipboard operation
WordPress-iOS copied to clipboard

Jetpack-Fediverse Integration Proposal

Open Jiwoon-Kim opened this issue 8 months ago • 5 comments

Jetpack-Fediverse Integration Proposal


1. Background & Objective

In 2024, Automattic officially introduced the ActivityPub plugin for both WordPress.com and self-hosted WordPress, signaling a full-scale strategy for embracing the open web and Fediverse ecosystem. However, the official Jetpack mobile app still lacks client-level Fediverse interactions — such as following, liking, commenting, boosting, and multi-account switching — similar to what Mastodon and Misskey clients offer.

This proposal aims to expand the Jetpack app into a multi-account Fediverse client, enabling WordPress blogs to function as Fediverse microblogging accounts in much the same way Mastodon accounts operate.


2. Key Features & Use Scenarios

A. Multi-Blog ActivityPub Account Switching

  • Allow users to register multiple WordPress.com and self-hosted blogs with ActivityPub enabled accounts within the Jetpack app.

  • Provide seamless account switching, similar to the Mastodon app.

B. Fediverse Timeline & Interactions

  • Display posts from followed Fediverse accounts (Mastodon, Misskey, Pleroma, etc.) within the Jetpack app timeline.

  • Support ActivityPub-based interactions: like, comment, boost (share), and follow actions directly within the app.

C. Microblogging & Syndication

  • Enable microblog-style post creation and ActivityPub publishing from each blog (account) selection.

  • Provide external post quoting and reposting (syndication) functions, supporting both WordPress’s quote system and ActivityPub’s Announce type.

D. Notifications & Feed Management

  • Deliver notifications for ActivityPub-based likes, comments, and follows.

  • Allow separate management of internal WordPress.com instance feeds and external ActivityPub feeds.

E. DM (Direct Messaging) Support

  • Overcome ActivityPub’s direct messaging limitations by integrating with the Matrix protocol.

  • Either embed a Matrix client into the Jetpack app or enable integration with external Matrix clients.


3. Technical Implementation Approach

A. Server-Client Hybrid Model

  • Self-Hosted WordPress: Each blog server independently handles its ActivityPub inbox/outbox, feeds, and following lists.

  • WordPress.com: Only maintains minimal metadata (e.g. following lists) on the server side, while the Jetpack app directly fetches external ActivityPub feeds from remote servers, similar to the Mastodon mobile client model.[1]

B. ActivityPub REST API Integration

  • The Jetpack app will support WebFinger discovery, inbox/outbox API calls, and federated actions (Like/Reply/Boost) via ActivityPub REST APIs.

  • WordPress.com internal instance feeds will be served via REST API for high performance, while external Fediverse communication will occur through ActivityPub.

C. Matrix DM Integration

  • Assign Matrix handles (e.g., @username:wordpress.com) to WordPress.com accounts.

  • Provide real-time Matrix-based direct messaging through Jetpack, either natively or via integration with Matrix clients.


4. Expected Outcomes

  • WordPress blogs can function as Fediverse microblogging accounts, with social profile parity alongside Mastodon, Misskey, etc.

  • The Jetpack app will serve as an integrated manager for multiple ActivityPub-enabled blogs/accounts.

  • Contribute to the growth of the open, decentralized social web ecosystem.

  • Fully align with Automattic’s broader Fediverse strategy across WordPress.com, self-hosted WordPress, Tumblr, and beyond.


5. Summary of Architecture & Functions

Function Protocol/Method
Microblog Timeline WordPress.com instance server feed
External Fediverse Integration ActivityPub
Direct Messaging Matrix (embedded in Jetpack or via Matrix bridge)
Repost/Quote WordPress Syndication + ActivityPub Announce

6. Differentiators & Scalability

  • Integrates the advantages of existing Fediverse clients (Mastodon, Misskey) within the Jetpack app.

  • Supports both WordPress.com and self-hosted blogs with seamless account switching and unified management.

  • Flexibly combines WordPress-native functions like DM and syndication with Fediverse standards.

  • Naturally connects with Automattic’s future Fediverse ecosystem (including Tumblr and other platforms).


7. Proposal Title

Jetpack Social Fediverse


8. Conclusion & Request

The proposed multi-account Fediverse interaction features for the Jetpack app represent an innovative expansion of the WordPress ecosystem.

We sincerely hope this proposal can be incorporated into Jetpack and Automattic’s official roadmap, and we express our willingness to actively participate in UX design and architectural specification processes.

"Due to the architectural difference between self-hosted WordPress and WordPress.com’s shared infrastructure, a hybrid model could be implemented: WordPress.com maintains following lists and delivers user content, while the Jetpack app fetches remote ActivityPub feeds directly, reducing server load and enabling real-time client-side federated interactions."


Attachments:

  • Official ActivityPub for WordPress plugin reference

  • Jetpack app/REST API integration diagram

  • Matrix DM integration example

  • WordPress.com instance feed vs. external ActivityPub feed comparison

Prepared by:
Jiwoon Kim (Designer, AI Creator, Blogger)
Nam-gu, Busan, Republic of Korea


@WordPress @pfefferle @akirk

Jiwoon-Kim avatar May 03 '25 10:05 Jiwoon-Kim

Thanks for reporting! 👍

dangermattic avatar May 03 '25 10:05 dangermattic

Off the Record

On the threshold of transforming the Jetpack App into a Fediverse multi-client

Recently, while using the WordPress Reader to subscribe to external content like YouTube channels and Reddit boards via RSS, I suddenly got curious: If Mastodon or Misskey accounts also have RSS feeds, wouldn’t it be possible to subscribe to them as well?

So I looked into it — turns out Mastodon provides RSS feeds for every account by default, and some Misskey instances support RSS feeds too.

On a related note, a WordPress blog can turn into a Fediverse account simply by installing the ActivityPub plugin. With that, anyone on Mastodon or other Fediverse instances can follow that blog and even leave replies.

Which naturally made me wonder: in the official WordPress Jetpack app, are we really limited to just RSS feed subscriptions? Why isn’t it possible to follow Fediverse accounts directly, or interact with them via likes, comments, or boosts?

Then it struck me — what if Jetpack could not only subscribe to Fediverse accounts through RSS, but also support interactions like likes, comments, and reposts?

If the Jetpack app integrated ActivityPub client capabilities, just like how it lets you follow websites via the Reader, it could allow direct follows of Mastodon or Misskey accounts, and actions like liking, commenting, and boosting posts. In doing so, Jetpack wouldn’t just be a simple blog reader anymore — it could evolve into a decentralized social content hub.

A multi-client app where you can manage and interact with WordPress.com accounts, ActivityPub-based Fediverse accounts, and various blogs and content channels all in one place. Frankly, it’s a little surprising Automattic hasn’t already pursued something like this.

Someday, I’m thinking of pitching this idea either in an Automattic developer forum or to the Mastodon developer community. Who knows — this small insight might just be the next evolutionary step for the Jetpack app.


📌 Idea Summary

What if Jetpack App could subscribe to Fediverse handles and interact with them, just like it does with blogs?

  • Follow Fediverse accounts directly using their handles
  • Support actions like Like, Comment, and Boost
  • Merge RSS and ActivityPub feeds within Jetpack Reader
  • Use WebFinger discovery and support Inbox/Outbox interactions
  • Seamless integration with WordPress blogs running the ActivityPub plugin

This would evolve Jetpack App from a simple blog reader to a decentralized social content hub.


📌 Possible Future Expansions

  1. Unified subscription view for RSS and ActivityPub feeds
  2. Deep integration between WordPress ActivityPub plugin and Jetpack App
  3. Support for Threads accounts (if their Fediverse beta is enabled)
  4. Potential for Automattic-operated ActivityPub Relay service in the future

I thought this small insight might offer a potential direction for Jetpack App's evolution. Would love to hear if there’s any existing plan in this area or if this might be worth exploring.

Thanks a lot for reading! @jeherve

Jiwoon-Kim avatar May 03 '25 11:05 Jiwoon-Kim

@Jiwoon-Kim thanks so much for your request and for taking the time to share your ideas so thoroughly!

We already thought about quite some of your ideas as features for the ActivityPub plugin like for example the reader integration. There are some difficulties (the Reader for example is account based, ActivityPub is sited based, and an Account can have multiple sites) but I think we can find a way there. I really love the idea of having a reader, that can simply subscribe to any kind of structured data and to allow interactions where possible. This must not be limited to ActivityPub but can maybe also integrate IndieWeb ideas: https://indieweb.org/reader

@akirk has already done an amazing job with his friends plugin: https://wordpress.org/plugins/friends/

I'd also be excited to work on a "Client-to-Server" implementation of ActivityPub, as an open alternative to Mastodon's proprietary API, which is currently the de facto standard for Apps.

@akirk did a fantastic job to also bridge that gap: https://wordpress.org/plugins/enable-mastodon-apps/

Happy to support with that project if it makes it to the final round ;)

/cc @obenland

pfefferle avatar May 07 '25 07:05 pfefferle

Further Thoughts on Handle Management, Feed Structure, and Theme Considerations

Hi all, following up on this excellent discussion — I’d like to share some additional implementation considerations based on potential future scaling challenges and dependency paths.

To avoid architectural rewrites later, it’s important to carefully decide early on how Fediverse integration should be structured across WordPress ecosystems. Here’s a summary of what I’ve been exploring:


📌 Key Architectural Considerations for Fediverse Integration

I’d like to expand on some core structural concerns and future-proofing points that I believe are essential for Jetpack × ActivityPub × Fediverse integration, based on dependency path management.


1️⃣ Profile & Handle Structure

How should profiles across different WordPress platforms federate to the Fediverse?

Profile handle patterns:

  1. Self-hosted site profile → @[email protected]

  2. Self-hosted user profile → @[email protected]

  3. WordPress.com site profile → @[email protected]

  4. WordPress.com user profile:

Proposal:

  • Default to @[email protected]
  • Allow @[email protected] for custom domain sites with ActivityPub enabled
  • Use site handle aliasing for multisite instances
  • To avoid handle conflicts, introduce a dedicated activitypub_handle field

Additionally:

  • @[email protected] for WordPress.org News/Marketing
  • @[email protected] for localized WordPress community announcements
  • WordPress.org user profiles (@[email protected]) probably don’t need federation — unless Jetpack × WordPress.org account interaction support happens later

Suggestion: Add account switcher in Jetpack app to toggle between site profiles and user profiles.


2️⃣ Feed Architecture & Timeline Layering

Since self-hosted WordPress runs on independent servers, each becomes a federated instance. Fediverse posts typically follow a microblogging format — but WordPress often handles long-form content, so a clear timeline/feed strategy is needed.

Post types:

  • Long-form blog posts (Article)
  • Short-form microblog posts (Note)
  • External Fediverse feeds (from other instances)

Timeline layers (like Mastodon/Misskey):

  • Home timeline → followed users/sites (WordPress + Fediverse)
  • Site timeline → recent posts from a specific site (including long-form posts)
  • Microblog timeline → short-form user posts
  • Discover / Hot / Hashtag feeds → filtered content from the Fediverse
  • Global timeline → optional federated stream from connected instances

For long-form content:

  • If over 500 characters, post as Article type
  • Timeline shows summary + "Read more" link → opens in webview or tab

Optionally: Bluesky-style custom feeds or hashtag timelines could also be supported.

📌 Feed Structure: Layered Timeline Design

WordPress should adopt a feed system structure resembling established Fediverse platforms like Mastodon and Misskey:

  • Home timeline — Posts from followed users and sites.
  • Local timeline — Posts from users on the same WordPress.com site or self-hosted instance.
  • Global timeline — Posts federated from connected external instances.
  • Custom feeds — Filtered by hashtags, topics, or curation (Bluesky-style Discover feeds).

Additionally:

  • Long-form blog posts (Article type) should display as a summary in the timeline with a 'Read More' link to a webview or tab.
  • Microblog posts (Note type) can display in full within the timeline.

3️⃣ Jetpack App Behavior

Two complementary directions:

  • Mastodon-style native app → centralized account management (WordPress.com), multiple accounts, Fediverse timelines

  • Misskey-style PWA frontends → for custom self-hosted site UIs, especially useful for custom reactions, emoji sets, or non-standard Fediverse behaviors.

Both can coexist:

  • Jetpack as the official mobile app
  • PWA instances for self-hosted site flexibility and custom UX (e.g. Misskey/Slack-like reactions)

✅ Final Recommendation: Dependency Management

To avoid future architectural rewrites:

  • Establish a handle structure policy early (default @[email protected] + optional custom domain handles)
  • Build a 3-layer feed system (WordPress feeds / Microblogs / Fediverse)
  • Clearly separate ActivityPub Note / Article post types
  • Jetpack app should support multi-account switching + Fediverse timeline layers from the start

⚠️ Current Issue with Friends Plugin

  • Incompatible with many existing themes
  • Requires a dedicated core theme for Fediverse microblogging

Proposal: Create a twentysomething-fediverse core block theme:

  • Native support for microblog post types
  • Clean templates for Home / Local / Global feeds
  • Optimized layouts for ActivityPub Note and Article types

📌 Core Theme Requirement

While using the [Friends plugin](https://wordpress.org/plugins/friends/), I noticed that a microblog-centric layout is essential for this kind of content stream.

Issue: The default WordPress theme system isn’t optimized for Fediverse-style microblog timelines. Some plugins generate dedicated pages (like friends pages) that don't always integrate cleanly with existing themes.

Proposal: Create a core block theme purpose-built for decentralized social networking and ActivityPub interactions:

  • Supports microblog and long-form post types.
  • Implements clean Home/Local/Global feed templates.
  • Compatible with ActivityPub Note and Article types.
  • Includes follow buttons, like/reply actions, and potential hovercard support for Fediverse avatars. https://github.com/Automattic/gravatar-enhanced/issues/97 https://github.com/material-components/material-design-for-wordpress/releases/tag/fse-0.10.0-beta https://github.com/material-components/material-design-for-wordpress/discussions/420

📌 Summary

Key goals for scalable WordPress × ActivityPub × Fediverse integration:

  1. Ensure consistent handle structure
  2. Implement layered timeline/feed architecture
  3. Build a dedicated Fediverse-ready core theme
  4. Support custom post types / taxonomies for microblogs
  5. Extend Friends/Follow systems for Fediverse compatibility

Would love to hear your feedback on this! Thanks so much for all the amazing work and open discussions happening around this — the potential here is enormous 🚀

/cc @pfefferle @akirk @jeherve @obenland

Jiwoon-Kim avatar May 08 '25 06:05 Jiwoon-Kim

📌 Comprehensive Proposal: Fediverse Handle Management, Matrix DM Support, and Dedicated Fediverse Theme for WordPress

As part of extending WordPress’s role within the decentralized social web, here’s a combined proposal covering Gravatar-integrated Fediverse handles, Matrix DM support, and dedicated Fediverse-first themes and apps for WordPress instances.


📌 Part 1: Gravatar-Integrated Fediverse Handle & Matrix DM Support

📌 Concept Overview

Gravatar currently associates avatars with email addresses like [email protected]. This can be expanded to manage Fediverse handles and avatars via Gravatar.

Example:

  • Existing: [email protected] → Gravatar profile image
  • New: @[email protected] → Gravatar-managed avatar, display name, bio, and public profile settings for ActivityPub networks.

📌 Matrix DM Integration via chat.wordpress.org

Additionally, introduce chat.wordpress.org as a dedicated Matrix homeserver for WordPress.com users.

Example:

  • @[email protected] → Matrix federated messaging handle
  • Fully interoperable with other Matrix servers, solving ActivityPub’s native DM limitations.

This would allow seamless, secure decentralized messaging integrated into Jetpack, WordPress.com, and self-hosted WordPress instances.


📌 Summary Table

Purpose Handle / Domain Example Use Case
Gravatar avatar [email protected] Standard Gravatar profile
Fediverse Handle @[email protected] ActivityPub/Fediverse social identity
Matrix DM Handle @[email protected] WordPress-based Matrix direct messaging

📌 Benefits

  • Unified avatar and identity management for both Fediverse and email-based profiles.
  • Matrix-powered, fully federated real-time DMs within the WordPress ecosystem.
  • Seamless multi-account handling and ActivityPub integration in Jetpack apps.
  • A major step forward in Automattic’s decentralized open social networking vision.

📌 Part 2: Dedicated Fediverse Theme & Web App Concept for WordPress

Building upon the handle and messaging infrastructure, a dedicated Fediverse-first frontend experience for WordPress should be introduced.


📌 Proposal 1: fedi.wordpress.com Theme

Create a dedicated ActivityPub-powered microblogging theme for the fedi.wordpress.com domain and self-hosted instances.

Key Features:

  • Optimized templates for ActivityPub Note and Article types.
  • Clean Home / Local / Global / Hashtag timeline layouts.
  • Native follow, boost, reply, and like buttons.
  • Compatible with WordPress.com and self-hosted WordPress.

Bonus: Propose this as a core theme for WordPress.orgtwentysomething-fediverse — officially distributed via the WordPress theme directory.


📌 Proposal 2: Refactor Twenty Twenty-Five as a Fediverse PWA Theme

Use the [Material Design for WordPress (FSE Beta)](https://github.com/material-components/material-design-for-wordpress/releases/tag/fse-0.10.0-beta) project to refactor the Twenty Twenty-Five theme into a progressive web app (PWA) compatible frontend for federated SNS sites.

Benefits:

  • Clean, mobile-first federated social frontend.
  • Native ActivityPub action buttons and interactions.
  • Allow WordPress sites to act as Mastodon, Misskey, or Bluesky alternatives.
  • Modern PWA experience powered by WordPress + Jetpack + ActivityPub.

📌 Why This Matters

Together, these would transform WordPress into:

  • A Fediverse-first social platform
  • A self-hostable, scalable federated SNS server solution
  • A future-ready, progressive, decentralized publishing tool bridging WordPress.com, Jetpack, ActivityPub, Matrix, and beyond

📌 Combined Summary

Idea Description
Gravatar-integrated Fediverse Handle Manage @[email protected] avatars & profiles via Gravatar
Matrix DM on chat.wordpress.org Federated Matrix homeserver for WordPress-based DMs
fedi.wordpress.com Theme Dedicated Fediverse theme for ActivityPub-powered WordPress
Core Theme Proposal Propose official twentysomething-fediverse core block theme
Refactor Twenty Twenty-Five FSE Turn it into a PWA-compatible federated SNS frontend
WordPress SNS Server Architecture WordPress-powered self-hosted Mastodon/Misskey-style servers

📌 Final Thoughts

This combined roadmap would dramatically expand WordPress’s role in the open web, establishing it as both a content management system and a decentralized social networking platform. Would love to hear the community’s and core contributors’ thoughts on this vision!

🚀

Jiwoon-Kim avatar May 08 '25 07:05 Jiwoon-Kim