I was feeling left out, but I finally got some of that Mastodon spam I've been hearing about.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
I was feeling left out, but I finally got some of that Mastodon spam I've been hearing about.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
The Social Web CG meeting featured old faces and new. I hadn't looked at the agenda beforehand, and Evan seemed keen to focus on practical things and make it a working meeting. I think it's tricky to balance this at TPAC, where many curious observers without necessarily deep background sit in, and it's harder for the usual community members to attend (remote is an option, and technically anyone could just dial in, but it's theoretically gated behind a registration, which again, has an option to ask for the fee to be waived, but does imply that most people should have a paid ticket). It turned out that the audio in the room was not great too, so remote participants had trouble taking part. I minuted it here.
Some of the interactions gave me a tight-chested panicky feeling, a throwback to five or more years ago when I was deeply involved in this space, emotionally invested, and having a hard time dealing with all of the conflict. Time constraints aside, I'm hesitant to get more than peripherally involved again for this reason, though I do want to see the work progress. Thoughts about rechartering the Social WG have been floating around for a while, and we had the first minuted conversation about it. There is a lot of enthusiasm for it from the W3C side - it would be a shame to lose the momentum currently in the fediverse, when we could use it to fix up at least the ActivityPub standard. Meanwhile there's a diversity of projects and spinoffs in a community that's so large I can't keep up, and people there are naturally worried about being excluded. I think this is a combination of people who weren't around for the first time, and see it as an exclusive group that only reps of large companies can be involved with, along with people who were there for the first time round and had some bad experiences with the difficult group dynamics, and are not keen to see that repeated.
Personally, I'm not opposed to a WG rechartering, but I'm not strongly advocating for it either. I carry the concern of the latter group, and take seriously the worries about exclusion. W3C process can be completely opaque to most people, and even when they are inclusive on paper (eg. Invited Experts don't need to be part of a W3C member company) this opaqueness as well as tribal knowledge and strongly held assumptions by "insiders" can similarly cause exclusion.
To mitigate this, I think it's safe to charter a continuation of the Social Web WG when we have:
It typically takes ages to get a WG chartered, although I think there's a sense in W3C that this could happen (relatively) quickly for the Social Web, as it's a continuation of an existing group. The biggest impediment are the hangups in the community, old and new, and the emotional reactions people have when they're in disagreement. I get it - I've been there, and still have the scars - but ultimately a majority of potential participants are striving for the same goal, and I really hope there's enough unity in that. Many of us have been burnt, or burned out, but it's a different world now than it was in 2016-2018. We can do things differently.
The disagreements are broadly between people who are doing work as well, who all have opinions and experiences that should be weighted heavily. I understanding wanting to just get stuff done but the price of this shouldn't be ignoring people with a different perspective. I understand having serious concerns, but these can and should be a constructive way of improving the situation for everyone, not stop-energy or a weapon. I hope we can slow down just enough to hear each other, but not so much that we spin our wheels forever. It's a tricky line to walk.
I don't know how involved I'll be. I've already borne witness to public and private blowups about this in the week since the meeting and I don't have a place for that energy in my life. On the other hand, if we can get some more cooperative and inclusive dynamics in place, I'd be more inclined to spend some time.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
I was recently asked about "fediverse culture" - whether there's one, or many? Where the technology stops and the culture starts? I have turned my reply into this not-very-refined blog post.
The short answer, in my opinion, is that there is definitely no universal culture on the fediverse.
There are certainly lots of people who have ideas about what the "fediverse" is or should be. Note that the fediverse is not Mastodon alone; Friendica and GNU Social also interoperate with Mastodon to degrees, and that there are different frontends for Mastodon available that might impact how people feel about their community and interact with the system(s). And other non-twitter like sites that also interoperate - peertube, pleroma, pixelfed - and that very small customisations to the normal Mastodon software done by server admins can have an impact on the usage and expectations of that server. And I'm just talking about the UI here really, not even moderation tools/rules. That's a whole nother blogpost/thesis.
For example: when I joined toot.cat, many thousands of years ago, the UI was customised to read "boop" and "bap" (or something) instead of "toot" and "boost". It was my first time on a mastodon instance (pre-ActivityPub, can you imagine?!). I posted something like "what is the difference between bap and a boost" and had a lot of responses from people on other servers along the lines of "what are you on about". Only people on the toot.cat instance understood, and as a new user I didn't know that every other server did not present the same experience. It's a tiny example, but scale that up across thousands of different UIs, norms, and contexts.
That line between technology and culture; I posit: no such thing! I find this whole thing absolutely fascinating, and tried to write about it in my thesis, but it was more of an afterthought than a focus at the time. Thinking about the circular relationship between UX and human behaviour - how they shape each other. The affordances of the system determine certain usage patterns, but people subvert those affordances, turn them to unexpected ends, and the system is often changed (if not directly by the designers, then indirectly through reinterpretation by the users) as a result.
I don't see how there could possibly be anything like a uniform culture across the fediverse. There isn't a uniform culture on twitter, and everyone is using more or less the same UIs/apps to interact with it. Anyone who says there is is actually just describing the part of it they've experienced - which might be significant - but there's no way it's "all" of it.
Related tangent: Most of the focus in terms of development has been on the federation - server-to-server APIs. Which is all well and good, but I've always been more interested in the implications of standard client-to-server APIs. Mastodon doesn't implement the ActivityPub client-to-server last time I checked, which hampers my dream. The dream: is as many options for your posting apps as there are for todo list apps, or, I dunno, raincoats. Posting clients would fall along the spectrum from highly specialised (do one thing - eg. individual photo sharing - and do it well) to very generic, and along the spectrum of highly personalised for your specific context to super generic everyone's is the same. We have a lot of options for raincoats, from really fancy high tech water repellent ones, to basic plastic ponchos, to ones that are cosy and warm, to ones that keep the wind off best or are lightweight and optimised for hiking, and you can usually get them all in a range of colours and sizes, but they're all recogniseable as raincoats. Federation in that world is to me extremely exciting - it probably opens up a lot more questions than answers, but I'd love to see how it played out. It would necessitate 'reader' applications (whether or not these are integrated into posting applications) to be a lot more able to gracefully handle post formats they weren't specialised in (fortunately(?) we have standards to help), which probably mostly means being able to fall back on a plain text representation for everything as a minimum.
I'd love it to be normal and everyday to not assume that when you post a message on your social network, every person is reading it in a similar UI, either to the one you posted from, or to the one everyone else is reading it in.
I love it because it embodies the fact that everyone really is operating from a different perspective, in a different context, a different mood, with a different set of life experiences, than everyone else. I see a lot of people forgetting this when they're discussing/arguing about stuff in general (in 'normal' life, not even web standards!) and find it uniquely frustrating.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
I'm seeing a lot of mixing up ActivityPub with Mastodon/implementation details and I keep almost replying but managing not to. Deep breaths. I'm much happier when I keep my head down and stick to foraging mushrooms and sitting quietly on the beach.
I think it's mostly just the novelty that so many people are talking about ActivityPub at all tbh.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
Lots of people I know from not online and also not web standards world are starting to show up on mastodon which is really exciting but also quite strange?!
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
Starting to discover that one of the things I liked in particular about my mastodon feed(s) is that it wasn't full of the same people as twitter. But as I see people I follow on twitter moving over, I have to follow them via mastodon because I don't necessarily want to lose them, but don't have the headspace to sort things out properly right now.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
I want to make an AP client to do scheduled posts, which first means I need to sort sloph out so it doesn't show posts dated in the future, and oh boy am I creating so many bugs right now.
(Maybe one day I will create tests instead of bugs, eh.
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
I'm gonna be in and out of APConf today and tomorrow, starting in a couple of hours. While the live video bits are full, the talks are all prerecorded and available to anyone, and there's chat on SocialHub that everyone can join in with as well.
I'm extremely multitasking so won't be 100% available but do feel free to ping me or loop me into any conversations you think I might be interested in and I'll do my best to keep on top of things.
(PS. I'm in the keynote panel :D)
Post created with https://apps.rhiaro.co.uk/no-ceremonies-are-necessary
Reading people arguing about decentralised social web stuff makes me 50-50 want to pick back up my own implementations and make them work, and leave computing forever to hide in a cave.
The compromise between these tensions tends to be go back to my day job / pick up a book / go to the beach / make a sandwich.
ActivityPub and WebSub went to REC this week and the work of the Social Web WG in general has been getting a lot of attention, including AP making it to the top of hackernews. There are lots of good comments, but of course it's the negative ones that stick around when you release your babies into the harsh wilds of the Web for the last time.
There was a lot of conflict inside the SocialWG, and a lot of compromise. The comments that irk me the most are the ones that suggest we made decisions on a whim without thinking about things at length, or ignored prior art.
Sure we standardised multiple ways of doing similar things, but the decision to do that came only after much wailing and gnashing of teeth* and faced with the prospect of not standardising anything at all in this space. Or alternatively one- to two-thirds of the group meeting with suspicious accidents in lieu of consensus. It wasn't for funsies. We weren't trolling implementors. We were just trying to cope.
Anyway, what reassures me in the end is that, as we could never make everyone happy, at least we've somehow succeeded in making nobody at all happy.
The art of consensus.
* and over a year of work, dozens of telecons and several face-to-face meetings around the world often at participants' own expense, and not a little yelling.
Likes Ben's comment on Evan's post
This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG!
We met at MIT in Cambridge, MA, on the 17th and 18th of November. See also day 1 minutes and day 2 minutes.
Everything is progressing. Naming things is hard. We need your implementations please or features may be dropped from some specs. We hope to extend by 6 months, not so we all make more work to do, but just so that the newest spec has time to make it to rec given process timing requirements. We're transitioning any other work into a CG.
The Social Web Incubator Community Group, should be pronounced swi-kig, but by the end of the meeting everyone had taken to calling it swish. I think it was Evan's fault. Anyway it's live, and is where we'll continue to develop on top of the things we started in the WG, as well as think about how to tackle things we haven't got to yet. Aaron and Chris are chairing it, and plan for discussion to take place primarily on github and IRC, with mailing lists for broadcast only. You should join.
At the last face-to-face we renamed PubSubHubbub to PubSub. We subsequently realised this is too generic a term for quite a specific spec, and as a result is hard to search the Web for, and hard to find/name libraries and packages for. Renaming it again took the better part of a month. Heh. A few weeks ago we developed a fairly long shortlist on the wiki, listing pros and cons, and a few people voted and left their rationale. On day one of this face-to-face, we ruled out every single one of those suggestions, and came up with three new ones (WebSub, WebFollow and WebSubscribe).
We slept on it, and just before lunch of day 2, voted between these three. WebSub won. I like it for its closeness to PubSub; WebFollow is a good name for a user-facing feature that implements the WebSub protocol. Then we proceeded to brainstorm more names in the google doc, progressively making the font smaller and introducing columns so we could see them all at once.
In less important news, we added Aaron as a coeditor of the WebSub spec, resolved a bunch of issues, and there's an updated working draft up.
We decided to go ahead with a new CR for ActivityStreams 2.0. Though it's frustrating to increase the time to exit, it's also not infeasible that getting implementation reports which sufficiently cover all features will take another month anyway. Plus, this extra time ensures that the ActivityPub implementations will make it into AS2 implementation reports.
So we have a bunch of changes to AS2 since we entered CR, although none of them affect implementations or are technically normative changes, which is why we could get away without restarting CR if necessary. But we decided updating the spec with these changes (mostly editorial, clarifications, etc, which do not change the intent of the spec) is important enough not to save them all for the PR publication. Personally I think we should publish a version with the new wording around name
and summary
(a plaintext summary
for all objects is required in the absence of name
) as soon as possible.
Another useful clarification is explicitly stating that the value of the @context
key may be a plaintext string, an array, or an object. We added examples of each of these, so it's clear for consumers what to look for. This is particularly important for making sure implementations which include extensions - for which the @context
is necessarily an array or an object - are not completely dropped on the floor by consumers. Consumers can of course ignore extension properties they don't understand, but they should not ignore standard AS2 properties just because there are extensions alongside it.
This also means that it's possible to use the JSON-LD @language
construct properly (inside the @context
object) to set the base language for a whole AS2 object. As there are other ways to set the language, for individual objects or for specific values, setting the @language
is not required. Further, you should not set a language if you don't actually know what it is. And we haven't dumped language tags in all of the examples in the spec, in order to avoid people copying and pasting the examples without updating the language tags we use. Apparently this phenomenon is seen all over the Web, with EN
language markers alongisde text that is most certainly not EN.
We skimmed through a few issues for each of Micropub, LDN and ActivityPub, and checked in on how test suites and implementation reports are doing. The editors (Aaron, Sarven, and Chris respectively) are working exceptionally hard on building the test suites and chasing implementors. They are all at various stages of progress, and we know we have at least some implementations of some features of each.
The Working Group's charter expires at the end of this year. Due to minimum time constraints on various parts of the publication process, as WebSub was late to join the WG we need until at least April to take it through to a recommendation, and that's with absolutely nothing going wrong. We were aiming, obviously, for all of our other specs to be wrapped up before the various December holidays, but it'd be tight. Adding buffer time for unexpected issues, and editors-not-having-to-make-themselves-ill-with-allnighters time, we figured they'll be exiting CR in January or early February at the latest. So we expect to get an extension of 6 months, and reduce our telecon time to monthly after January. The extra time on top of April means we won't need to freak out if for any reason WebSub has to have a second CR. This also overlaps with the opening of the Community Group, so it should help with the transition.
An extra shoutout to anyone who is thinking of or starting to implement any part of any of our specs! Please let us know, either by filing implementation reports (even partial ones are helpful) or pinging us on IRC (#social) or the mailing list so we know to chase you at some point in the future. If you don't want a feature of a spec to be dropped, ie. because you want to use it, we have to prove it has been implemented. If possible, don't wait around for us to exit CR, because we need your implementations to make it that far.
Post created with https://rhiaro.co.uk/sloph