W3C

– DRAFT –
Social Web Incubator Community Group https://www.w3.org/wiki/SocialCG

29 March 2023

Attendees

Present
(phone, AaronNGray, angelo, benpate, Bob_Wyman, bumblefudge_, call-in), cel, djangz[m], DoubleMalt, elplatt, eprodrom, GabeK, gRegor, identitywoman, j12t, Jamesmarshall, JeremiahLee, KevinMarks, manton, npdoty, pfefferle, PHB, schmarty, snarfed, syndic-will[m], tantek
Regrets
-
Chair
tantek
Scribe
KevinMarks

Meeting minutes

kevinmarks: I volunteer to scribe

johannes: can we do a show of hands - who has implemented fedeiverse interop in the widest sense

johannes: who is writing code- looks like about a third of us- those people should get more time as they have the actual problems

<npdoty> I care plenty about perspectives even from non-implementers :)

johannes: can we do a 30s intro each on what we need to implement and code?
… evan do you want to chair?

evan nominates tantek to chair

tantek: I can chair

tantek: quickly state if you're an implementer and what project that interoperates with ActivityPub (AP) & related specs

johannes: what do you need to make life easier and customers happier

<identitywoman> I will scribe

aarongray: I've been going through the standards and reading code, we need to follow them and need libraries that support them in the major langauges

<identitywoman> Kevin is scribing

evan: my current work is getting pump.io moved to the current ActivityPub version and interop
… As a co-author I feel I have enough information, it's more time and focus

<Zakim> snarfed, you wanted to discuss sharing interop desires

snarfed: I demoed bridgy.fed this morning - a bridge between websites with microformats and webmentions and activitypub
… we could improve AP with signatures, private messages, chattiness etc
… the most important thing is that we have a defacto interop standard which is mastodon - any process like this we have to have Gargron or claire from mastodon implementing

<Bob_Wyman> PHB sounds like Phillip Hallam-Baker...

PHB: I am writing a client for my end to end encrypted social media system - all server side content is encrypted. the gui work is the same to also read mastodon, so I want to have the private social media nad mastodon be the same thing. we could wrap direct messages in crypto like this, the hard thing is managing the keys

<PHB> PHB is Phill Hallam-Baker.

tantek: my site and fediverse address is tantek.com - I am a contributor to brid.gy and have implemented webmention and microformats in my implementation and use that with BridgyFed to interoperate with the fediverse

gabe: I'm gabe from owncast live video project - we use AP as a thin layer on top of the live video standards

“each project has it's own protocol subset, but not the connections between say pixelfed and mobilizon
… so abstract the docs to work outside a given project

syndic-will[m]: i'm will murphy of innerspace - we make activitypub express and we make guppe groups and innerspace AP for vR

benpate: I have been lurking; I am working on a website that is somewhere between indieweb and fediverse, speaking both. Webmentions were hard but ActivityPub is a real bear to work with
… if everything is AP then nothing is AP - I can get it to talk to myself but not to anything else
… I want some kind of a test suite - here's the fields, here's the protocols - with webmention and websub there were strong test suites in palce

pfefferle: Mattias - I am working in the wordpress AP plugin - I have to fight with different shared hosting systems and caching protocols, and AP is shared hosting incompatible at the moment - the conneg makes it hard to have your own server in shared hosting

<benpate> Apologies for turning off my camera. There's *other stuff* happening here :)

<npdoty> can someone quickly summarize the content negotiation problems that people are seeing? or share a link to a description somewhere so I can read more?

<tantek> no apologies necessary benpate! no camera required for participation

DoubleMalt: I'm woking on allpeep ? a service wiht live video and auio streaming for companies on mastodon - would like to include more of the AP protocol

JeremiahLee: I am working on a personal social media app that's like Path, and it is different from mastodon and johannes list is like that

https://reb00ted.org/tech/20230425-w3c-activitypub-wishlist/

AaronNGray: the major problem we are going to have is like the protocol wars between browsers 10-15 years ago.

<j12t> Here's my Christmas wish list: https://reb00ted.org/tech/20230425-w3c-activitypub-wishlist/

AaronNGray: people aren't implementing json-ld context properly. I don't read Ruby well so can't tell if mastodon is doing it well
… we need a test suite that adheres to json-ld AP activity streams and maybe Solid's data platform
… if we don't have a reference implementation and test suites is is all going to diverge

eprodrom: i want to respond to this particular comment -test suites and verification - we were required to make these before these standards went out
… the AS2 verifier is no longer online - I am willing to get it back up and running.

<JeremiahLee> I would love to see https://test.activitypub.dev/ work again

eprodrom: I belive Christine Webber had an ActivityPub test system, but it was very hands on, not a automated integration test
… for AP we may need to revive that
… what are people looking for - dev experience, dev advocacy, and what extent is it standards group work?
… do we need an MDN for the fediverse? We have a wiki in SWICG - do we need a website outside w3c

<JeremiahLee> Would be very interesting to see something like MDN for Activity Streams and ActivityPub

manton: I created micro.blog which supports AP and webmention and microformats and micropub etc

<tantek> for reference: past Social Web Working Group work, links to specs (which have links to their test suites inside) https://www.w3.org/wiki/SocialWG

manton: I implemented it as trial and error with what Mastodon did, and it does more than the minimum required, and it would be good to know the actual minimum

j12t: mastodon is the de facto implementation, there are custom extensions, what is required? what will break? We need to document what the test suite will test
… the suite should test with real implementations, not just the abstract standard
… the confidence I need is that it will not break interop

<JeremiahLee> I'm grateful we can "view source" on Mastodon to understand it as a de facto reference implementation.

j12t: can we reduce the diversity of how we extend activitypub
… some of the activities we need to be competitive in a multiprotocol marketplace - we need a branding programme
… where we communicate with the user that there is an interop promise - like bluetooth

<Zakim> tantek, you wanted to respond to protocol wars vs different directions - measure by implementation/implementer interest

j12t: we need to build a movement

[bluetooth interop is actually terrible]

tantek: all the spec in SocialWG we had to demo interop with test suites - see link

<JeremiahLee> (Former Fitbit engineer. Can confirm BlueTooth conformance is terrible)

tantek: the one exception to the test suite details was we only tested the ActivityPub Client to Server Spec; the Server to server was done by interop peer testing by the implementaions we had
… now we do need that test suite

eprodrom: the ActivityStreams had a rigorous validator, but for AP we didn't have server to server testing
… we could benefit from participation here

djangz[m]: Django here - I contribute to the wordpress plugin and innerspace - I haven't found major issues yet. documentation is lacking and it has been a trial and error with payloads, and how it works with the elephant in the room
… i would like to see more of the client to server part of the spec. the s2s was only checking if there was an inbox, not going further

<npdoty> is client-to-server getting broadly implemented? I thought Mastodon specifically didn't use that, and so clients have had to just re-implement the Mastodon API

<tantek> npdoty, I don't think so. we've seen many more Micropub c2s implementations

djangz[m]: I don't think AP needs to be limited in scope, but interop profiles would be good
… not all apps need to understand everything

<Zakim> AaronNGray, you wanted to discuss ActivityPub GitHub issues

AaronNGray: AP github issues - can we go through these and triage them as actually outstanding

<j12t> In the interest of time, IMHO we should move forward to discuss how we go from here.

<snarfed> j12t++

<Loqi> j12t has 1 karma in this channel over the last year (2 in all channels)

AaronNGray: could the people who have implemented AP put together an implementers guide

<npdoty> +1 to moving on

AaronNGray: AS having an ontological model would be useful. What is the point of having the extension if we don't have a turtle ontology for them?

<pfefferle> there is a community driven extension process for ActivityPub btw. https://codeberg.org/fediverse/fep

<Zakim> GabeK, you wanted to Documentation outside of the standards group and to Documentation outside of the standards group

<bumblefudge_> @Context-based extensions would make a core test suite automatically extensible

AaronNGray: can we document the mastodon extensions, write turtle and add as PR's

<Bob_Wyman> Would OpenAPI with Swagger be a good framework upon which to base a conformance test for a protocol like ActivityPub? https://spec.openapis.org/oas/latest.html

GabeK: every one of us has said trial and error - we see if it shows up in Mastodon and stop when it works

<snarfed> pfefferle++

<Loqi> pfefferle has 1 karma in this channel over the last year (24 in all channels)

<bumblefudge_> +1

GabeK: we have all decided that mastodon is the unofficial standard - test suites will end up codifying mastodon's interpretation of the spec for anyone else

<bumblefudge_> conformance test should test the spec, not one implementation

<bumblefudge_> or at least, mastodon can write such a test and/or spec, but not the whole community

<bumblefudge_> that would defy the point of a SocialCG

GabeK: someone at mastodon could decide something goofy, and we would all have to go along with it

<Zakim> eprodrom, you wanted to hard learning experience

eprodrom: the hard learning experience of so many people talking here has been that there is a lot of folk wisdon and knowledge that people are collecting but not codifying in a central place that others can track.

<npdoty> trial and error also happens with Web development, fwiw

eprodrom: that sounds tough - at the time you are trying to debug that, knowing all the fields and the back and forth is really important
… about a day after you forget all those details because then your code works
… we want to capture that information at the time we are doing the on the wire checking

<AaronNGray> we could take logs of ActivityPub comms to use for examples ?

eprodrom: I doubt we can remember all the hard parts, but capturing that would be good

<Zakim> j12t, you wanted to discuss how we go from here

tantek: the w3c wiki https://www.w3.org/wiki/SocialCG would be a good start

j12t: we have 15 minutes left - I want to move this to what next:
… 1 thing about core AP spec - conneg evolve core spec
… 2 some significant extension eg cryptography
… 3 documentation and test
… 4 profiles - minimum interop levels - ties into tests
… 5 attract more participants especially people from the mastodon community - the market leader is often less interested in interaop
… what do people want to do, and feel capable of doing?

<steve_ediger> strongly in favor of all test suites addressing the whole of the social web protocols against realworld applications in addition to tests against the specs

j12t: can we get this down to next 3?

tantek: any more implementers - new first

<Zakim> elplatt, you wanted to discuss test suites

<Zakim> tantek, you wanted to make a last call for implementers to introduce themselves and their projects

elplatt: ed platt working on education and adoption among community groups
… graceful failure is important - test suites that we can pursue is graceful failure fallback even if not full interop

[AS was meant to support graceful failure]

<Bob_Wyman> Why wouldn't it be reasonable to create a generic "ActivityPub" test and then a "Mastodon" test, based on the generic one, that does the Mastodon specific stuff?

PHB: are we talking mastodon the server or mastodon the client? as people start to write Mastodon clients, as their API is not standardised
… I saw something similar when we were doing antispam and went back to SMTP - it's not supposed to work like that - you're captive of legacy implementaions

<JamieXML> From 20230329 session (Zoom chat): ... taking notes here from Johannes Ernst: (1) existing issues with AP specs published, (2) extensions, (3) documentation and tests (is that one or two items?), (4) minimum profiles, and (5) attracting more "real word" production users into this conversation.

Jamesmarshall: I am working on a secure tool that hides the messages and metadata from the servers and allows a private posting model
… also delivering messages without the server knowing - also cwtch is doing this, and PHB

eprodrom: j12t asked about followup - I am willing to get the as2 validation back online
… servicing the issue queue on github - as co-auther on as2 and AP I am happy to look at those
… also regular attending at SWICG meeting
… I don't think I can do more about dev network or on the ground, but I can work on that process

<npdoty> it seems like we should ask whether Mastodon devs and non-Mastodon client developers would be interested in standardizing the client API

<Zakim> snarfed, you wanted to note Mastodon clients generally use its own API, not AP C2S

eprodrom: last SWICG was 2021 - if chairs are willing to start doing it regualrly, I will work as an author to update errata etc

<Zakim> Manton, you wanted to see discussion on the Mastodon API too, since there are now so many new clients that only work with Mastodon (or other servers that implement the API, even though it’s not a standard).

snarfed: what Mastodon interop? we're all talking about server to server interop - the client side is its own API- we may want split the C2S and S2S parts accordingly

manton: i definitely see a problem with there being a lot of new mastodon clients that only work with mastodon API clones

<j12t> So ... should we standardize the Mastodon API?

<cel> Matrix has separate specs for its C2S and S2S APIs

<AaronNGray> Proper declaration of JSON-LD @context is key !!

manton: for example people as why Ivory doesn't work with my product - do I implement the mastodon API? Do I get Ivory to adopt micropub?
… we have 20 or 30 clients that support that API

<npdoty> making a new client standard, and starting with the Mastodon API, seems promising, if people are willing to document it

tantek: we have micropub clients what would we need to add to micropub to make it match the mastodon api?

manton: we would need to have micropub and microsub but could have a basic standard there similar to the Mastodon client API

<Zakim> snarfed, you wanted to mention other services implementing Mastodon's API

<Zakim> tantek, you wanted to ask j12t to propose a next meeting time (since he was able to convince 40+ of us to show up to this :)

snarfed: there is a rich ecosystem of clients and servers, there are also other servers that implement the mastodon client API - more than AP C2S I think

tantek: j12t can you propose a next meeting time as you got 40 of us to show up

j12t: do we all want to have the same discussion? should we have smaller meeting for specific problems?

<Bob_Wyman> We should not assume that the Client-Server API is "unimportant" or "reasonably proprietary." Doing so creates the assumption that servers own their clients. That is a dangerous assumption.

<steve_ediger> users, usability, interoperability test suites, c2s protocols

j12t: maybe separate ones for branding and interop - maybe we have a next meeting to set up a subcommittee for each problem rather than the big group

<djangz[m]> +1

tantek: we could make that happen by proposing a meeting with an advance agenda to take to implementers

<npdoty> +1 for agenda topics ahead of time

<Loqi> yea!

j12t: meeting per subject?

<tantek> thank you KevinMarks for scribing!

<tantek> thanks to j12t for calling the meeting and inspiring all of us to show up!

j12t: thank you all for showing up - we have a great opportunity lets go for it

<Bob_Wyman> If you're not a SWICG member, please join!

[sorry for the typos, thanks cel for fixing]

<cel> thanks for using IRC

<cel> tantek: i have not proofread it but looks ok

<cel[c]> syndic-will djangz the matrix bridge here (#socialcg:cybre.space) drops messages from some IRC nicks. i'm asking about this in #meta:cybre.space. the minutes (from IRC) should be correct (containing missing messages)

<cel> note about bridging issue i don't know if needs to be in minutes ^

kevinmarks: can people check their product names as I was guessing phonetically

<cel[c]> alternative bridge room #_w3c_#social:matrix.org works but has no admin

<enick_885> public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0223.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0224.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0225.html )

<enick_885> SocialCG - Revision history: Tantekelik: /* Meeting minutes archive */ today&#39;s minutes ( https://www.w3.org/wiki/index.php?title=SocialCG&amp;diff=115637&amp;oldid=prev )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0226.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0227.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0228.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0229.html )

<enick_885> public-swicg@w3.org Mail Archives: Re: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0230.html )

<tantek> s/… evan do you want to chair?/johannes: evan do you want to chair?

<tantek> s/<enick_885> public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )//

<tantek> s|-enick_885:#social- public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )||

<tantek> s|<enick_885> public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )||

Minutes manually created (not a transcript), formatted by scribe.perl version 210 (Wed Jan 11 19:21:32 2023 UTC).

Diagnostics

Succeeded: s/liek/like/

Succeeded: s/shoudl get mroe/should get more/

Succeeded: s/wrign/writing/

Succeeded: s/doa./do a/

Succeeded: s/nomintes/nominates/

Succeeded: s/waht do yo9u need ot mak elife easier/what do you need to make life easier/

Succeeded: s/adn/and/

Succeeded: s/ ot / to /

Succeeded: s/iosn/ions/

Succeeded: s/ade facto/a defacto/

Succeeded: s/ si / is /

Succeeded: s/liek/like/

Succeeded: s/wnt/want/

Succeeded: s/th ekeys/the keys/

Succeeded: s/fedivers/fediverse/

Succeeded: s/controbutor/contributor/

Succeeded: s/weebmention/webmention/

Succeeded: s/sthin/thin/

Succeeded: s/protocl/protocol/

Succeeded: s/abstacrt/abstract/

Succeeded: s/mobilezon(?)/mobilizon/

Succeeded: s/Ap is/ActivityPub is

Succeeded: s/webmentons/Webmentions

Succeeded: s/myslef/myself/

Succeeded: s/wer /were /

Succeeded: s/kind fo/kind of/

Succeeded: s/woirking/working/

Succeeded: s/abd /and /

Succeeded: s/nakes/makes/

Succeeded: s/ pp / app /

Succeeded: s/ ti / it /

Succeeded: s/goign to have is like th eprotocol wars between browserrs/going to have is like the protocol wars between browsers/

Succeeded: s/particualr/particular/

Succeeded: s/ re / are /

Succeeded: s/implementatrion/implementation/

Succeeded: s/ si / is /

Succeeded: s/dpoc/doc/

Succeeded: s/ ti / it /

Succeeded: s/ fo / of /

Succeeded: s/lik /like /

Succeeded: s/wiht/with/

Succeeded: s/doidn't/didn't/

Succeeded: s/validatior/validator/

Succeeded: s/paylaods/payloads/

Succeeded: s/th eroom/the room/

Succeeded: s/chacking/checking/

Succeeded: s/mroe/more/

Succeeded: s/coudl/could/

Succeeded: s/he extension/the extension/

Succeeded: s/fro /for /

Succeeded: s/extnsions/extensions/

Succeeded: s/codofying/codifying/

Succeeded: s/someon /someone /

Succeeded: s/decidec/decided/

Succeeded: s/ fo the / of the /

Succeeded: s/ palce/ place/

Succeeded: s/tarck/track/

Succeeded: s/abck/back/

Succeeded: s/alll/all/

Succeeded: s/remeber/remember/

Succeeded: s/captureing that woudl/capturing that would/

Succeeded: s/that woudl eb/the w3c wiki would be/

Succeeded: s/cryptographe/cryptography/

Succeeded: s/peoepl/people/

Succeeded: s/cpaable/capable/

Succeeded: s/ nto / not /

Succeeded: s/dleivering/delivering/

Succeeded: s/serve /server /

Succeeded: s/regualr/regular/

Succeeded: s/ cna / can /

Succeeded: s/ ti / it /

Succeeded: s/clinet/client/

Succeeded: s/amstodon/Mastodon/

Succeeded: s/defintely/definitely/

Succeeded: s/ fo / of /

Succeeded: s/peopl /people /

Succeeded: s/cleints/clients/

Succeeded: s/matc/match

Succeeded: s/mroe/more/

Succeeded: s/cleints and servres,/clients and servers,/

Succeeded: s/alos/also/

Succeeded: s/…/...

Succeeded 52 times: s/…/.../g

Succeeded 1 times: s/implemneted/implemented/g

Succeeded: s/current Ap version/current ActivityPub version

Succeeded: s/mroe time/more time

Succeeded 1 times: s/webstes/websites/g

Succeeded: s/interoperates with AP/interoperates with ActivityPub (AP)

Succeeded: s/and am a contributor to webmention and microformats/and have implemented webmention and microformats in my implementation and use that with BridgyFed to interoperate with the fediverse

Succeeded 3 times: s/problme/problem/g

Succeeded 1 times: s/implemtning/implementing/g

Succeeded 1 times: s/verrifiaer/verifier/g

Succeeded 1 times: s/get ti back/get it back/g

Succeeded: s/which supports AP and webmention and microformats etc/which supports AP and webmention and microformats and micropub etc

Succeeded 1 times: s/implemtned/implemented/g

Succeeded: s/what MAstodon did/what Mastodon did

Succeeded 1 times: s/mroe than/more than/g

Succeeded 2 times: s/woudl be/would be/g

Succeeded 1 times: s/ot know/to know/g

Succeeded: s/actual minimu/actual minimum

Succeeded: s/the Client to Server Spec/the ActivityPub Client to Server Spec

Succeeded: s/together and implementers/together an implementers

Succeeded 1 times: s/p+//g

Succeeded: s/the w3c wiki would/the w3c wiki https://www.w3.org/wiki/SocialCG would

Succeeded 1 times: s/ mroe / more /g

Succeeded 1 times: s/is it's own/is its own/g

Succeeded 1 times: s/ ahve / have /g

Succeeded 1 times: s/ woudl / would /g

Succeeded: s/micropub and microsub but could have. basic standard there/micropub and microsub but could have a basic standard there similar to the Mastodon client API

Succeeded 1 times: s/ adn / and /g

Succeeded 1 times: s/ subcommitte / subcommittee /g

Succeeded 1 times: s/ ratehr / rather /g

Succeeded: s/I volunteer to scribe/kevinmarks: I volunteer to scribe

Succeeded: s/who is writing code/johannes: who is writing code

Succeeded: s/can we do a 30s each on what we need to implement the code/johannes: can we do a 30s intro each on what we need to implement and code?

Failed: s/… evan do you want to chair?/johannes: evan do you want to chair?

Succeeded: s/oh, I was typing a unicode ellipsis, sorry//

Succeeded: s/hah//

Succeeded: s/can people check their product names as I was guessing phonetically/kevinmarks: can people check their product names as I was guessing phonetically

Failed: s/<enick_885> public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )//

Failed: s|-enick_885:#social- public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )||

Failed: s|<enick_885> public-swicg@w3.org Mail Archives: Regular SWICG meetings and CG process ( https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0222.html )||

Maybe present: aarongray, evan, gabe, johannes

All speakers: aarongray, AaronNGray, benpate, djangz[m], DoubleMalt, elplatt, eprodrom, evan, gabe, GabeK, j12t, Jamesmarshall, JeremiahLee, johannes, kevinmarks, manton, pfefferle, PHB, snarfed, syndic-will[m], tantek

Active on IRC: AaronNGray, anca, benpate, Bob_Wyman, bumblefudge_, cel, cel[c], djangz[m], DoubleMalt, elplatt, enick_885, eprodrom, GabeK, gRegor, identitywoman, j12t, JamieXML, JeremiahLee, KevinMarks, Loqi, manton, npdoty, pfefferle, PHB, schmarty, snarfed, steve_ediger, syndic-will[m], tantek