4 Nov 2012 cdent   » (Master)

Federation is Sad

I spent a brief amount of time recently checking up on the state of so-called federation on the web. In part this was while thinking about MTC but also while learning about (and implementing an experiment of my own) distributed hash tables.

The web, at large, is distributed. Content is in this giant graph with many nodes. A URI identifies some atom of content in the graph. Some atoms link to others. This simple model has expanded information exchange enormously. The last twenty years or so has had a lot of zOMG.

At various times throughout those twenty years, sometimes some branches of the graph have more nodes than others, creating an apparent imbalance. These days Facebook has a lot of the nodes. While technically this does not violate the distributed nature of the web, it adjusts the human experience to such an extent that some people can think of Facebook _as the web_.

To combat this people come up with the idea of federation: create content somewhere and copy it to one or more other places. For example create a message on status.net and have it duplicated on twitter and facebook.

This makes my inner geek cringe: federation makes copies of things. This is wrong. Surely we should be distributing URIs? Copy by reference not by duplication!

If that happened you can imagine a considerably more distributed web: Rather than publishing something to a service, you simply put it into a distributed hash table network storage service, and get back a URI. You don't know where the content is, only that it is out there somewhere. Then you give the URI to systems that can display or otherwise manipulate the content, by reference.


Unfortunately people aren't excited to make this sort of thing work because:

  • they worry about latency
  • they are addicted to search
  • they are addicted to control

So they return to federation as the next (but distant!) best solution.

And that is sad.

Syndicated 2012-11-04 15:07:45 (Updated 2012-11-04 15:08:08) from cdent

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!