Oof, I have had terrible blogging cadence the last few weeks! The one thing you're supposed to get right at all costs — stick to a schedule — and I'm blowing it!

In fairness, I have a very good excuse; after the holidays at the end of December, last week was our Q1 team offsite, where we hashed out some pretty exciting roadmap plans for the next 3 months. Of course, what inevitably happens when we're traveling is that some exciting community announcement pops up, or we have some fires to put out, or more often than not, both. Namely:

We'd been getting reports lately that many community hosted PDSes were unexpectedly being rate limited. Sometimes this has been caused by extremely ambitious bulk uploads when migrating to Atmosphere apps using other Lexicons (hey, we're all for it!), but we assumed that a lot of what was going on was that we hadn't yet deployed a new Relay update we've been working on, and the old codebase was straining a bit.

Actually, no: it turns out that the PDS rate limit env var wasn't enabled by default. Oops!! That was making it a lot easier for community PDSes to accidentally do things that our Relays didn't like and fall behind for a little while. We've now fixed this and cut a new PDS release, so that any new PDS installations should automatically have rate limits enabled.

Last week also marked the expansion of our Live Now feature beta, which only supported Twitch on day one. This led to some — I'll say it up front, very patient and reasonable — discourse about why we'd only shipped with Twitch support when we have some great ATProto apps filling a similar niche. There are many important arguments to be had here about a) product priorities, b) moderation, and c) release momentum, but the net effect was that we were able to ship support for using this feature with stream.place the very next day, and that made me and many other people pretty happy. I would even say that having the excuse to talk about moderation requirements was an unexpected benefit of getting some public criticism for this.

Finally, we also got some reports last weekend from Atmosphere developers that the UX for "I'm not sure if I already have a Bluesky account to log into this other application with" OAuth is not great and can result in some opaque-looking errors. I want to thank everyone who jumped in on this issue (thanks Nick and Eli!) — unfortunately it's hard to solve for the many frictions here all at once, but I wanted to flag that it's on our radar.

Now that I'm back home (briefly), I've had the chance to put the finishing touches on some content for our new docs site. That now includes a brand new Tutorials section, which includes a rewrite of our Statusphere example app using our new lex and tap tooling. I am really milking my opportunities to tease our new docs at this point... but perhaps they will be launching sooner than you think...

At the moment, though, I am prepping for FOSDEM in Brussels, where I will spend most of next week traveling to, speaking at, and taking advantage of opportunities to meet the community in and around.

Currently, those include:

and... more! Please @ me if you are in London or Brussels at any time next week or weekend! Let's get even more protocol-brained together!