#social 2018-03-28

2018-03-28 UTC
#
saranix
can we also add using ActivtyPub for chat? It occurred to me that matrix.org is actually a more verbose and overly complicated protocol compared to AP (mostly thanks to http-sigs, actor objects, and fetchable room uris)
#
saranix
the only thing that isn't immediately obvious to me is how to do presense status
cdchapman and cwebber2 joined the channel
#
ajordan
!tell fr33domlover the wiki can be really dumb with passwords. try a super simple one, I'm talking like 16 characters, alphanumeric only. that should eliminate any password complexity issues.
#
Loqi
Ok, I'll tell them that when I see them next
#
@HongPong
If you take a half hour to skim over this, that is really the key to the decentralized network. Protocol specification https://www.w3.org/TR/activitypub/ #activitypub #mastodon #gnusocial #indieweb
(twitter.com/_/status/978859404169801729)
xmpp-social, h_ll_k_n, fr33domlover, Sveta, Sveta_, jankusanagi_ and cwebber2 joined the channel
#
ajordan
so, are we actually having a call today? I know there's a stub page but
#
ajordan
that doesn't mean much unless folks show up :P
#
cwebber2
I'm in an airport
#
cwebber2
ajordan: yes, I think aaronpk is running it
#
ajordan
cwebber2: you aren't just coming home from lp are you?
#
cwebber2
sadly I will be on planez
#
cwebber2
ajordan: I'm just coming home from... LP and then picking out an apartment in western MA :D
#
cwebber2
we got an offer already today. We are hoping for one other to also come through today but we will see... one way or another it looks like it's happening.
#
ajordan
wowww! big days
#
ajordan
cwebber2: good luck! that's so exciting
#
cwebber2
thanks :D
#
ajordan
remind me where you are now? I want to say Wisconsin?
#
ajordan
wonders if cwebber2 just got on a plane lol
#
cwebber2
ajordan: ah I just didn't see it since you didn't highlight me
#
cwebber2
yes we're in Madison WI
#
ajordan
haha gotcha
#
Loqi
rofl
#
ajordan
Loqi: <
#
ajordan
well anyway cwebber2 have a good flight and I hope the second offer comes through!
JanKusanagi joined the channel
#
cwebber2
thanks ajordan
#
cwebber2
time to hop on a p l a n e
#
aaronpk
✈️
#
ajordan
sure cwebber2
#
ajordan
later!
timbl and jankusanagi_ joined the channel
#
ajordan
uuhhh we're starting in a couple minutes right?
#
aaronpk
yesi think so
#
ajordan
should've set up Mumble ahead of time
#
saranix
greetings
#
fr33domlover
ajordan, if you use push-to-talk it's easier to get the sound settings working
#
Loqi
fr33domlover: ajordan left you a message 10 hours, 47 minutes ago: the wiki can be really dumb with passwords. try a super simple one, I'm talking like 16 characters, alphanumeric only. that should eliminate any password complexity issues.
#
ajordan
fr33domlover: yeah ik but I still have to go through the wizard
#
fr33domlover
ajordan, yeah i just mean the sound recognition stuff isn't critical etc. :)
#
fr33domlover
so it's a little bit easier
#
fr33domlover
it was driving me crazy before i switched to push-to-talk
#
ajordan
yeah push-to-talk is waaaay better
#
aaronpk
don't forget to go into the swicg room on the mumble server
#
aaronpk
let me see if I remember how to summon the bots
RRSAgent joined the channel
#
fr33domlover
aaronpk, is the audio written into the minutes as text? or should I make notes if I need?
#
aaronpk
trackbot, start meeting
#
trackbot
Sorry, but no Tracker is associated with this channel.
#
ajordan
fr33domlover: that's what the scribe is for
#
aaronpk
we will need to pick a scribe to scribe the call
#
fr33domlover
thanks ajordan i saw that, just wanted to be sure it's happening in this meeting too :)
#
aaronpk
ajordan: are you still connecting? guess we can get started once you do
#
aaronpk
I know a few others will be joining late in about 25 minutes
#
fr33domlover
I can scribe, but I type slowly and english isn't my native language :p
#
fr33domlover
(That's why I never scribed before on meetings of this sort :p)
#
ajordan
aaronpk: I just connected, did you hear me?
#
aaronpk
no, double check mic settings?
#
ajordan
oh man I forgot to disable the thing that announces everything
#
ajordan
what a nightmare
#
ajordan
just a sec
#
ajordan
you can start without me
#
melody
i can't hear anyone talking for some reason
#
ajordan
fr33domlover: probably you want to wait a bit until you recognize everyone's voices
eprodrom joined the channel
#
eprodrom
Halloo all
#
ajordan
aaronpk: you're clear
#
eprodrom
Weird
#
ajordan
I think I fixed my microphone, could y'all hear me?
#
ajordan
scribenick: ajordan
#
ajordan
eprodrom: hi yeah my name's Evan Prodromou, I'm one of the coauthors of the AS2 spec and also one of the contributors to pump.io, a distributed social networking project
#
ajordan
aaronpk: awesome thanks, I think we should just jump right in
#
ajordan
... I see fr33domlover had a question about federation for project hosting using AP
#
ajordan
... I don't know much about that other than that sentence
#
ajordan
fr33domlover: I started working ~3 years ago on a repository hosting, sort of like GitLab
#
ajordan
... I want to make it decentralized
#
eprodrom
q+
#
Zakim
sees eprodrom on the speaker queue
#
ajordan
... so I was thinking about how to match objects I have like users, repos etc. to objects in AP
#
ajordan
... so e.g. a question I have is what things should be actors
#
ajordan
... suppose the users are actors, should the project be an actor or an issue be an actor or a repo be an actor
#
aaronpk
ack eprodrom
#
Zakim
sees no one on the speaker queue
#
ajordan
hold up
#
ajordan
I cannot hear anything Evan's saying
#
aaronpk
scribenick: aaronpk
#
aaronpk
eprodrom: users can definitely be actors. issues probably don't need to be followed int he same way, but users and projects would make sense to be actors.
#
aaronpk
eprodrom: ultimately deciding what should be an actor in activitypub network is a question of "should I be able to follow this thing"
#
aaronpk
eprodrom: I have a question... have you thought about sketching out on the w3c wiki a diagram for this to get commetns and feedback?
#
aaronpk
scribenick: ajordan
#
ajordan
scribenick: ajordan
#
ajordan
thx aaronpk
#
ajordan
aaronpk that last line was a question to eprodrom on IRC right? not a scribe?
#
eprodrom
q-
#
Zakim
sees no one on the speaker queue
#
aaronpk
ajordan: everyone is talking
#
aaronpk
mumble fail today
#
ajordan
ah sorry my headphones came out of the jack
#
ajordan
if y'all can repeat real quick :/
#
Loqi
rofl
#
ajordan
fr33domlover: I can make a diagram, and I'd love to get a review on the diagram
#
ajordan
... if I want people to be able to follow an issue, e.g. in Bugzilla where there's a list of emails per issues
#
ajordan
... should I make issues into actors so people can follow them
#
ajordan
eprodrom: good question, I guess it comes down to what your use cases are
#
ajordan
... I see the point either way
#
ajordan
<ajordan> is it problematic to follow non-actor objects?
#
ajordan
fr33domlover: I had an idea about inbox and outbox, I'd like to see if it makes sense
#
ajordan
eprodrom: super sorry to do this, but I have to go soon and I have an item on the agenda
#
ajordan
... can I ask CG about next steps for this one thing?
#
ajordan
aaronpk: yeah go ahead
#
ajordan
eprodrom: so sorry, I don't like hijacking the agenda like this
#
ajordan
... so good news is that ajordan and I met over the weekend along with cwebber and we hacked on AP in pump.io
#
ajordan
... so we have some of the endpoints working as well as generating AS2 from our database
#
ajordan
... as I was looking at our code I realized there's a couple AP props that haven't been added to the context
#
ajordan
... I *think* that requires sandro or rhiaro to actually do the push to the W3C servers though
#
Loqi
[evanp] #465 Add "shares" from ActivityPub
#
ajordan
aaronpk: I belive that's correct, not sure who else would have access to that
#
Loqi
[evanp] #464 Add "likes" from ActivityPub to context
#
ajordan
eprodrom: so I think probably next steps is, I would do this in our GitHub repo and then I'll collaborate with sandro and rhiaro to get it pushed to W3C servers
#
ajordan
aaronpk: sorry is this basically a bug with the current context? AP says it should be a thing but it's not in the context?
#
ajordan
eprodrom: correct
#
ajordan
aaronpk: interesting, sounds like GitHub issues are a good place to track that
#
ajordan
eprodrom: the one thing is, I'd like to make sure we do as many of these as possible at once, so I'm gonna do a last pass over AP, add them to the context and ask sandro/rhiaro to do the push
#
ajordan
aaronpk: sounds good
#
ajordan
eprodrom: do we need to do a vote to approve that process?
#
ajordan
aaronpk: I don't think we need to do a vote? we could to document that that's the process we're following
#
ajordan
... and people here can provide feedback, as to whether that's a good idea
#
ajordan
aaronpk: anyone have thoughts about that? sounds like this is essentially a bugfix so I'm inclined to just let the editors roll with it since it's not creating anything new
#
ajordan
... seems very reasonable to me
#
ajordan
<ajordan> +1
#
eprodrom
PROPOSAL: add shares, likes, and potentially other properties from ActivityPub to ActivityStreams 2.0 context
#
eprodrom
+1
#
eprodrom
Cool!
#
ajordan
aaronpk: okay well if anyone else... oh there we go an actual proposal to vote on sure
#
melody
+1
#
ajordan
eprodrom: okay so if we're okay with it I'm going to take the steps and coordinate with sandro to get it pushed
#
ajordan
aaronpk: sounds good and can your report back to IRC as to how that goes?
#
ajordan
eprodrom: okay I have to run, I appreciate it and especially fr33domlover I appreciate you letting me agenda jump, I know that's a hassle
#
ajordan
fr33domlover: it's okay
#
ajordan
aaronpk: thanks evan
#
eprodrom
Outie
#
ajordan
aaronpk: before we go back to fr33domlover's questions, does anything else have anythign to talk about? otherwise I think we should just go back to the original questions
#
ajordan
aaronpk hold up
#
ajordan
HTTP 101(?) Switching Keyboards
#
ajordan
let's do this
#
ajordan
aaronpk: okay so back to your arcitecture questions
#
ajordan
fr33domlover: okay so because I'm doing this for project hosting I have lots of objects and concepts that are extensions to plain AP
#
ajordan
so my question is if I have things like new actor types, it won't just be like group, person, service, it'll be like issue, repo
#
ajordan
... so if I have all these extra properties, does it make it harder for my app to federate with existing implementations
#
ajordan
... like e.g. pump.io once they have AP
#
ajordan
... so could someone on pump.io comment on an issue or whatever despite pump.io not understanding the extensions
#
ajordan
... do I need to be careful about stuff to make sure I'm still compatible
#
aaronpk
scribenick: aaronpk
#
aaronpk
ajordan: let me think about it for a minute
#
aaronpk
... citation needed, but I think pump.io should accept anything it doesn't recognize, so as long as you provide some sort of sensible alternative content, like a fallback description in summary, then it should display
#
aaronpk
... and you can certainly add comments to that
#
aaronpk
... it might not show up in the pump web UI or clients, i'm not sure, but you could use a pump account. like if you had a client that displayed issues you could use your pump account
#
aaronpk
... you would need to write your own JSON-LD context so other implementations can understand that
#
aaronpk
... pump.io probably wont end up caring about that, but other implementations do
#
aaronpk
fr33domlover: great i'll end up doing that
#
aaronpk
... the spec says you can treat the data as plain JSON, so do implementations usualyl understand JSON-LD? would that be a problem? or can I trust them to accept what they don't understand
#
aaronpk
ajordan: the answer is complicated. in the spec, all the authorization stuff is unspecified. in real life... let me find the wiki url
#
aaronpk
... what has happened in real life is all of the implementations have converged on this authentication scheme where server-to-server people use HTTP signatures and linked data signatures, so all implementations are full JSON-LD processing or they have a corner where they care about LD and the rest they treat it as plain JSON
#
aaronpk
... mastodon does it as mostly plain JSON, pump will do it as plain JSON
#
aaronpk
... kroeg will do json-ld, not sure about the others
#
aaronpk
fr33domlover: so either way I need JSON-LD for the things you linked
#
saranix
hmm... I suppose the same applies to my chat presense question... so if someone is "following" the room actor, they will get objects like { summary:"@foo is now away"}, but what should the type:{} be? Should it be a top-level activity of some kind? Since type:Add, object:type:{away status", etc.} seems kinda overly verbose
#
aaronpk
ajordan: if someone is consuming JSON-LD you can treat it as plain json except for the signatures. if you're producing it then you have to worry more about JSON-LD
#
aaronpk
fr33domlover: okay thank you
#
ajordan
s/producing it/producing data with extensions/
#
aaronpk
fr33domlover: one more question. I was thinking about inbox/outbox for actors
#
aaronpk
... it adds new addresses like actorid/inbox actorid/outbox
#
aaronpk
... that differs from RESTFUL applications where you can get and post the object ID directly
#
aaronpk
... I had this thought, suppose a project is an actor, since a project is part of the application itself, it's not a person, it doesn't need to GET its own outbox or POST to its inbox
#
aaronpk
... so the only things you need from an outbox and inbox for a project is people need to be able to post to an inbox to send changes and get from the outbox to see events
#
aaronpk
... so if I make the inbox the same url as the actor, and the outbox can have a url like actorid/changes
#
aaronpk
... then if I want to make a project into an activitypub actor, I don't need to add a new URL to my application
#
aaronpk
... since the changes are already visible as an HTML page, so I can use the Accept header to return the activitystream
#
aaronpk
... in regular REST applications you post to the object to make changes, so if you use the same URL for the inbox as the actor then you can use the content-type header whether you're receiving plain JSON or HTML form input, it all goes to the same URL
#
aaronpk
... so I was wondering if that's okay, and not surprising to other implementations, that the inbox URL and actor ID are the same
#
aaronpk
ajordan: off-hand, I don't think that should be a problem
#
aaronpk
... this has been discussed recently on IRC with saranix I think?
#
aaronpk
... it is worth noting that in activitypub, the client-to-server stuff is totally separate from server-to-server, so if you wanted to, you could implement a "regular" rest client-to-server API and then use activitypub for server-to-server.
#
aaronpk
... i'd encourage you not to of course, since if you implement activitypub client-to-server you get all the clients
#
aaronpk
fr33domlover: I noticed they're separate, and I agree I want the existing clients to be able to communicate
#
aaronpk
... so I think i'll go for what I said, making the inbox and actor id the same
#
aaronpk
ajordan: sounds great
#
aaronpk
fr33domlover: thanks for the feedback, i'm done asking questions for this meeting
#
ajordan
scribenick: ajordan
#
ajordan
aaronpk: thanks, great questions and I like trying to reuse existing URLs and things like that, sounds great
#
ajordan
... well cool, anyone else have any new topics they want to squeeze in since we have a few extra minutes?
#
ajordan
... I don't see anything on the wiki
#
melody
i think saranix said they wanted to talk about chat on AP
#
ajordan
aaronpk: alright well in that case let's call the meeting early
#
saranix
BUMP: so if someone is "following" the room actor, they will get objects like { summary:"@foo is now away"}, but what should the type:{} be? Should it be a top-level activity of some kind? Since type:Create, object:type:{away status", etc.} seems kinda overly verbose
#
ajordan
aaronpk: well thanks everyone for coming, hope it's been useful and let's do it again in two weeks
#
ajordan
fr33domlover: yes thanks
#
ajordan
aaronpk: and thanks ajordan for scribing
#
ajordan
<ajordan> np! I've been slacking recently lol
#
aaronpk
trackbot is slacking so I think i'm gonna have to generate the minutes manually
#
trackbot
Sorry, aaronpk, I don't understand 'trackbot is slacking so I think i'm gonna have to generate the minutes manually'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
ajordan
<ajordan> wait
#
ajordan
<ajordan> saranix is here
#
aaronpk
wait not on the call tho
#
saranix
yeah I don't do mumble
#
aaronpk
someone want to take the question?
#
ajordan
saranix: I would think it would be an Edit on the Actor
#
aaronpk
i'll leave you all to continue this in IRC :)
#
saranix
ajordan: oh yeah, that makes sense
#
ajordan
<ajordan> are we done on Mumble? my laptop is about to die
#
saranix
ajordan: but AP requires Edits send the Full Object... which sucks for chat
#
ajordan
s/saranix: /<ajordan> saranix:/
#
ajordan
scribenick: nobody
#
ajordan
aaronpk: do we want to end the meeting? or what's happening
#
ajordan
present+
#
aaronpk
trackbot, end meeting
#
trackbot
Sorry, but no Tracker is associated with this channel.
#
aaronpk
I don't know what's wrong with trackbot
#
aaronpk
RRSAgent, end meeting
#
RRSAgent
I'm logging. I don't understand 'end meeting', aaronpk. Try /msg RRSAgent help
#
ajordan
#sysops?
#
aaronpk
RRSAgent, stop logging
#
RRSAgent
I'm logging. I don't understand 'stop logging', aaronpk. Try /msg RRSAgent help
#
aaronpk
:sigh:
#
ajordan
RRSAgent, bye
#
RRSAgent
I'm staying, ajordan; no access has been specified for the meeting record
#
ajordan
RRSAgent: make logs public
#
RRSAgent
I have made the request, ajordan
#
aaronpk
RRSAgent, make minutes public
#
RRSAgent
I'm logging. I don't understand 'make minutes public', aaronpk. Try /msg RRSAgent help
#
ajordan
should we `bye` RRSAgent?
#
aaronpk
RRSAgent, bye
#
RRSAgent
I see no action items
RRSAgent left the channel
#
jankusanagi_
NSAAgent? :D
#
ajordan
IRC logs got posted okay so I suppose everything is fine?
#
melody
chat-over-AP would be like, really super noisy for non-chat AP implementations, right?
#
aaronpk
trackbot didn't run so we don't have the nice minutes so i'll just paste my chat logs
#
trackbot
Sorry, aaronpk, I don't understand 'trackbot didn't run so we don't have the nice minutes so i'll just paste my chat logs'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
ajordan
melody: yeahh
#
aaronpk
trackbot, gtfo
#
trackbot
Sorry, aaronpk, I don't understand 'trackbot, gtfo'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
ajordan
aaronpk: no they got posted
#
aaronpk
trackbot, you had one job
#
trackbot
Sorry, aaronpk, I don't understand 'trackbot, you had one job'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
aaronpk
ajordan: yeah that's the IRC log, not the processed minutes
#
ajordan
ahhh right yeah
#
aaronpk
trackbot does stuff like collapsing the ... scribe stuff
#
trackbot
Sorry, aaronpk, I don't understand 'trackbot does stuff like collapsing the ... scribe stuff'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
ajordan
trackbot--
#
Loqi
trackbot has 2 karma
#
trackbot
Sorry, Loqi, I don't understand 'trackbot has 2 karma'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
aaronpk
trackbot--
#
Loqi
trackbot has 1 karma
#
trackbot
Sorry, Loqi, I don't understand 'trackbot has 1 karma'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
melody
trackbot--
#
Loqi
trackbot has 0 karma
#
trackbot
Sorry, Loqi, I don't understand 'trackbot has 0 karma'. Please refer to <http://www.w3.org/2005/06/tracker/irc> for help.
#
ajordan
aaronpk: I can dig up the sed script I used for this last time
#
aaronpk
oh nice
#
saranix
melody: yeah, but the thing that made me think it's worth doing is a colleague has this tagline on their emails for some app that boasts itself "view all your emails as a chat", which made me realise, it's all about how you Style it...
#
ajordan
aaronpk: here's what I have:
#
ajordan
sed 's/^\[..:..:..\] //g' /var/lib/znc/.znc/users/alex/moddata/log/W3C_\#social_20180117.log | grep -v '\*\*\* ' | sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/$/\n/g'
#
ajordan
works on ZNC logs, not sure how helpful it will be for whatever you're using
#
saranix
to be fair, if you look at any mastodon page, the constant toots back and forth very much resemble chats
#
ajordan
let me just run that on mine
#
ajordan
http://ix.io/13Ma here's a decently clean version from today
#
ajordan
minutes posted, but they need lots of cleanup
#
aaronpk
oh crap edit conflict
#
ajordan
I'm doing it right now, don't midair me
#
ajordan
oh oops sorry aaronpk
#
aaronpk
go for it
tantek joined the channel
#
ajordan
for those following along at home I made it to the part of the agenda where I made the HTTP joke
#
ajordan
and I just looked it up and it is in fact status code 101
#
ajordan
(Switching Protocols)
#
aaronpk
ajordan++
#
Loqi
ajordan has 24 karma in this channel (25 overall)
#
Loqi
rofl
#
ajordan
thx aaronpk
#
ajordan
I'm here all night
#
saranix
so no one else has anything else to say about chats?
#
ajordan
hey puckipedia Kroeg does full JSON-LD processing right?
#
ajordan
saranix: I'm not sure
#
ajordan
it's an interesting question but I'm not sure AP is right for it... I mean, why not just use XMPP? complicated I guess
#
ajordan
that's certainly an argument against XMPP
#
saranix
XMPP was always way convoluted... matrix.org, is also convoluted, and overly verbose compared to AP
#
saranix
yet they are all JSON based
#
fr33domlover
It's interesting to use AP for chat, however look at XMPP and Matrix etc. and see if they have stuff that AP can't do, something essential to IM
#
fr33domlover
Just to make sure the work isn't a waste of time and AP can do chat just as well as XMPP or Matrix
#
ajordan
also aaronpk++ for taking over scribing while I talked
#
saranix
fr33domlover: I'm a researcher, I've been familiar with both XMPP and Matrix as they evolved, and I'm making the point that they SUCK compared to AP
#
fr33domlover
saranix, oh I see!
#
fr33domlover
Then definitely go ahead with it
#
fr33domlover
saranix, but also it's ok to make extensions if you need to
#
fr33domlover
chat stuff has aspects not covered by AP
#
fr33domlover
saranix, such as tying notifications, which may be a new activity type etc.
#
fr33domlover
*typing
#
saranix
IRC doesn't have typing, it does just fine ;)
#
ajordan
ah loqi didn't get that
#
fr33domlover
saranix, yeah sure I mean depends on whether you want to implement them
#
ajordan
aaronpk++ for taking over scribing while I talkedaaronpk++ for taking over scribing while I talked
#
Loqi
aaronpk has 103 karma in this channel (1600 overall)
#
saranix
I can't think of any must-have features. And if you think about things like video-conf, that happens out-of-band anyways...
#
saranix
I bring it up in order to bring out these issues though, as it's much easier for many minds to do such a thing
#
saranix
I can't thing of any game-stoppers
#
tantek
waves from the #css WG telcon
#
Loqi
tantek: fr33domlover left you a message 4 days ago: Yeah but it takes some discussion, it's hard to follow a slow paced async conversation on IRC, it needs something where messages are recorded like a mailing list (or just email when it's 1-on-1)
#
tantek
!tell fr33domlover our IRC messages are recorded like a public mailing list archive, see /topic :)
#
Loqi
Ok, I'll tell them that when I see them next
#
ajordan
saranix: I feel like it would be a better idea to do things the "right" way in AP, even if that means sending full objects, and then tack on extensions to make stuff more efficient
#
ajordan
tantek: heya!
#
ajordan
saranix: like e.g. you could have a prop on actors that said "I can take non-full-object Edits"
#
fr33domlover
tantek, yeah but it doesn't mean people do over them like they go over an email inbox ^_^
#
Loqi
fr33domlover: tantek left you a message 1 minute ago: our IRC messages are recorded like a public mailing list archive, see /topic :)
#
tantek
fr33domlover: that's a feature (one fewer inbox) not a bug :)
#
ajordan
you could even experiment with hyperefficient transport, I know the XMPP people were at some point experimenting with a binary encoding of their XML
#
ajordan
I could imagine converting AS2 JSON to protobufs or something and sending that over the wire, that would be super efficient
#
ajordan
TCP keepalive will help a lot too, probably chat servers would make sure to respect those HTTP headers
#
tantek
ajordan: was XML encoding really what accounted for time in perf? and compressing to binary would make what % diff?
#
saranix
ajordan: but "away status" isn't necessarily a property of AP actors. it's an extension itself, so we could just as easily make it it's own first-class object and it would still be the "right" way
#
aaronpk
doesn't http2 have some persistent and bidirectional stuff?
#
tantek
I'd expect more time loss from latency / network stuffs
#
ajordan
tantek: well latency is only made worse by verbose XML
#
melody
i can't think of how you'd model chat with AP, maybe you could do one-on-one chat but modeling rooms, permissions and moderation would be a problem -- this really doesn't work well with the follow semantics
#
tantek
ajordan but noticeably worse? why waste time/code trying to optimze a 1% change (made up number)
#
tantek
tends to agree with melody
#
saranix
melody: none of the things you mentioned are different for "chat rooms" than they are for "forums", and no one is claiming that AP can't do forums
#
melody
i might be
#
saranix
melody: I disagree. You might want to take a look at how Hubzilla does forums
#
ajordan
I also can't remember if this was supposed to be a C2S or S2S optimization, or both
#
ajordan
tantek: I don't know. it was a long time ago that I read about this
#
ajordan
I seem to recall that there was a *lot* of optimization so it was a lot better than just 1%. I have absolutely no idea if I'm remembering right but I think they did it so that both sides knew the schema and therefore you basically had to send the data and literally nothing else
#
tantek
ajordan, it smells like tunnelvisioning akin to bikeshedding - profiling is hard, so let's optimize *part* of the problem without understanding if it actually contributes anything noticeable to the problem. Happens a lot in dev/engineering/standards circles.
#
ajordan
it's also more complicated than it seems because a lot of the XMPP folks are concerned about mobile perf, so there's stuff like well, if data is smaller you don't have to wake the radio for as long
#
tantek
and lots of (most?) devs/engs/standards folks like to tweak formats and protocols
#
tantek
(or make up new ones)
#
ajordan
tantek: definitely agree that tends to be a problem. I don't know for sure if it was in XMPP's case. FWIW they *did* get the low-hanging fruit before that
#
ajordan
e.g. a big battery killer was setting up and tearing down TCP sessions on network changes so they've got a session resumption spec that's been around forever
#
ajordan
tantek: again I don't know the details and don't want to try to defend something that for all I know never even made it to an official standard - just relaying what I remember
#
tantek
right. there are other problems with XMPP that others have pointed out above.
#
tantek
XMPP definitely made it to being an "official" standard
#
ajordan
tantek: yes but the extension I'm talking to might not have
#
tantek
but not necessarily with the rigor of test cases, test suite, interop proven via test suite that today's specs require
#
ajordan
maybe I'll look for a XEP later
#
tantek
yeah I don't know about any particular extensions
#
melody
i just think the scope of the changes you would need to make to do chat *well* on AP would probably make it resemble an actual chat protocol and would also make proper interop pretty much out of reach
#
ajordan
I think https://xmpp.org/extensions/xep-0322.html *may* have been what I was actually thinking of though, not sure
#
ajordan
looks like such an optimization never got done
#
saranix
Well so far I have all the basics figured out with no major problems. The worst being the status summaries being annoying, but my response to that is: Riot (matrix.org) didn't even add support to collapse annoying status changes until about 6 months ago, IRC has absolutely no solution for that and no one complains, and when Hubzilla federates to old versions of Diaspora, Likes also show up as annoying summary text, sso it's not like we're doing someth[CUT]
#
ajordan
saranix: you got cut of att "we're doing someth"
#
ajordan
s/att/at/
#
saranix
ah... it's not like we're doing something new here *at all*
#
ajordan
boy oh boy I've gotten nothing done today :/
#
ajordan
gotcha
#
melody
yeah and riot and IRC are both _terrible_ and there's a reason hubzilla and diaspora have no users
#
saranix
ouch
#
tantek
🔥🔥🔥
#
melody
that came out meaner than i meant it to but like, F/OSS has a serious ongoing long-term usability problem and I think major UX issues are an inevitability if you tried to implement chat over AP
#
saranix
I happen to like IRC, and hubzilla. And Diaspora is passable, but certainly far superior to Mastodon. I find Mastodon to be grossly unusable, and yet it is super popular. I don't think you're being fair about what makes something popular.
#
melody
speaking of which, wouldn't a room's "feed' or whatever have to be an OrderedCollection (meaning, reverse-chronological order)?
#
melody
typically a chat stream is presented chronologically
#
saranix
only matters when fetching the "room history"... and databases don't really care what order you insert data... so... not a protocol problem
cwebber2 joined the channel
#
cwebber2
how'd the meeting go?
#
saranix
it was...different
#
saranix
lol check logs
#
saranix
even the bots were off their game ;-)
#
cwebber2
reading
h_ll_k_n and fr33domlover joined the channel
#
fr33domlover
saranix, in which way was the meeting different?
#
fr33domlover
It's my first, so I have nothing to compare to :)
#
saranix
pretty chaotic.. not all that productive
#
aaronpk
what were you hoping to get out of the meeting saranix?
#
saranix
I figured out long ago I should not hope to get anything
#
saranix
it would've been nice if there was lively discussion and new ideas though
#
aaronpk
i thought the discussion about issue tracking was interesting, that seemed like a new idea
JanKusanagi joined the channel