W3C

- DRAFT -

Social CG Telecon

25 Apr 2020

Agenda

Attendees

Present
cwebber, thebaer, sl, hellekin, pukkamustard, cwebber2, sl007
Regrets
Chair
cwebber2
Scribe
emacsen

Contents


<hellekin> hi there

<csarven> noting "reaching out to others" re relationship between AP and Solid stuff.. hello!

<cwebber2> ScribeNick: emacsen

<hellekin> https://www.w3.org/wiki/SocialCG#Scribing

introductions

<cwebber2> emacsen: I'm Serge, work with Chris on some AP-tangental things such as Datashards, ocappub, and soon to be goblins

(should I be scribing here

cwbber: I am Chris Webber. I am chair of SocialCG

Hellekin: I am the cat herder of SocialHub

punkamustard: I am using ActivityPub in [inaduble] project (pls fill in)

thebaer: I am the author of WriteFreely and other ActivityPub projects as well as FreePhone

<pukkamustard> I am working on a project called openEngiadina using ActivityPub for local knowledge such as Events, status informatin, local organizations and businesses etc.

<sl007> Hello, I am Sebastian, doing redaktor.me

Content addressed vocabulary for extensions

<cwebber2> https://socialhub.activitypub.rocks/t/content-addressed-vocabulary-for-extensions/539

Chris: Next topic is content addressed vocab. I wrote a threat and made a blog about it
... Right now AP uses http uris by extensions
... A question of where should extensions go?
... Where should the URI of where a vocabulary goes and where does the activity context go

Terms first. We spent 6 months in SocialCG looking at extensions to vocabulary in ActivityStreams.

Maybe we were approaching things the wrong way. For example when Mastodon introduced sensitive field.

It was pushed to put in ActivityStreams core, but what happens to older implementations

What happens to older software, or outdated urls.

What is governance process for putting terms in the vocabulary and what happens when do they stabalize

This is a hard question to answer and we don't have a resolution.

I used to be pro-namespaces, and I have become less so over time but we still need global unique identifiers

URNs are a valid URI that can be used for this.

We could use a hash before the identifier. What is this hash?

Instead of having http before the URI, we could have the specification text and have it as the name of the term

We could use JSON-LD contexts to map "sensitive" to something less ambigious- the hashed URN

That's the general idea. The flip side is that with JSON-LD contexts, the contexts could go down or change.

If it does, then the lookup or signatures could fail. If we use Datashards or other approaches, we could address these problems.

I'd like to see what SocialCG thinks of this.

Does anyone have any thoughts? Use q+ on IRC to queue yourself up.

sebi: Can anybody hear me now?

cwebber2, Yes. you're audible

sebi: Yes

I'm Sebastian [inaudible] I manage redaktor.me where you can discuss ActivityPub activitivy. We have a [inaudible] map where you can replace [something] with ActivityPub

pukkamustard: I like the approach of using content address namesapces. There were questions
... Hashing the content. This was not in the blogpost. Can you elaborate?

cwebber2: So basically the idea is that you use some sort of CAS such as IPFS or Datashards or something like that. Something globally addressable

if you're not familiar with CAS, then instead of a uri example/cat/photo you'd use the hash of the content

cwebber2 I'm working with Serge on Datashards, which has more privacy than IPFS

cwebber2 If we use a CAS system, anyone who has the content can keep the content alive

cwebber2 That's valuable in that you can keep it alive, and that's the main appeal of JSON-LD content addressed content

pukkamustard On the blog post you hash the individual properties, rather than the context

cwebber2 We are solving two different things. One of them is hashing the name of the term to make a unique name for the term. If it's retrivable then we know it refers to this term

That means that we can look up a definition.

JSON-LD contexts by providing mapping are also important to be unique and to keep alive but it's kind of for a different reason

It's not the same problem but has the same solution

pukkamustard, I'd like to elaborate on the difference between JSON-LD contexts and namespaces

pukkamustard, JSON-LD contexts can't be mapped to the namespaces

sl007 Instead of using these describtions for the RDF namespaces, we use JSON schemas

sl007 But that is just our solution and not an official one

cwebber2 I think there are differet things going on here. In some RDF systems you use shorthand for URIs using namespaces. JSON-LD just uses a mapping of terms. Not all RDF systems have these kinds of mappings of a string to a specific terms, rather than to a specific namespace

cwebber2 so one argument could be that by not using namespaces, it is less useful for systems that don't have this mapping. I forget if Turtle allows you use certain namespaces

pukkamustard You could give namespaces to a specific term

cwebber2 But you can't pull up a bundle of them at once. JSON-LD may be more easily equipped to deal with this solution than other RDF serializations even though all of these are RDF serializations

cwebber2 I haven't thought of this much and don't know much about other RDF serializations

pukkamustard, I've been toying around with CAS, specifically Datashards. I've been trying to find a serialization of general RDF data. This would allow any existing namespace of content addressable namespaces such as activitystreams content

<sl007> To eleborate we use https://json-schema.org at the JSON LD context URL with Content-Type application/schema+json

cwebber2 There are two things here. Even if we stick with namespaces, we could use mutable datashards for a namespace and update the namespace.

cwebber2 The thing I'm arguing for is not using namespaces to avoid governance issues even though other RDF systems assume you use namespaces

cwebber2 Using CAS such as Datashards are useful for storing data in the usual case, such as when witches.town went down, it protects data in the general case

pukkamustard, Yes.

<cwebber2> emacsen: one thing I would caution to any datashards implementers is that datashards has gone through multiple iterations and transformations in the last few months that have not been reflected in the documentation and git repository mainly due to the work that we're doing in response to this issue specifically

<cwebber2> emacsen: I would encourage anyone interested to ping me after this meeting

<cwebber2> emacsen: maybe we can get multiple implementations up

hellekin: Serge, why don't you put this topic online so other people can help around?

<cwebber2> emacsen: the reason that this hasn't been widely documented and feedback solicited from others is that there are some core principles that up until a literally few days ago were not hammered out and it made sense to wait for something discussible, otherwise we'd end up with a lot of radically different implementations... in the next month or so I should have a functional datashards implementation that captures all of the changes, then

<cwebber2> we can go over them as a whole system instead of going through major changes day by day

<cwebber2> emacsen: now we can simply iterate and say this is version 0 and 1 or 2

<Zakim> reply, you wanted to emacsen

cwebber2 I wanted to ask pukkamustard, I'm excited to hear that you're excited. Would you like to expand on the state of your work?

pukkamustard, I'd love to. This is for the project openangidina. It's exactly the same as Goblins to make it more robust and make content more available and cryptographically verifiable.

pukkamustard The stage is that there is an implemention in Guile. The primitives are difficult to implement, so I used libSodium to make things easier.

pukkamustard This is something I'd like to explore. Then I've been using RDF to store the ID of the content rather than the content itself.

cwebber2 Let's try to find some time to talk

pukkamustard That sounds perfect

sl007 About Datashards JS. I would then know if I could switch to libsocial. Right now we are using the Digital Bazzare stuff. It is on github by the way.

<sl007> libsodium

<sl007> what pukkamustard said

cwebber2 Maybe there is more interest than Serge and I realized. I'd like to sync up soon on this

<cwebber2> emacsen: I don't think we should take up socialcg time, I was aware there was this level of interest, I think we should find another time to talk about datashards exclusively

<sl007> +

cwebber2, We don't need to record it but I could write a summary if there are any takeaways

hellekin One major takeaway is that you must mention Serge is that you would have something in months. That would be good to let people know to hold their horses

cwebber2 Moving on, end to end cryption with Redaktor news

E2E Encryption / #software:redaktor-me news (@Sebastian)

sl007 As I wrote in socialhub we interrupted this for the map work. What we did now is we does anyone know the standford password protocol where you get a shared AES encryption key.

sl007 we have a shared key but it not submitted over the wire but we use an RSA key and AES key but we switched to the map thing. What I would like to do is think about how to represent a map in ActivityPub.

sl007 About the map. Every timeline can have multiple places in every post but if we want to represent it on a map we can represent the post itself but in crisis response a user might want to say I want to attach these layers to a map, which is the classic use of attachments

sl007, So we use a map to the layer and the map is a collection of map layers to the map, such as a topographical map where many information is stored in GeoJSON which is not activitypub

sl007 We attach this as map layers which can be attached as map layers which can be attached to your general collection. Is there a better way?

cwebber2 I feel like there was a lot there to see if there is a better way. I would want to see it visually/structually to see if there's a better way

sl007 You can use the URL of ESRI or OpenStreetMap and this together makes a layer. Is attachements the correct place to put it in ActivityPub?

<cwebber2> emacsen: I think that the attachments are probably the right way but I have some questions unrelated to activitypub thinking more about how you'd implement this with mapping software as someone who worked on openstreetmap for a long time

<cwebber2> sl007: it is already working

sl007 It all works perfectly with Leadlet

leaflet

sl007 Together with the vector plugin where you can use the vector plugin where you can interpret every vector

cwebber2 I see no one on the queue and have no mapping experience.

cwebber2 Any responses?

<sl007> emacsen like http://leaflet-extras.github.io/leaflet-providers/preview/ but you can also combine layers

cwebber2 Thank you Sebastian for updating us on that.

C2S widgets

cwebber2 We have 10 minutes left. Bear would you like to discuss c2s widgets

<hellekin> thank you sl007 for the update on Redaktor.me. Cool stuff!

bear: We discussed this at FOSDEM but no work since then. Quick update on WriteFreely is that we're looking into submissions, where people can approve or deny posts or replies for a blog format
... Right now it's high level UX but it's going to work towards low level UX is worked out
... Ideally in the future we'll have cross instance support for new kinds of replies and submission mangement software.

cwebber2 Cool. I wanted to see if I understand. Are you building compostble web UIs?

bear: Yes

cwebber2 Very cool.

cwebber2 Do you have any links?

bear: Not yet. As soon as we do it will be in the form of the writefeely repository.

cwebber2 Thank you very much!

<thebaer> WriteFreely repo: https://github.com/writeas/writefreely

<Loqi_> [writeas] writefreely: Build a community writing space on the web.

<hellekin> thebaer: please open a topic in C2S on socialhub when you're ready!

cwebber2 Do we have the people here who represent the next topic? Reaching out to others.

cwebber2 Are they here? Or the Groups in AP people here?

sl007 About Reaching out to others we have this huge huge proposal for a guide for the home page where we reach out to others

<thebaer> hellekin: will do!

cwebber2 We have the home page as a topic a few meetings ago. The last progress I remember is a few weeks ago and the proposal has been made

<hellekin> https://socialhub.activitypub.rocks/t/guide-for-activitypub-users/509

<hellekin> ?

cwebber2 Could you link to it on IRC?

cwebber2 I'm pulling it up now

<sl007> https://socialhub.activitypub.rocks/t/draft-guide-for-new-activitypub-implementers/479

cwebber2 Is the goal for this what we discussed previously to put something like this on the home page of activitypub.rocks or a link to this on activitypub.rocks but I thought the idea was to link to it as a first/next step?

cwebber2, I'm aiming that at you Sebastian

sl007 The progress as per the IRC link is that the guide was split one for developers and one for end users and maybe we could put this on activitypub.rocks but someone needs to make an HTML page from the post

cwebber2 For now how about I put it on my agenda to do that tomorrow? I'll schedule that right now.

cwebber2 Hellekin but this is the whole thread. Can we make a nice guide from the page somehow?

cwebber2 I'm all for that

sl007 Or socialhub But the link I posted is with all the answers with the making of the guide

cwebber2 So you're taking this and transforiming it into a different page?

hellekin So if we change the title the slug will change but the ID will be chaged. But it will be redirected to the right one

hellekin, I just set a setting so no discource on this so that people can publish with their own style

<cwebber2> https://gitlab.com/dustyweb/activitypub.rocks/-/issues

hellekin, We could keep the wiki to amend and have a separate one to publish

cwebber2 Could someone create an issue with what I should link to from the home page since I don't know what the pages to link are.

sl007 Yes, but the hellekin needs to be set up in its own url

cwebber2 I will leave that to you two and the I can act on it

cwebber2 We're three minutes till the hour. The last thing on the agenda is next meeting scheduling

cwebber2 We used to have a formal schedule but it's dropped. We could agree to go back to the bi-weekly approach or go back to this time or monthly

hellekin I would repeat the suggestion I posted on socialhub that we could schedule a topic in the next 15 days that it's a wiki where people could add items they want to discuss and if they're discussed on the forum in the meantime and if they're not checked the it's put on the meeting agenda or the next monthly meeting would be mandatory

cwebber2, I hear what you're saying but I would caution that I'm not good with too much process. This is why I brought Nightpool in but he's been busy

cwebber2 I would suggest that people can use this channel if they want to discuss topics but I would like a regularly scheduled meeting for people to know to show up

hellekin The problem with time is the time zones

cwebber2 Yes it is, but it's inescapable

cwebber2, I think that I will operate best with a set time

bear: I am okay with a monthly meeting

cwebber2 Why don't we keep it simple and vote on keeping it the 2nd saturday of every month.

cwebber2 I'm going to propose with but won't be the person to create the page

<cwebber2> PROPROSED: Meetings happen second saturday of every month at 12pm UTC, and are announced/scheduled by community members on the SocialHub forum

+1

<cwebber2> PROPROSED: Meetings happen second saturday of every month at 4pm UTC, and are announced/scheduled by community members on the SocialHub forum

<hellekin> +1

<sl007> +1

+1

<thebaer> +1

<cwebber2> +1

<pukkamustard> +1

RESOLUTION: Meetings happen second saturday of every month at 4pm UTC, and are announced/scheduled by community members on the SocialHub forum

cwebber2 Full conesnsus. The next meeting is next month. Someone not me, please make the page

cwebber2, Let's end this one.

Meeting ended

Summary of Action Items

Summary of Resolutions

  1. Meetings happen second saturday of every month at 4pm UTC, and are announced/scheduled by community members on the SocialHub forum
[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2020/04/25 17:08:06 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Default Present: cwebber, thebaer, sl, hellekin, pukkamustard
Present: cwebber thebaer sl hellekin pukkamustard cwebber2 sl007
Found ScribeNick: emacsen
Inferring Scribes: emacsen
Agenda: https://socialhub.activitypub.rocks/t/2020-04-25-socialcg-meeting/

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]