June 06, 2022

it's LEGO all the way down

Maggie Appleton gave a great talk at Sanity’s Structured Content Conference a couple weeks ago titled The Block-Paved Path to Structured Data. I missed it in person, but caught up with the YouTube, and her well-designed site for the talk, which includes the text of her talk presented alongside her slides (oh how I wish more people did this).

Way back in the olden days, I was part of the crew involved in “microformats,” the precursor to JSON-LD. All the apps that we envisioned that would take advantage of all of these little snippets of structured data never really materialized, and instead we were just doing all that markup work for the Google to improve SEO. This is still the case, almost 20 years on. Why do JSON-LD? For the googlebot. Ah, the power of platforms.

Appleton, instead of trying to rehash all the battles over the semantic web, shifts the context. What if the problem isn’t about the applications consuming the data, but the applications producing the data?

How do we make it easier for everyone to create structured data? Or put more specifically, what type of interfaces might enable non-developers to create structured data?

Appleton makes a compelling argument that the “block UI” that you see in apps like Notion, Coda or Craft, is a potential answer here. That UX pattern, combined with a protocol like the one proposed at blockprotocol.org, opens up the possibility of a richer ecosystem of connected applications that can discover and share structured data. Not just from document editors like Notion, but low code “DIY Saas Tooling” apps like Fibery, Retool or Hash (where Appleton works).

Blocks allow end-users, meaning anyone who is not a professional developer, to create, edit, and delete the data within these blocks. All without writing any code. The users are in control of the data rather than the developers.

Blocks also enable what I call modular, composable interfaces. Open canvases where users can drag and drop blocks into place like legos. These are easy to use and accessible to a much wider audience than any markup or syntax could hope to be.

I hadn’t really been following the Block Protocol work until now. The “new” (now 5+ years old) generation of document editors initially differentiated themselves from the competition with their block UX (hit that slash key to format your block), but I love this line of thinking around composable interfaces and tools that can adapt their behavior based on a set of interoperable blocks.

And because I’m that old, all of this reminds me of the bits in Douglas Coupland’s 1995 novel Microserfs, where the team of protagonists were buliding “Oop!” (an imaginary product Grantland said “anticipated Minecraft more than a little bit”). Of course the whole text of the novel has ended up online; this paragraph is pitch perfect.

As the Lego Generation ages (and as the Oop! product invariably grows more sophisticated), Oop! becomes a powerful real-world modeling tool usable by scientists, animators, contractors, and architects. Object Oriented Programming design allows great flexibility for licensees to develop cross-platform software add-ons.

As always, it’s LEGO all the way down.