Hold up, let us cook

Hold up, let us cook

Happy Saturday! Not sure where you are or what you're doing, but statistically speaking there's a good chance that you should be eating more fiber. So, you know, you should probably look into that.

First of all, a huge thank you to everyone who left a comment on last week's newsletter! There were 46(!) of them. Not only did that put us in an excellent mood, but it also gave us important data to bring to our Q3 planning session next week to explain to internal stakeholders why it's important we continue with our work here. It will be a critical part of how we model our business roadmap and slide deck.

As you can see, ActivityPug performance is at an all-time high. Don't worry gang, we fucking GOT this. Seriously though, we love hearing from you!

What's new with ActivityPub?

Last week, we shared details behind our plan to move forward using Fedify to build out ActivityPub functionality for Ghost. This week, it was time for a little less conversation and a little more action. With our technical foundations now determined, we got moving pretty quickly.

We learned a lot from building a minimal prototype of ActivityPub functionality into the back end of Ghost, but using Fedify last week we replicated all that work as an independent service in only a few days. Minhee (maintainer of Fedify) has also been graciously helping us out and adding support for features we need. It feels like we're finally cooking with gas. Firing on all cylinders. Running like a well-oiled machine. Shifting into high gear. Full steam a—ok fine I'll stop.

So what progress did we actually make? Well, in terms of functionality, we've gotten back to feature parity with our first back-end. Ghost sites can now follow other Ghost sites, but this time built on an architecture which will scale without negatively impacting the rest of the application. The client application has continued to move forward, too, and so here's the latest live demo video of where we're up to:


The one thing it doesn't do, of course (🎻), is... persist data. Yep. About as embarrassing as Justin Timberlake with a breathalyzer.

Here's the thing though. Last time we reached this point it was a big problem. We suddenly realized we were not going to be able to squeeze in just two more tables, and there were metaphors involving the US interstate highway system. This time around, we're in much better shape. Ghost's ActivityPub Service will have its own database — which, in the US interstate highway parlance that we've become accustomed to, is equivalent to getting its very own road.

In short: Next week we're adding DB persistence, and we're pretty confident that we'll actually get it done this time. If we don't, you can expect a degree of self-loathing in next week's newsletter on par with Jason Statham's performance in The Meg 2.

The other thing we're now working full-speed towards is open sourcing the new ActivityPub Service GitHub repository. That means the code will be available for anyone and everyone to see, use, follow-along-with, or contribute-to.

We're hoping to get that done next week, too. The only reason it isn't already available is because we have some production config in there related to deploying it on our infrastructure, and we need to split that out into a separate place.

But wait, there's more! Next week will also see the release of a podcast between John (Founder of Ghost) and Mike (Founder of Flipboard) talking about the future of ActivityPub and where this is all going.

Things are speeding up around here, and the next few months are going to be exciting.

Answering your questions:

This week, we're just going to answer one question that comes up often.

Can you please explain this like I'm 5 and/or don't work in IT? How is ActivityPub going to benefit me as a publisher?

We get it. Whether you try to read about this stuff online, or you've been following this newsletter, it's extremely difficult to escape the technical jargon. There's a lot of excitement about the technology, but if you aren't personally a software engineer then it's not especially easy to understand what the hell it's for.

To make it more tangible and specific, think about a social network you've used before like Medium, Tumblr or YouTube. People can publish content there, and they can also subscribe, like, comment and interact with other creators on those platforms.

ActivityPub fundamentally allows us to build the same functionality for Ghost, but in a way that is compatible across many different products rather than limited to just one platform. People on Flipboard will be able to interact with people on Ghost, who will be able to interact with people on Mastodon, and Threads, and WordPress, Buttondown, and many, many more.

The benefit of social networks to publishers has always been the distribution of their work. If you publish content on a popular network, there's a built-in audience.

The practical benefit of ActivityPub is the same: Distribution for your work to a wider audience — and, because of the open technology it's built upon, the ActivityPub network is ultimately going to give you access to a far, far larger audience than any other social network out there.

A full-bleed image of thousands of pugs at a whimsical social networking event. The scene includes pugs in various business attire, mingling, shaking paws, and chatting in a large, lively event space. Some pugs are near tables with snacks and drinks, while others are exchanging business cards or gathered around laptops. The atmosphere is bustling and energetic, with playful elements like pug faces and paw prints incorporated into the decor. The overall mood is fun and sociable, capturing the adorable nature of pugs engaging in a networking event.
On the Internet, nobody knows you're a dog

Until next week, we await your comments with anxious trepidation and a slice of delectable New York cheese cake.