IndieWeb + Tumblr = 💜

The other day, several IndieWeb developers (including me) got messaged by Tumblr’s COO about them searching for contractors to work on Tumblr-IndieWeb integration. I had to decline due to already being overextended and not really having the spoons or bandwidth to take on this work, but I offered to be available as a resource for high-level conceptual stuff, at the very least.

I’ve written a few bits over on Tumblr about my thoughts on how Tumblr can (and should) become an IndieWeb provider, and I am ecstatic that Tumblr is taking steps in this direction. I think that opening up IndieWeb to a wider audience is absolutely a good thing, and Tumblr is one of the best-positioned providers to make this a reality. In particular, Tumblr’s culture is incredibly IndieWeb-compatible, and rejects the idea that lock-in and monetization are the end goals of any social space.

I have some thoughts about how things can/should possibly work, although keep in mind that there’s absolutely a lot I don’t know about how Tumblr works under the hood. So this is going to be in extremely broad strokes.

(It’s also extremely a midnight rantle, so be warned if you’re expecting a useful technical discussion here.)

Tumblr as social reader

Having Tumblr able to subscribe to external feeds (RSS/Atom/h-feed) to the dashboard would be amazing. There’s a few ways in which this can work; for example, each feed can become a separate “user,” and posts can be syndicated that way, sort of like a reverse-POSSE. Tumblr actually used to have a built-in feed POSSE mechanism, although they discontinued this several years ago (my POSSE crossposts currently use IFTTT although that integration leaves a lot to be desired).

The social “verbs” from the dashboard are pretty obvious; reblogging and liking a post can generate a u-repost-of/u-like-of webmention, although the u-like-of will be a little weird because each “like” needs a source URL to generate the like from. Probably the easiest way for Tumblr to support this would be to have a public “likes” feed, although it’d be better if the like comes from a unique, static URL (which cuts down on some situations with pagination), and also that static URL shouldn’t be easily-discoverable (to maintain a semblance of privacy).

Mentions get a little weirder, though. One IndieWeb site can have many, many feeds, and it’s not always clear how a feed maps to a page. Mentioning by page URL is probably the least-bad option, so for example a mention to @beesbuzz.biz would translate to <a href="https://beesbuzz.biz/"">@beesbuzz.biz</a> in the resulting post, and then people could also like… mention my blog with @beesbuzz.biz/blog/ or whatever. But ideally there’d be a way for someone to mention me by name. I suppose that if someone were to WYSIWYG up a post that says something like “I had lunch with <a href="https://beesbuzz.biz/">fluffy</a> and they were a total delight” that’d work just fine as a mention.

Replies also get kind of weird in mapping Tumblr to IndieWeb. Does a reblog-with-reply become a u-in-reply-to or is it a u-repost-of? How do things like notes-only replies work? (Presumably those would also get individual, non-discoverable “note” pages like u-like-of entries will probably need.)

Oh, and let’s not forget tags. Tags get… weird. RSS doesn’t really support them at all. Atom kinda-sorta supports them via <category> but the spec is vague on the actual implementation, and currently my tags turn into TitleCasedHashTagNightmares (because I’ve had issues with specifying both term and label as the spec implies) whereas Tumblr expects tags to be a bit more freeform. IndieWeb h-feed/h-entry does this a little better with <a rel="tag">, and theoretically that’s also available from within Atom/RSS content enclosures as well so maybe I should add those in? (Except I don’t think that’d validate, because RSS and Atom are both pretty strict about rel values.)

But anyway. This side of the coin doesn’t feel too awful, all things considered.

Tumblr as social publisher

The other, more interesting thing is what happens when external readers interact with Tumblr?

Tumblr already has pretty good RSS feeds. There’s a few things that could be improved on them. It might be nice if they were to switch to Atom, and also add h-feed as well, although h-feed support would need to be baked into the templates (or get a specific h-feed-only template that gets linked to with <link rel="feed">), and while there is an IndieWeb initiative to do that already that would require individual blog authors to adopt those into their templates. And there are a lot of templates out there, and it’s kind of easy to mess it up.

Tumblr also needs to be able to send webmentions. This means removing the href.li link wrapper everywhere, because that violates the Webmention spec. Ostensibly href.li is in place to strip HTTP referral headers from outgoing links as a semblance of privacy preservation, though, and of course if a link is sending a webmention, all privacy goes out the window. It might be appropriate to give people a choice in whether an inline link should send a webmention or not, and if the choice is “not,” it could continue to use href.li for that (and also add a rel="nofollow").

The bigger question is, how does Tumblr receive webmentions?

As difficult as it is to map Tumblr verbs to IndieWeb, the reverse mapping is way more difficult. For starters, Tumblr’s notes are (very roughly) equivalent to u-repost-of (reblog), u-like-of (like), and u-in-reply-to (reply). IndieWeb also supports u-bookmark-of (which is generally used to share a link and optionally syndicate it to e.g. IndieNews or indieweb.xyz).

There isn’t really a good mapping to how Tumblr handles reblogs, though. In IndieWeb spaces the general pattern (which is unenforced by protocol) is for someone to do a u-in-reply-to post which quotes the bit being replied to and then puts the response text below, like an old-fashioned email from before Outlook normalized top-posting/bottom-quoting and subsequently ruined email as a communications medium. This is also I think how Tumblr reblogs/replies used to work back in the olden days, which you can still see vestiges of in older themes where you end up with

quotes

nested

very

deeply

causing

weirdness

and everything popular gets squished down into a ludicrously-narrow column.

IndieWeb replies aren’t quite a reblog, and they aren’t quite a Tumblr reply; a Tumblr reply is basically an inline comment that appears directly below the post, without any nesting or thread structure (think Ye Olden Days of Movable Type, only with less spam and more angry callouts).

And then there’s the issue of… how exactly does it get displayed? Like, what username gets associated with it? If I post a reply to a Tumblr post from my notes section, would it appear as being from @beesbuzz.biz/blog/chatter or would it appear as a link to that with a name of fluffy? (as that’s the associated p-name on the entry itself)

Probably the least-bad thing would be for it to respect my p-name (with some other heuristic for determining a display name for those blogs which don’t provide valid mf2) and to have the attribution link just be a link to the note page. I can’t think of any other way to make it actually fit in with Tumblr UX.

And then there’s the fun of how do replies-to-replies work? I suppose Tumblr could see u-in-reply-to responses and try to form a fake reblog chain based on the context or something. But those replies may or may not be to entries on Tumblr, and the not-on-Tumblr entries might have also ended up on Tumblr in some other way.

Basically, it’s a mess! And it’ll probably take a lot of iteration and refinement to make it work well.

I absolutely think it’s worth doing, though.

Privacy

I’d love to see Tumblr eventually adopt support for authenticated subscriptions (via e.g. TicketAuth) but given that Tumblr doesn’t really Do post-level privacy that feels like it might require much bigger changes to Tumblr. I mean, heck, I don’t know of any IndieWeb readers that are equipped to handle it yet. But it’s something that folks should at least keep in mind if there’s an opportunity to design for it.

Fediverse

From what I’ve seen, Tumblr also wants to integrate with the Fediverse (e.g. Mastodon and Pleroma). Personally I think this should be a much lower priority, but keep in mind I am ridiculously biased so take this section with a grain of salt.

On the plus side, Fediverse verbs do map much more cleanly onto Tumblr verbs (boost = reblog, like = like, reply = reply), and it feels a bit more obvious how to handle things like boost-and-reply.

It feels a bit less obvious how to handle conversations that meander between Tumblr, IndieWeb, and Fediverse, though.

It also feels a lot less obvious how Tumblr would integrate with ActivityPub, especially when Mastodon especially is very push-oriented as opposed to using an outbox/feed that can be polled. Mastodon’s push model also has a bunch of Implications when it comes to delivery (as it’s used for its semblance of post-level privacy) and also makes post editing… tricky.

There’s also the whole community aspect of it. While the Venn diagram of Tumblr users and Mastodon users is practically a circle (in terms of attitude/expressiveness if not in community membership), there’s definitely some cultural norms that wouldn’t match very well between the two environments. Long posts on Tumblr would present a usability nightmare on Mastodon. Mastodon CWs would… actually not be that hard to support on Tumblr (it’s basically equivalent to a “read more,” which is also how I handle my CW cuts in my POSSE feeds). But also the flexibility in Tumblr’s inline media will definitely be a problem for Mastodon; while Tumblr image posts map pretty cleanly onto how Mastodon attachments work, Mastodon has no support for inline images within a post body.

I feel like the least-bad mapping from Tumblr to Fediverse would be to have Tumblr posts just appear as possibly-titled links on Fedi, and Mastodon responses appear as their respective note types on Tumblr, without any attempt at mapping the actual content between the two.

Okay, so maybe that isn’t so bad. It’ll still have to go through Mastodon’s subset of ActivityPub, though, and that can get pretty messy.

Anyway. Technical challenges aside, I truly do feel that IndieWeb is a much better cultural fit for Tumblr than Fediverse, simply because IndieWeb and Tumblr are inherently much more like blogs with an emphasis on long-form content and… okay “thoughtfulness” probably isn’t the right word for Tumblr, but, y'know. Full paragraphs, and some sort of structured conversation that isn’t entirely a nightmare of context collapse.

Conclusion

I absolutely think that Tumblr and the IndieWeb are a good fit for one another. There are a lot of technical challenges to covercome, and I wish whomever works on these things the absolute best of luck. I would love to see this work out.

Of all the existing social media companies, I feel that Tumblr has the best chance of proving to the rest of the world that walled gardens are not the future, and interoperability is the way forward.

I am extremely optimistic about whatever comes from this. Even if the UX can’t be made into a perfect fit, even having subscriptions and mentions/notes work with some level of interoperability would be a massive improvement over what we have now.

#also imagine how much better the shitposts will be #when absurdist memes escape onto the rest of the Internet

Comments

Before commenting, please read the comment policy.

Avatars provided via Libravatar