JSON-Based Transclusion, and WordPress as the Universal Reader

Dave Winer wrote a recent post on, roughly, how to reboot the Blogosphere with JSON. I read it last night and thought I understood it, then read it again this morning and realized I’d missed the core idea of what he was saying. Here’s the relevant graf:

But there is another approach, to have WordPress accept as input, the URL of a JSON file containing the source code for a post, and then do its rendering exactly as if that post had been written using WordPress’s editor. That would give us exactly what we need to have the best of all worlds. Widespread syndication and control over our own writing and archive. All at a very low cost in terms of storage and CPU.

Maybe I was just a bit tired last night but it’s worth staying on how this is different from other models. The idea here is that your data doesn’t have to be stored in WordPress at all. Dave Winer can make his editor, Ward Cunningham can make federated wiki — but should they want to publish to WordPress site —

See, that’s not quite it either. Because the idea here as I read it is pull, not push. (Dave, correct me if I misunderstand here). The idea is, given certain permissions and compliance with a WordPress API, a WordPress site I have can go out and fetch Dave or Ward’s content and render it up for me in my own blog dynamically.

I’m not sure Dave is going this far, but imagine this as a scenario — I link to Dave on my WordPress blog, but the link makes a double pass.

First, it sees if it can just grab the JSON and render Dave’s post in my WordPress blog. If it can, great. It renders Dave’s page with the links. Links I click on there also attempt to render in my default WordPress environment.

Sometimes links won’t return nice requests for JSON. Those ask me if I want to go outside my reading environment to someone else’s site. If history is any guide, these sites don’t get much traffic, because the answer to that question is often no.

Links that render into your environment could be acted on by your theme functions. Maybe you take a snapshot of something, repost it, index it, annotate it. Over time, there is a market for themes that play nice with other peoples content, or allow people to make the best sense of it.

And of course if you add in feeds….

What this does is move from a situation where we have a couple online RSS readers to a world where every WordPress theme (and there are tensof thousands of WordPress themes)  is potentially an RSS reader of sorts. It moves from a world where every theme is potentially a new Facebook or Twitter as well.

It does this because it solves part of the problem Facebook solved for people — it lets us read other people’s stuff in a clean, stable environment that we control. (There are other things as well, but you have to start somewhere).

So why not try this? Turn themes — the killer feature of WordPress — into a way to read other people’s content, and see what happens. WordPress has already made a stab at being the universal publisher, but it could be the Universal Reader as well, not through providing a single UI, but by supplying an endlessly customizable one.


5 thoughts on “JSON-Based Transclusion, and WordPress as the Universal Reader

  1. Yes that’s the idea. And there can be a million universal readers.

    This is not a new idea, but it may be the time when this idea takes root because the need is so pressing. It’s the desiloization protocol. It lets the silos be silos and still have the ideas show up in other places.

    Ward and I talked about this when we met this summer, but we’ve been doing it in the outline world since 2000 or so. Ted Nelson called it transclusion, but I like inclusion better because it’s just like the #include statement in C pre-processors.

    I’m pretty sure this will happen we’ll have some meaningful interop this year.

    We could get my blogging system and Fedwiki paired this way pretty easily, I think Ward would like to do it, based on our conversations.

    • Glad I got it right! I had a bit of a head start because the way that federated wiki works within the federation is simliar — this is a more inclusive federation though.

      I think the the projects you and Ward are working on are different enough that if you could come to a common format that served both it would be pretty broadly applicable. It wouldn’t hurt if the format also made some nods to the way WordPress sees the world (categories, tags, excerpts) since I do think that is one of the primary adoption vectors.

      Plus I’d love a way to better unify the content in federated wiki with what’s going on in Wikity. So a big personal stake too. Hope to see this come together.

  2. Really like the ideas you’re bring together here Mike. I think Dave hits the nail on the head that a desiloization is key to liberating our content but also in making it usable. Rather than something that is simply consumed it can become embedded in our discussions and practices. Reuse and remix are just the beginning – starting to think of Bret Victor’s Humane Representation of Thought concepts.

    One other thing I was thinking about while reading through this is that the Reader model could liberate the web from advertising by creating a real way of facilitating an inbuilt payment system. While providing a platform for the blogosphere is application the same technology stack could liberate the web from it’s dependancy on advertising, invasive adtrackers and surveillanceware. It could be a system similar to Blendle http://thenextweb.com/eu/2014/03/07/dutch-journalism-startup-blendle-wants-create-itunes-newspaper-magazine-articles/#!zFd9B but obviously wouldn’t require a middleman. A direct payment system would allow independent journalists and writers to become more sustainable without reliance on feeding their work into paywalled publications.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s