Previews Are Hard! Also, Web Mullets
I love the Jamstack revolution that has been going on for the last few years. Statics sites, yes please! SSR, yes please! Headless CMS, let’s freaking go! Netlify, Vercel, AWS Amplify, Cloudflare pages, tears, folks, tears. of. joy. But this soup of delicious tech, like all the others, has its souring points. The one I’m most particularly interested in calling out here is content previewing.
Living that agency life, most of the time we’re just building websites for less technical folks to manage. Sure we’re going to give them a great-looking, fast, functional website, but they also need to change that content, swap those images and relabel all the CTAs. Unfortunately, my findings are: Jamstack stacks have poor implementations of preview workflows, and in many cases, implement them as afterthoughts, if at all.
The problem seems to be in the decoupled nature of the parts. It’s nice that Jamstack makes it easy to pick and choose your CMS and your framework and your host almost fully independent of each other. The problem is that it likely takes at least two of those to work together non-trivially to achieve good previews. And, well, shoot. Now your stack is coupled, you’re bought-in, on the hook, you’ve become… opinionated.
Opinions get things done, but they absolutely subdivide your target audience.
It’s not the worst thing for you, lovely developer-reader-friend, but it seems like very few of these stack-players are actually willing to get opinionated themselves and work together to create that great previewing experience. Instead, they try to go after universalized solutions, which lead to so much hoop-jumping for us. I will call out Prismic though; I think they really gave it a go, but even their framework-specific preview SDKs have spun my head around a bit; they haven’t quite cracked it.
The Solution We Desperately Need
Wordpress… sorta! The block editor, that thing freaking rules, except, well it runs on React and I like Vue. But that aside, clients love building pages with blocks and editing content in blocks. Even ACF blocks, which I use most, are a great experience: Content inputs on the right, instant previews on the left. But this all falls apart when you want to use Wordpress in a Jamstacky way. Your block content is just walled-off enough from the Wordpress API that I can’t easily just query data into my component and instantly render it to you as a preview.
Chris Coyier tweeted it perfectly just a few weeks ago:
Sure, I could do WordPress-as-content-API-only thing, but ughgk, I don't love it. It's twice the technical debt and doesn't really provide a best-of-both-worlds thing.— Chris Coyier (@chriscoyier) April 11, 2022
I just want a single product that is WordPress in the back and Astro in the front.
Ship it people.
Wordpress in the back and Astro in the front – seamless previews transitioning into beautiful static builds.
A metaphorical web mullet to stun the masses, if you will.
This is what we need.
okay :)— fred (@FredKSchott) April 11, 2022
Save us Fred!