Skip to main content


Thoughts on making a "Web of Data" instead of a "Web of Pages", and how that might let us take a step away from the dominance of large, complicated browsers.

https://zicklag.katharos.group/blog/a-web-of-data/

The article is kind of a summary of responses I gave to @smallcircles 's interesting post and other replies here:

https://social.coop/@smallcircles/112778587324112948

#browser #internet #agenticfediverse #fediverse #iroh

in reply to Zicklag

>Imagine an alternative internet protocol were each “thing” on the internet is an “Entity”. Entities might represent blog articles, chat messages, tweets, comments, or anything else. Each entity also has a path to that entity, like a URL.

This protocol is called "ActivityPub". Objects are entities, their IDs are paths, and their properties are components.

https://www.w3.org/TR/activitypub/

in reply to silverpill

Yeah, we're quite familiar with ActivityPub.

There are lots of things that go into it not being sufficient for what we're imagining, but one of the most basic limitations is that when you use actual URLs for entities, you are dependent on DNS and servers, which defeats many local-first use-cases.

in reply to Zicklag

ActivityPub IDs are URIs, and URIs don't always require DNS or servers. That depends on URI scheme.

One AP-compatible URI scheme with key-based naming authority is described in FEP-ef61. This FEP discusses HTTP transport, but the object format is designed to be transport agnostic. It is suitable for local-first applications too

@smallcircles

in reply to silverpill

I talked to some more ActivityPub savvy colleagues and it does look like you could technically accomplish lots of our goals with ActivityPub, if combined with Iroh for storage.

But ActivityPub is also largely underspecified, and would require extensions that many AP servers don't support.

We prefer to make a very precise protocol specification to give tight interoperability at it's core, but allow component data and schemas to develop independently for extension.

1/2

This entry was edited (1 week ago)
in reply to Zicklag

That said, interoperability with ActivityPub is something we are very interested in.

I think there is a lot of opportunity for 2-way communication between ActivityPub and our data model.

---

Just for reference, this post might serve as a useful background for some of the ideas we're considering. Note that this was written before the idea of using an Entity-Component model:

https://zicklag.katharos.group/blog/how-to-federate/

2/2

in reply to Zicklag

in reply to silverpill

>> But ActivityPub is also largely underspecified

> ActivityPub is not underspecified. … It is a protocol for building all kinds of decentralized social applications.

Which results in it being underspecified for any specific application (especially if interop is a goal). But it’s an interesting spin. ;-) As others have noted over the years, #ActivityPub more of a sketch or outline of an idea than a protocol.

in reply to Steve Bate

I think a lot of harm has happened because of the dominance of #Mastodon, and not because of ActivityPub spec's limitations. Mastodon was built as a Twitter clone - an app where users both create and consume the `Note` object type. It ignores all the other object types.

This forced all other ActivityPub apps (eg: Pixelfed) to shoehorn their content into a `Note`. Though, Mastodon is soon going to support `Article` object type.