#social 2017-09-07
2017-09-07 UTC
KevinMarks and cdchapman joined the channel
# Gargron cwebber2: https://twitter.com/StarSumiaki/status/905608945208745984
# @dustyweb The spec mentioned is ActivityPub, of which I'm co-editor. Super excited for this! https://www.w3.org/TR/activitypub/ https://twitter.com/Gargron/status/905605968033132545 (twitter.com/_/status/905615346916261888)
Loqi, cdchapman, xmpp-social, KevinMarks_, KevinMarks, dmitriz, tantek and eprodrom joined the channel
# Gargron cwebber2: you asked about protocol handlers
# Gargron you can visit web+mastodon://follow?uri=gargron@mastodon.social and it will open a follow dialog on your instance
# Gargron you can visit web+mastodon://share?text=Blah+blah and it will open a new toot dialog on your instance with "Blah blah" pre-filled
# Gargron that's all i got so far
# Gargron interesting
# dlongley Gargron, tantek: you guys may be interested in the "web action"/"web request" approach taken by web payments and the CCG wrt credentials ...
# dlongley i wrote a little bit about it here: https://github.com/w3c-ccg/credential-handler-api/issues/2
# dlongley and we have a couple of demos now that work in Chrome, Firefox, and Edge
# dlongley (and Safari if you mess with your preferences)
# Gargron jaywink: when you open the mastodon web UI, it calls registerProtocolHandler
# Gargron your browser asks you for permission
# Gargron after that it will open that registered handler
# Gargron if you have multiple handlers the browser will give you a choice
# dlongley http://credential-repository.demo.digitalbazaar.com/ <-- a demo of credential handler
# dlongley http://payment-handler.demo.digitalbazaar.com/ + http://payment-merchant.demo.digitalbazaar.com/ <-- a demo of web payments
# sandro I'll be very interested to see how this plays with Mastodon's end-users. Protocol handlers being missing on mobile and having a confusing install process made them seem like a non-starter to me (which is why I advocated the special-domain approach instead). Maybe end-users are more tolerant than I expected.
# dlongley perhaps similar or same general principles for social web actions -- at least at the core.
# dlongley website X wants something that website Y can provide, and the browser plays a "mediator" role to make it happen.
# dlongley website Y plays a "handler" role.
# dlongley i also thought it was interesting that you guys were discussing certain types of read-only/etc. widgets ... as we briefly discussed that in the web payments work for obtaining information like shipping addresses from third party sites
# xmpp-social [ajordan] I always thought it was a bummer WebIntents and projects like it didn't make it
# tantek dlongley that's basically how I conceptuallized webactions in the original blog post here: http://tantek.com/2011/220/b1/web-actions-a-new-building-block
# dlongley tantek: yup, i was just reading that before i popped in here -- and saw it was a good fit.
# dlongley there's a post mortem paul kinlan wrote somewhere on webintents and what failed
# xmpp-social [ajordan] tantek: I'm sure there were good reasons for it failing, for sure
# dlongley trying to do too much -- and not keeping use cases focused and the scope of what the feature could do limited was an issue
# xmpp-social [ajordan] All I'm saying is that it's a bummer
# Gargron protocol handler is not ideal but isn't that what gmail does too?
# xmpp-social [ajordan] tantek: ahh
# dlongley we're seeing essentially the same pattern used and required in both web payments and credentials now -- and we've created polyfills and demo code on the same underlying libraries
# dlongley that you guys (if you wanted) could experiment with if it seems like a good fit for some social features.
# xmpp-social [ajordan] I would be interested in reading that postmortem if anyone has a link
# xmpp-social [ajordan] tantek: hah, yes indeed
# xmpp-social [ajordan] In the meantime I gotta get ready to go to class :-)
# dlongley ajordan: https://paul.kinlan.me/what-happened-to-web-intents/
# xmpp-social [ajordan] dlongley: thanks!
# dlongley sure :)
# tantek ajordan, dlongley - I mentioned some of the issues around webintents etc in a sidebar on that post http://tantek.com/2011/220/b1/web-actions-a-new-building-block#aside-web-intents-introducers-activities
# Gargron when i submitted my PR there was a lot of bikeshedding exactly about this sorta thing
# Gargron use mastodon in protocol name vs "ostatus" or "social" or something, etc
# Gargron but it didn't lead anywhere, until there's a standard or draft it's anybody's guess
# Gargron sandro: ah no i am talking about a different discussion
# Gargron i rejected using a special domain mostly because of the hosting/privacy issues associated with having to run a service like that
# Gargron e.g. people say "wow cool mastodon doesnt load any 3rd party scripts/cookies"
# Gargron dont wanna remove that advantage
# Gargron yes but i can also see from the other way that it would be an optional centralized add-on
# Gargron anyway, if i may shift the topic a little bit
# Gargron does anyone have any brilliant ideas on what we can do with hashtags in activitypub to increase content discoverability - federation-wise
# Gargron hey i liked persona
# Gargron i was coding a skype alternative at the time
# Gargron using webrtc
# Gargron and wanted to use persona
# Gargron and then bam, it's discontinued
# Gargron sandro: yes!
# jaywink Gargron: in the Diaspora world, we have the relay system that allows any node in the network to publish content there and any node to subscribe - it's kind of an extra thing on top of normal federation. But what I really would love would be some kind of separate index servers which nodes could do lookups against, providing more content to discover. Two ideas :)
# puckipedia yeah. I'd say e.g. building a small server which stores the IDs of posts with specific hashtags, and servers can POST posts (with authentication), and you can get a few random posts by GETting another endpoint?
# puckipedia like, you don't even need to store the contents. just the tags
# Gargron knowing nothing technical about dhh, is this what dhh is for?
# Gargron and i do not mean the rails developer
# puckipedia jaywink: the idea is that you can refuse to have your post indexed
# puckipedia jaywink: and I feel like the server should be the last authority. like, it could refuse to publicly index posts from users for reasons
# Gargron oh dht, not dhh. my bad
# puckipedia would be interesting. sharing ActivityPub activities over DHT
# jaywink I used to be a bigger fan of the "push content to subscribers" (the relay system which I built for diaspora) but I think the search index server approach is more flexible and requires less pushing - though it would icause much slower stream rendering when looking up content since it would have to be fetched live
# Gargron i think i found the spec: http://www.bittorrent.org/beps/bep_0005.html
# Gargron haha, beps
# Gargron jaywink: this concerns me because mastodon is still built in such a way that it can only work with locally-stored content
# Gargron i can't just return somebody else's API response in my APIs, i have to like, process and store it
# Gargron yes but i mean to use dht or something like that, i would in the end have to download the posts linked by the index before returning them to the user
# Gargron idk how bad that would be for long-term storage growth
# tantek jaywink btw for registration of your site to handle webaction buttons, see: http://indieweb.org/indieconfig#Register_the_web_action_protocol (with example screenshots and video)
# jaywink but mobile browser support outside of firefox mobile seems limited? https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler
dmitriz joined the channel
# Gargron ok, i understood pretty much nothing from the DHT document i linked
# puckipedia Gargron: each node randomly generates an ID, in the same address space as the hashes. and basically, the 'closer' an ID to your node ID, the more routes you store to find a node
# puckipedia and if you want to find the information about a torrent, you ask the nodes which have an ID closest to the hash of the torrent, and if they know you get the info, if they don't they will tell you the nodes which are even closer to the hash of the torrent
# puckipedia I think that's about it
# Gargron puckipedia: do you have an idea how to get started with this? would every mastodon server be a DHT node? how does a fresh server know which nodes to connect to?
# puckipedia Gargron: every server would be a DHT node, and, I guess, a fresh server would have a few trusted nodes (e.g. mastodon.social) which can then be used to bootstrap the DHT
# tantek Gargron - I'm definitely interested in your opinion on webactions and if it's (e.g. <indie-action> markup and indieconfig polyfill) is something you'd be interested in adding to Mastodon, or adjusting Mastodon's existing web+mastodon support to work as web+action URLs compatible with indieconfig
# puckipedia Gargron: https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf this is the thing bittorrent dht is based on
# puckipedia jaywink: the idea is that the amount of storage for each node is very small
# puckipedia you'd e.g. hash the hashtag (hehehe), and then look up a node which knows posts for that hashtag
# Gargron hmm would that actually work tho. it's not just one node that owns the hashtag...
# puckipedia Gargron: I'd probably consider making the address space way smaller
# puckipedia probably a standard DHT doesn't work for this
# sandro My understanding/memory is a bit fuzzy, but I think each hashtag ends up mapped to a set of servers. Each of those servers is responsible for answering about which post-URLs are good for those hashtags. By having several of them, you prevent loss when one server goes away (others take its place) and you can detect and recover from a fraction of the nodes being malicious.
# puckipedia idea: just put all ActivityPub posts into the blockchain
KevinMarks_ joined the channel
# Gargron any thoughts on statuses/following/followers numbers? i could use totalItems numbers if i fetch the collections from AP, but they are kinda easily fakeable and would only update when i re-fetch them which i wouldn't want to do on every profile access..?
# puckipedia though, in mastodon it's also currently really easily fakable
# Gargron on your *own* server
# Gargron you cant fake the numbers on somebody else's server easily
# puckipedia hm. alternatively, make the collections fully readable
# Gargron well i'm not gonna page through 14,000 items either
# Gargron so...
# puckipedia Gargron: alternatively, it's easy enough to make a fake server which fakes 14000 followers
# puckipedia and I mean, it's more as a side test. like, servers can verify it, or trust it
# Gargron not "easy enough" imo
# dmitriz yeah, so basically one either trusts the server's own numbers, or has to set up independent "verification" services
# Gargron we could display the totalItems number and then "here's the number from our server which is definitely true" though i fear that's just adding confusion to the UX
# Gargron i guess no
# dmitriz well it depends
# puckipedia Gargron: "N followers (M from this server)"
# dmitriz for any sort of mainstream adoption, they are important. (in terms of, many people get book contracts / advertising deals etc, based on their number of followers)
# puckipedia Gargron: other question. if a server dies/stops working, should the follower count be decremented?
# dmitriz there should probably be some sort of grace period?
KevinMarks, KevinMarks_ and dmitriz joined the channel
KevinMarks joined the channel
# sknebel Would be interesting to have a model where you can prove that you caught a server lying, but that's a lot of effort
# dmitriz maybe the good old google "who links to whom" algorithm might prove useful for weighing?
# dmitriz (weighing spam nodes etc)
cdchapman and KevinMarks joined the channel
HDNAJERA, KevinMarks and KevinMarks_ joined the channel
# puckipedia looks at activitypub commit history. "an excellent unhistorying"
KevinMarks joined the channel
dmitriz and dmitriz1 joined the channel