Five years ago last Monday, the @W3C
Social Web Working Group officially closed¹
Operating for less than four years, it standardized several foundations of the #fediverse
Each of these has numerous interoperable implementations which are in active use by anywhere from thousands to millions of users.
Two additional specifications also had several implementations as of the time of their publication as W3C Recommendations (which you can find from their Implementation Reports linked near the top of each spec). However today they’re both fairly invisible "plumbing" (as most specs should be) or they haven’t picked up widespread use like the others:
To be fair, LDN was only one building block in what eventually became SoLiD²
, the basis of Tim Berners–Lee’s startup Inrupt.
However, in the post Elon-acquisition of Twitter and subsequent Twexodus, as Anil Dash noted³
, “nobody ran to the ’web3’ platforms”, and nobody ran to SoLiD either.
The other spec, WebSub, was roughly interoperably implemented as PubSubHubbub before it was brought to the Social Web Working Group. Yet despite that implementation experience, a more rigorous specification that fixed a lot of bugs, and a test suite⁴
, WebSub’s adoption hasn’t really noticeably grown since. Existing implementations & services are still functioning though. My own blog supports WebSub notifications for example, for anyone that wants to receive/read my posts in real time.
One of the biggest challenges the Social Web Working Group faced was with so many approaches being brought to the group, which approach should we choose?
As one of the co-chairs of the group, with the other co-chairs, and our staff contacts over time, we realized that if we as chairs & facilitators tried to pick any one approach, we would almost certainly alienate and lose more than half of the working group who had already built or were actively interested in developing other approaches.
We (as chairs) decided to do something which very few standards groups do, and for that matter, have ever done successfully.
From 15+ different approaches, or projects, or efforts that were brought⁵
to the working group, we narrowed them down to about 2.5 which I can summarize as:
building blocks, many of which were already implemented, deployed, and showing rough interoperability across numerous independent websites
2. ActivityStreams based approaches, which also demonstrated implementability, interoperability, and real user value as part of the OStatus suite, implemented in StatusNet, Identica, etc.
2.5 "something with Linked Data (LD)" — expressed as a 0.5 because there wasn’t anything user-visible “social web” with LD working at the start of the Working Group, however there was a very passionate set of participants insisting that everything be done with RDF/LD, despite the fact that it was less of a proven social web approach than the other two.
As chairs we figured out that if we were able to help facilitate the development of these 2.5 approaches in parallel, nearly everyone who was active in the Working Group would have something they would feel like they could direct their positive energy into, instead of spending time fighting or tearing down someone else’s approach.
It was a very difficult social-technical balance to maintain, and we hit more than a few bumps along the way. However we also had many moments of alignment, where two (or all) of the various approaches found common problems, and either identical or at least compatible solutions.
I saw many examples where the discoveries of one approach helped inform and improve another approach. Developing more than one approach in the same working group was not only possible, it actually worked.
I also saw examples of different problems being solved by different approaches, and I found that aspect particularly fascinating and hopeful. Multiple approaches were able to choose & priortize different subsets of social web use-cases and problems to solve from the larger space of decentralized social web challenges. By doing so, different approaches often explored and mapped out different areas of the larger social web space.
I’m still a bit amazed we were able to complete all of those Recommendations in less than four years, and everyone who participated in the working group should be proud of that accomplishment, beyond any one specification they may have worked on.
With hindsight, we can see the positive practical benefits from allowing & facilitating multiple approaches to move forward. Today there is both a very healthy & growing set of folks who want simple personal sites to do with as they please (#IndieWeb), and we also have a growing network of Mastodon instances and other software & services that interoperate with them, like Bridgy Fed⁶
Millions of users are posting & interacting with each other daily, without depending on any large central corporate site or service, whether on their own personal domain & site they fully control, or with an account on a trusted community server, using different software & services.
Choosing to go from 15+ down to 2.5, but not down to 1 approach turned out to be the right answer, to both allow a wide variety⁷
of decentralized social web efforts to grow, interoperate via bridges, and frankly, socially to provide something positive for everyone to contribute to, instead of wasting weeks, possibly months in heated debates about which one approach was the one true way.
There’s lots more to be written about the history of the Social Web Working Group, which perhaps I will do some day.
For now, if you’re curious for more, I strongly recommend diving into the group’s wiki https://www.w3.org/wiki/Socialwg
and its subpages for more historical details. All the minutes of our meetings are there. All the research we conducted is there.
If you’re interested in contributing to the specifications we developed, find the place where that work is being done, the people actively implementing those specs, and even better, actively using their own implementations⁸
You can find the various IndieWeb building blocks living specifications here:
And discussions thereof in the development chat channel:
If you’re not sure, pop by the indieweb-dev chat and ask anyway!
The IndieWeb community has grown only larger and more diverse in approaches & implementations in the past five years, and we regularly have discussions about most of the specifications that were developed in the Social Web Working Group.
This is day 33 of #100DaysOfIndieWeb
← Day 32: https://tantek.com/2023/047/t1/nineteen-years-microformats
→ Day 34: https://tantek.com/2023/072/t1/blog-as-if-ai-trained-posts
ActivityStreams2 https://www.w3.org/TR/activitystreams-core/ https://www.w3.org/TR/activitystreams-vocabulary/
Linked Data Notifications https://www.w3.org/TR/ldn/
References:¹ https://www.w3.org/wiki/Socialwg² https://www.w3.org/wiki/Socialwg/2015-03-18-minutes#solid³ https://mastodon.cloud/@anildash/109299991009836007⁴ https://websub.rocks/⁵ https://indieweb.org/Social_Web_Working_Group#History⁶ https://tantek.com/2023/008/t7/bridgy-indieweb-posse-backfeed⁷ https://indieweb.org/plurality⁸ https://indieweb.org/use_what_you_make