#social 2019-03-28
2019-03-28 UTC
tenma, timbl, Guest84_ and xmpp-social joined the channel
# cjslep[m] @rialtate:matrix.org: that sounds primarily a criticism of https, not ActivityPub. I think it's just a bikeshedding kind of argument anyway for the question "how can I update a profile". There's a clear solution that would interoperate with the Fediverse. If optimization is the problem (which neither HTTPS nor ActivityPub are designed for) then solve that separate problem to tackle since it will involve a new ActivityPub extension to do partial updates
# cjslep[m] and require doing ActivityPub over not-HTTP like some sort of maximum-compressed minimum-byte-transfer protocol, like a custom UDP transmission. To conflate the two problems is not exactly a productive conversation.
# cjslep[m] I agree though that HTTPS and ActivityPub's full Update mechanism isn't very efficient. But it is flexible, and while one implementation may only change 1 property of the Profile Object, others may change multiple (timestamp of update, profile string, tags, etc) while other impls may use a Create
{ .... }
Instead# cjslep[m] ("isn't efficient" = isn't efficient from a byte transmission perspective. Which I'd argue anything TLS and TCP isn't going to be.)
# cjslep[m] Another thing to consider if solving the byte transmission size problem is that JSON is generally a poor wire format, so in this custom low-oveehead protocol it may also be worth exploring serializing JSON-LD as a different wire format somehow.
# cjslep[m] But all this is not to say there is no way to design an AP implementation that is more efficient. For example, if only "summary" on Profile will ever Update, then turn "summary" on Profile into an IRI and have its value be an independent Object. And then just update that piece instead of the whole Profile each time.
h_ll_k_n, timbl and ahihi2 joined the channel
# jdormit[m] cjslep: thanks for taking the things in my head and saying them in a way that makes sense 😄
# jdormit[m] The (sad) truth is, in most modern web services, including federated ones, the protocol layer is never going to be the bottleneck anyway.
# jdormit[m] In other words I would rather optimize for a protocol to be flexible and easy to use, e.g. requiring full object updates, instead of optimized and harder to implement
timbl, Chocobozzz and smashgrab joined the channel; vitalyster left the channel