Tag: Bluesky

  • Radical Speed Month — The Reader Meets the Fediverse

    Wapuu in a space suit floats inside a spaceship, reading a newspaper with a “Radical Speed Month” headline and a yellow update graphic, while message cards for RSS, ActivityPub, and ATProto drift in through a window showing space.

    This post is about work happening on WordPress.com, specifically the Reader, the long-running subscription-and-reading surface that’s been part of WordPress.com since 2008. It’s a sibling effort to the ActivityPub plugin, not a feature of it. We think it matters to plugin readers anyway, because the two pieces are converging, and the converging point is what we’ll be working on next.

    Two weeks ago, Automattic kicked off something internally called Radical Speed Month, a four-week sprint where small teams ship fast on focused projects. We (@jeremy and @pfefferle) took the chance to spend it on something that’s been sitting at the edge of the Fediverse-and-WordPress conversation for a while: making the WordPress.com Reader speak Fediverse.

    Today is roughly the halfway mark, and the picture is clearer than we expected. Here’s what shipped, what’s in flight, and what’s still ahead.

    The thesis

    The Reader on WordPress.com has held a single, useful role for over a decade: it’s where your subscriptions live. Blogs, podcasts, RSS feeds. What it hasn’t done, yet, is read the open social web. Your Mastodon timeline lives in another app. Your Bluesky timeline lives in a third. The Fediverse is out there, and the Reader stays over here.

    The Radical Speed Month bet: ship three protocol adapters in four weeks, and prove the Reader can become a universal aggregator. RSS / Google Reader API (so any reader app can use WordPress.com as a sync backend), ActivityPub (so Mastodon, Pixelfed, and friends show up natively), and ATProto / Bluesky (because that’s where a real chunk of the social-web conversation has gone). One Reader, every protocol you care about.

    If you’ve been following the ActivityPub plugin for a while, you already know one half of this story, your blog speaking out to the Fediverse. The other half is reading in, and that’s where this month’s work concentrates.

    What’s already landed

    Reader as a sync backend

    Any Google Reader-compatible app can now point at WordPress.com and use it as a sync backend. That includes Reeder, NetNewsWire, ReadKit, lire, Unread, Fiery Feeds, Feed Me, and Read You. The auth onboarding is short, and your subscriptions, read state, and stars sync across whichever app you actually like. We’re working on a setup guide that walks through the steps for the most common apps; it should land soon.

    This wasn’t directly Fediverse work, but it’s part of the same idea: the Reader as a backend, not a destination. If your reading habit lives in a different app, that’s fine. Your subscriptions still live on WordPress.com.

    Bluesky timelines, threads, and profiles

    The Bluesky / ATProto adapter has moved further than the original plan suggested.

    The image shows Jeremy Herves Bluesky profile in the reader.

    You can:

    • Connect a Bluesky account through the Reader’s connections panel, with a Verify step that confirms the handshake works on both sides.
    • Read your Bluesky home timeline as a tab in the Reader, with native rendering for facets, embeds, and quote posts.
    • Follow links inward, opening a thread in the Reader, viewing an author’s profile, browsing their posts / replies / media filter tabs, following a hashtag.
    • Follow and unfollow Bluesky accounts directly from the profile pages.
    • Like posts, repost posts, and reply to posts. A shared composer for replies is in late review.

    The remaining piece on the Bluesky side is quote-posting and deleting your own posts, which we’re shipping together. After that, Bluesky is a complete first-class tab in the Reader.

    Mastodon, the same shape

    Mastodon followed the same pattern: connect, verify, then a steady cadence of small additions like timeline, in-app threads, author profile and feed (with Posts / Replies / Media filter tabs), and tag and hashtag feeds. All of those are live for Mastodon today.

    The image shows Matthias Pfefferles Mastodon profile in the reader.

    What’s still coming on the Mastodon side is the equivalent of the Bluesky interaction work (favourite, boost, reply, quote) built on the same shape that worked for Bluesky. Expect those to land in the second half of this month.

    How this connects to the plugin

    If you read 8.1.0 — By the Numbers, you’ll have noticed a small line in the announcement: the plugin now exposes an ActivityPub API. It’s experimental, behind a feature flag, and lets third-party apps create, edit, and delete posts on your blog the way they would post to a Mastodon account.

    That work isn’t an accident. It’s one half of a bridge, and Radical Speed Month is the other half.

    The Mastodon-in-Reader work that shipped this month is user-level: you connect your Mastodon account once, and the Reader can sync your Mastodon timeline regardless of where your blog lives. That’s a useful starting point, but it’s not the only path forward. The model we’ve been working toward for a year is blog-level: each ActivityPub-enabled WordPress blog as its own social identity inside the Reader, with the plugin providing the actor and the ActivityPub API providing the connection.

    That work is on the schedule for the second half of the month. The radical-speed pace gave us proof first: timelines, threads, profiles, and interactions can all run through one shared pattern, with two networks already validating it. With the pattern in place and the plugin’s ActivityPub API ready to talk to, the blog-level path slots into the same architecture, letting your plugin-enabled blog appear as an ActivityPub identity in the Reader sidebar, with its inbox, its outbox, and its real ActivityPub follow graph. And because the API is part of the ActivityPub standard, the same path works for any Reader or client that speaks it, not just WordPress.com.

    What’s still planned

    A short list of what we’re chasing for the second half of the month and just past it:

    • Quote-posting and delete-your-own-post for both Bluesky and Mastodon, the last pieces of the interaction set.
    • A shared composer that handles replies, quote-posts, and standalone posts across networks. Already in progress on the Bluesky side; Mastodon plugs in next.
    • Disconnect, a clean way to remove a Mastodon or Bluesky connection from the Reader.
    • Blog-level ActivityPub, the design pass and first slices for plugin-enabled blogs as first-class Reader identities. The user-level work proved the pattern; this is where the plugin and the Reader actually meet.
    • Tightening the shared pattern so adding the next network (Threads, Pixelfed, whatever comes after) is incremental work.
    • Wrap-up, a metrics snapshot, an honest retrospective, and the heads-up notes our customer-support folks need before the work goes broad.

    A note on speed

    A month feels short to ship three protocols’ worth of reading, profiles, and interactions. It’s worth saying out loud: this didn’t happen because we worked unsustainable hours. It happened because we sat with the design for months, picked a shape that lets each protocol reuse the same plumbing, and broke the work into pieces small enough that any one was reviewable in a day or two. “Radical speed” turned out to mean: a backlog of careful design, drained quickly.

    What this means for you

    If you run an ActivityPub-enabled WordPress blog, whether on WordPress.com or self-hosted, the practical takeaway is small for now and meaningful soon. The plugin’s ActivityPub API in 8.1.0 is the foundation for your blog showing up as a real social identity inside any Reader or app that speaks the same protocol. The WordPress.com Reader is the first concrete target, but the universality matters: any client that implements the standard can talk to your plugin-enabled blog the same way.

    Already, the work this month means there’s now a Reader on WordPress.com that knows how to read the Fediverse alongside RSS and Bluesky. That’s a meaningful thing to have built, and the bridge from your plugin-enabled blog to that Reader is what the second half of the month is about.

    Tell us what you’d like to see

    We’ll keep posting updates as the month closes out. If you have thoughts on what blog-level ActivityPub in the Reader should look like, what protocols you’d want next, or how the plugin’s ActivityPub API should evolve to make this seamless, leave a comment on the plugin’s GitHub repository or reply on the Fediverse. We read every message.

  • Bridging the gap

    The image shows the fediverse Wapuu is building a bridge from the Bluesky Space Station to the Fediverse Space Station.

    The Fediverse is intended to be an interoperable, decentralized social network where users can connect across platforms and tools. In practice, though, the reality is more fragmented.

    According to Wikipedia:

    The majority of Fediverse platforms are based on free and open-source software, and create connections between servers using the ActivityPub protocol.

    Still, networks like Bluesky, Nostr, and Diaspora take their own technical paths toward the same vision, which means the fediverse isn’t fully connected just yet.

    Bridgy Fed

    To help address this gap, Ryan Barrett (@snarfed.org) began developing Bridgy Fed, a tool designed to connect these otherwise separate networks:

    Bridgy Fed connects web sites, the fediverse, and Bluesky. You can use it to make your profile on one visible in another, follow people, see their posts, and reply and like and repost them. Interactions work in both directions as much as possible.

    With even more networks on the list.

    While it’s not a native solution, it does help connect people today—and I really appreciate the perspective of Anuj Ahooja (@quillmatiq), CEO of A New Social, the organization behind Bridgy Fed:

    The future of the open social web is people connecting with people no matter what technology they happen to choose. And if bridges and duct tape is what’s necessary, then we’ll continue building bridges, because it’s connections and community over everything.

    You can easily connect your blog to Bluesky using Bridgy by following a few simple steps.

    Bridge your Blog

    You can connect your blog to Bluesky using any self-hosted WordPress site or a paid WordPress.com plan.

    First, go to the ActivityPub settings and open the Screen Options at the top right. Enable the Advanced Settings checkbox and click Save.

    This will reveal the Advanced tab in the settings, where you’ll find the Following User Interface option. Enable that as well.

    Once this feature is active, you’ll be able to access the Following subpage.

    To follow the Bluesky account, enter bsky.brid.gy@bsky.brid.gy into the input box on the left and click Follow. The account should appear in your list shortly. After a few minutes, your follow request will be accepted, and the account will follow your blog back.

    You can verify the connection by checking your Followers list. From this point on, all your new blog posts will also be published on Bluesky. You’ll receive reactions to your posts and even follow requests from Bluesky users.

    That’s it! All your upcoming posts will also be published on Bluesky, you will receive all reactions to your posts and even follow requests.

    If you ever want to stop the bridge from publishing, simply unfollow the Bridgy account and remove it from your Followers list.

    Happy cross-posting bridging :)

    Be Aware

    Even though following other accounts is now possible, there is currently no way to view their incoming posts. Aside from the specific use case described above, following others doesn’t offer much benefit at this stage. Please be cautious if you think you need to follow more people, as it may increase traffic to your site without a clear purpose.

    We’ll let you know as soon as the full reader experience is implemented and will enable all necessary (currently hidden) features at that time.

    Follow us!

    As a proof of concept, you can now also follow our updates on Bluesky via @activitypub.blog.activitypub.blog.ap.brid.gy‬