17 ms·
ActivityPub, the secret weapon of the Fediverse
- deltas 7y agothe rating system could be circular (by lack of beter name) users would up and down vote things they like or not. value is them extracted from contradiction(!) if user A liked content X while B does not and user B liked Y we assume A does not like Y. with lots of fine gradients like that I assume the high noise will eventually be drowned out by the signal.
- agumonkey 7y agoI had this epiphany the other day, any distributed application was actually a messenging system. (I can hear Alan Kay scream afar). Wasn't there a project like this ? a guy making some whatsapp revolution turning it into a generic app platform ? I forgot.
- rglullis 7y agoYou are probably thinking of Movim, which is a social network built on top of XMPP.
- agumonkey 7y agoit was something with a simple name like nextapp
- wizzwizz4 7y agoNextCloud?
- twoodfin 7y agoapp.net
- agumonkey 7y agomost probably, I dismissed it because it sounded too Microsofty :)
- rglullis 7y agoApp.net has been dead for years already, are you sure that is the one?
- agumonkey 7y agoNot entirely but so far that's the best match. Also I didn't mean something current, just that this dude pivoted a message exchange app into a generic application platform, which is what activitypub feels like (and good ol' message passing distributed programming too)
- lowdose 7y agoWhy isn't Twitter using and backing ActivityPub? It sounds pretty much what Facebook has done with login with Facebook for developers. Except that the network effects aren't controlled by 1 commercial company but is an open source effort.
- manigandham 7y agoWhat does Twitter stand to gain from it? They’re also notorious for disabling 3rd party integrations and seem to prefer a strong walled garden.
- lowdose 7y agoExactly for their notorious reputation. A lot of developers are going to change their mind about Twitter. To survive Twitter needs to innovate and become more open.
- jsilence 7y agoThe fact that Twitter has never made any profit and lacks a viable business model and yet is backed by "rich dudes" makes me assume that it is this vitriol inducing hate speech factory on purpose. There is no sane discourse possible on this platform and that is for a reason and not by accident. Thus I would rather see Twitter die or fade away than see it succeed.
- robobro 7y agoPleroma guy here. Look into pleroma! It's very lite weight, coded in elixir, and full of excellent hackers
- animesh 7y agoI have only known about activitypub for a few years but never ventured into learning about it. If I wanted to contribute eventually how and where should I start? Thanks.
- wizzwizz4 7y agoMake a library for the protocol for your favourite programming language, if one doesn't already exist. (For instance, Rust needs one. There are efforts towards that already, but they're not brilliant.) If there are existing projects, pick the one you think is nicest. If you don't think any are nice enough, make your own. Expect lots of complaining and criticism; that means you've helped enough people that they've started taking your work for granted.
- animesh 7y agoThanks for the meaningful reply. That is proper advice and I will look into this in the coming future. Cheers.
- KingFelix 7y agoPleroma is pretty great. I was able to spin up a few digital ocean servers and built one up on a raspberry pi. Pretty easy, also used a lot of options testing and playing around. yunohost.org was pretty great to use as a tester to install and play around with all sorts of stuff, Mastadon etc.
- softwarelimits 7y agoHi, you are using the right stack for this kind of project, very promising! I have only two questions I could not answer myself by reading the docs, it would be great if you would like to answer these: A) Groups: for many use cases of "social softwares" groups are a very basic requirement - I can not see any way to have a group inside an instance or a way to simulate groups by using Pleroma in a multi-tenant way, like one Pleroma instance for each group served from the same code installation (ecto has a db prefix feature, maybe this could help with a quick path for a "multi-tenancy-as-groups" feature?). Am I missing something or are groups simply not there yet? B) EU data protection: would you say that Pleroma is safe for (naive) users to install in the sense of EU conformity or is it a risk currently for a single person to offer a Pleroma instance in EU? I could not find any information about this very important topic - what again made me wonder if developers are realizing the importance of this issue at all? Would be very interesting to read your ideas about these issues! BTW the docs at https://docs.pleroma.social/readme.html https://docs.pleroma.social/readme.html would be more readable if the sidebar could be adjusted to the width of the containing text - HTML + CSS allows that, it should be used! Also having "Top" - a navigation directive - listed as an actual chapter name seems a little strange.
- sneak 7y ago> ActivityPub prevents that a social media platform becomes a silo (see photo) that can’t communicate with other platforms. I wish that were true. In practice, server admins are more than happy to block federation with entire other domains (and all associated users, hundreds or thousands at a time) based on little more than gossip and rumor. Imagine if email services worked this way! “subscriber@otherhost is rumored to be slightly politically oriented in a way we don’t like, so we as admins have prevented everyone@thishost from mailing everyone@otherhost, and vice versa”. https://github.com/tootsuite/mastodon/issues/12600 https://github.com/tootsuite/mastodon/issues/12600 “the internet treats censorship like damage and something something” I’m glad that, in practice, you can still email people who are destination-server-adjacent to users your local mailserver admin hates. (Of course, mailservers can configure to drop mail from specified MXes too—but they don’t. Usually they get spam-foldered.) PS: I’m on the fediverse at @sneak@sneak.berlin and would love more people to follow.
- tlamponi 7y ago> In practice, server admins are more than happy to block federation with entire other domains (and all associated users, hundreds or thousands at a time) based on little more than gossip and rumor. If that is easily possible this is doomed from the start, IMO. You get into situations where you are at the mercy of a single person. The linked issue's closing comment is even more backward. The issue opener did not asked for talking to people which do not want talk to him. Blocking between users is one thing, and can be good to have. Their issue was that the whole federate instance doesn't peers with him, out of theirs or the federated instance in questions people choice or support. Peering needs to be done unconditionally, even over edges, IMO. Blocking needs to be in the sole control of the user, not the admin of a federation server. All else doesn't makes this better than Facebook, or any other single server instance without federation.
- rglullis 7y agoAgreed on all points, except that with Mastodon is always possible to create a single-user instance where (a) you are in control of the blocklists and (b) admins of other instances will be less likely to block you.
- sschueller 7y agoAlso see PeerTube which is an attempt to provide a federated youtube based on activitypub. What I like about peertube vs others is that the primary development focus is on video and not monetisation althought there is a plugin system which would allow something in the future. Full disclosure. I am the dev of Thorium an android PeerTube client. If anyone wants to help with development please let me know
- mathnmusic 7y agoAnother example of ActivityPub is learnawesome.org (which intends to be an equivalent of GoodReads but for all media formats, not just books). I recently implemented ActivityPub support in their webapp, so it's now possible to subscribe to a LearnAwesome user's book/course reviews and get that feed in Mastodon or any other ActivityPub client. The ActivityPub standard is straight forward and was quite fun to implement actually. Here is the issue in case someone is curious how to do it in a Rails app: https://github.com/learn-awesome/learn/issues/121 https://github.com/learn-awesome/learn/issues/121
- Semaphor 7y agoI’m confused how a site about learning resources is supposed to be like GoodReads, a site about books.
- mathnmusic 7y agoYou can search for things, browse their reviews, add things to your collections, add reviews, follow people interested in the same topics, subscribe to topics to make a personalized dashboard - just like GoodReads. But you can do it for all kind of media like podcasts, courses, blogs, livestreams etc.
- Semaphor 7y agoSo it supports some features of goodreads in a completely different area. Seems like a strange comparison.
- zelly 7y agoThe entire model is flawed. You don't want federation (small tribes). That's not why people use FB, IG, Twitter. They use it because that's where the people are--network effects. The only reason I'm posting here is because this is where your message can reach people. Federation means you will never ever get network effects. Dead on arrival. It's possible to have decentralization with network effects. Just have one canonical network. Tor and Bitcoin are good examples. Downside (or upside?) is that you can't have moderation or else whoever does the moderation becomes the new jack and it's not decentralized anymore.
- mathnmusic 7y agoWhy do people use email then? Network effects can be achieved with or without federation. They aren't mutually exclusive.
- zelly 7y agoEmail is federated at a lower layer. At the UX layer, it is not federated. Fully qualified email addresses are like usernames. If you ask a random email user, they would think it works like this. If you ask a random Mastodon user, they know that they have to join a relatively isolated silo. Also most uses of email are peer-to-peer. In the case of two people emailing each other, the number of peers is 2. This is not directly comparable to public social networks. Email was once the main way social networking was done via mailing lists. This was kind of federated, because you had to ask the listserv to add you to the list. The federated aspects of email are what caused it to die and get replaced by forums which in turn got replaced by Reddit and Twitter. (Notice the trend? Mailing lists -> forums -> Reddit. From federated to centralized. Network effects.)
- lokedhs 7y agoThe Fediverse is federated on exactly the same layer as email. You have a username of the form user@domain,this is the same in both Mastodon and email. You can send messages to anyone regardless of the instance they're on. This is also exactly the same on both Mastodon and email. Precisely how are these different in any relevant way?
- kodablah 7y agoQuestion concerning a potential impl I'm pondering: Are there any realtime/streaming approaches with ActivityPub? Can a chat application be reasonably implemented on it today or is the inbox/outbox federation concept too limiting? Are there any examples of such services out there and how reusable/generic are their approaches?
- nightpool 7y agoPleroma worked on a real time chat implementation for a while, but iirc they went back and forth on whether to use ActivityPub for it and never ended up building anything. IMO, it would require a few extensions on the client to server side, but the server to server side is already flexible enough for you to build a pretty good chat. as far as streaming more generally, mastodon has had real time streaming for all of its main views since day 1, so it's definitely doable. using mastodon actually feels more real-time, in my experience, then using Twitter—its more directly comparable to seeing new posts and notifications come in on Tweetdeck. The latency between two different mastodon servers is generally a second or two, which is plenty good for microblogging. Obviously more steaming focused impls could do much better.
- vertex-four 7y agoIn the next version of my ActivityPub system which integrates chat, I'm using XMPP, with a reference to the user's XMPP JID from the user's ActivityPub actor. The upside is that everyone can use standard XMPP clients like Dino or Gajim to chat. As I'm doing video streaming over HLS, they can also use VLC or similar to watch videos - the rest of it is then just standard ActivityPub. The web application is built on Converse.JS and Video.JS.
- BlueTemplar 7y agoHmm, doesn't HLS have built-in DRM ?
- vertex-four 7y agoNope. HLS is an open standard without DRM - it's basically just an extended playlist of MPEG Transport Stream files, which the client repeatedly requests to find the next part of the stream. These can be generated with e.g. gstreamer; at the moment I'm using nginx-rtmp-module to generate them but intend to replace that with a more flexible/tailored option. It can be used to transport streams with DRM, though, but there's nothing special about that - it'll transport anything that goes in a MPEG Transport Stream.
- sevencolors 7y agoHow does this deal with spam? Feels like it would be very easy to create bots on all sorts of nodes in this "fediverse" that start spamming folks with garbage I've been curious for a while and have tried Mastodon, but am always left with... ok, now what?
- Vinnl 7y agoMost instances are relatively small and have a couple of dedicated moderators. They seem to deal with it fine, for all I've seen.
- unionpivo 7y agolots of small instances. If you only have few dozen to few hundred users (think a few families, or maybe a small to medium corp) it not that hard to moderate. Hell even few thousand is manageable. Plus if one instance is constant problem you can just block it.
- Matumio 7y agoI hope someone has a better answer. Remember all those small forums, wikis, and wordpress blogs with open comments? Some admins spent hours manually reverting automated linkspam. Others didn't. The solution was to pay centralized services like google's recaptcha or disqus with the user's data. Mastodon is looking okay so far. But I don't think spammers are seriously targeting it yet.
- unionpivo 7y agoI mean that is the whole point of federated services. If we just end up replacing one big silo with another (even if its OS at start), we haven't done much.
- pferde 7y ago"Would be"? There are already way too many bots on Mastodon, many of them do unpaid advertising for commercial news outlets (reposting their RSS feeds). I guess people who run them think they're doing "fediverse" a favour, but they're only getting more eyeballs and ad views for those outlets. The solution is liberal and frequent use of blocking, but it's a solution that does not scale well.
- bitxbit 7y agoI like the idea of federated network but I’d rather see a virtual implementation.
- orthecreedence 7y agoWhat do you mean by virtual?
- sandov 7y agoI had a mastodon.social account but deleted it after the admin power tripped and started to ban instances he didn't like.
- andypants 7y agoThe great thing about the fediverse is if you still want to use mastodon, you can find a better instance that suits your needs, or run your own instance.
- olah_1 7y ago> you can find a better instance that suits your needs, or run your own instance I understand that this is the concept, but in practice, it's a laughable recommendation. Accounts aren't portable and running your own instance is an insurmountable task for most and the cost of it is not nearly worth it.
- tsukurimashou 7y agoyou can export all of your account data, and you can host mastrodon on a raspberry pie, what are you talking about
- detaro 7y agoBut you can't yet import that data in your new instance and have it seamlessly continue to work from there, because your identifier obviously changed.
- deleted 7y ago[deleted]
- tangent128 7y agoMoving accounts is supported; your old account posts a machine-readable "moved to x@y" message, which tells your followers to automatically switch to the new location. https://docs.joinmastodon.org/user/moving/ https://docs.joinmastodon.org/user/moving/
- k__ 7y agoI think the truth lies between federated and p2p. Personal or at least very small instances only. Would be cool if we could get something like remoteStorage going, but with a one-click-way of getting your personal instance up and running and also a simple way to transfer that from provider to provider.
- anderspitman 7y agoIs remoteStorage still going? Seemed pretty dead when I evaluated it a few weeks ago, which is really unfortunate. Seems like a decent protocol.
- foxx-boxx 7y agoAt best, it’s going to be Ubuntu in Windows world. Irrelevant.
- yogthos 7y agoI really think that open source federated services are the future. There are now a bunch of these services all using the same protocol called ActivityPub. PeetTube is a YouTube alternative, PixelFed replaces instagram, Lemmy is an alternative to Reddit, and Plume is like medium. There are a few other projects as well. All of these services are able to talk to each other and allow users to share data across them creating one large federated platform. Meanwhile, traditional commercial platforms like Fb, Twitter, and Youtube have zero incentive to allow users to move data between them. Another important aspect of the Fediverse is that it's much harder to censor and manipulate than centralized networks. There is no single company deciding what content can go on the network, and servers are hosted by regular people across many different countries. A federated network that's developed in the open and largely hosted non-profit is the way internet was intended to work in the first place before it was hijacked by corporations. I'm very glad to see that decentralized networks are finally starting to get popular again.
- loceng 7y agoI agree it's the future - however their positives - the net benefit - has challenges that must be designed for as well. It will have to unfold that you decide what trusted federated network you follow - whereby access, the freedom to that decision (or not) will act as a canary for when democracy and freedom is more or less at odds with tyranny; control of systems of information as a mechanism, or symptom of fear by not having access to what everyone says (good and potential bad actors) will be a forcing mechanism toward people developing real trust - our own ability to trust, to be healthy, open minded and open hearted enough, that we naturally organize into trusted-social hierarchies - a chain of command. The line between tyrannical and democratic behaviour of a suppressed or free state is quite clear and obvious once you're paying attention and know where to look (when you have the ability to see what's going on, which of course is difficult when there are physical systems of censorship and suppression).
- stevenicr 7y ago'has challenges that must be designed for as well.' one of the challenges I been thinking about for some time, and spoken with a few.. choosing your filters. At the moment, I am thinking it could be a set of 'bouncer-bots'; maybe these are built into browser extensions? A federated list of bouncer bots where people can describe, vote, add notes, fork.. so that people on the 'other side' of whatever.. can detail why they think 'sam's no sex in the fediverse bot' is too strict, or not strict enough.. I think choice not only in servers to follow (which may be made behind the scenes without in-your-face-knowledge to the newer users.. should become more choice of groups of bouncer bots to filter or not filter. A concern pops into mind, that his works okay so long as people are honest about groups they are in, like 100 people downvote this fakenews filter but they identify as XX'.. and that may be good at first.. but what stops a fourchn group from coming in and storming the votes with 200 people vote Y as fakenews and they identify as YY's.. so filter options for opinions on the bots and comments that are voted up by people who self identify as ZZ and have identity verified by phone number? or twitter or signal.. and checkboxes to include only poeople like that, and to remove vote counts and comments by people have been flagged as trolls, or only people flagged as trolls that have been flagged by accounts that were verified by phone.. etc.. Then how to handle those who would try to game that.. but I think after time there will be some pretty popular and solid block-lists and people will have more options for choosing their syphon filters which some may block entire sites, some may block just articles by author FG but not whole site.. heck I'd like some that added a line across the top with extra info, like your bouncers block 10% of this portal due to reasons, and 1,000 have said this portal hides facts about LGB or whatever.. random thoughts, need more thinking.
- newnewpdro 7y agoCan anyone recommend a good and current guide on setting up and maintaining your own mastodon instance?
- progval 7y agoThe official docs at https://docs.joinmastodon.org/ https://docs.joinmastodon.org/ should do
- newnewpdro 7y agoIt appears "Installing from source" is the only option? Are there no distributions packaging mastodon and its dependencies such that I don't need to have gcc/build-essential and piles of -dev packages installed to run it?
- progval 7y agoMastodon has hundreds of Nodejs and Ruby dependencies, so it would be a huge amount of work for distributions to package it. See https://github.com/tootsuite/mastodon/issues/3576 https://github.com/tootsuite/mastodon/issues/3576 FreeBSD's ports used to have Mastodon, but they gave up because it kept breaking https://www.freshports.org/net-im/mastodon/ https://www.freshports.org/net-im/mastodon/ You can however run Mastodon with docker, many people use the official docker-compose.yml config.
- newnewpdro 7y agoYikes, do you know of any activitypub-compatible implementations actually packaged by distros? gnu social perhaps? diaspora? I checked out Pleroma after seeing it mentioned on that freshports mastodon page, which seemed a bit less onerous with just the OTP component but they don't distribute an i686 build, that's unfortunately what the dusty old colo I'm looking to run this on has.
- progval 7y ago
- erights 7y agoActivityPub is important. We need it to be more widely appreciated. I'm glad to see it on Hacker News. Chris Webber, one of ActivityPub's creators, suggests next steps in "OcapPub: Towards networks of consent" https://gitlab.com/spritely/ocappub/blob/master/README.org https://gitlab.com/spritely/ocappub/blob/master/README.org Chris and I gave keynotes at ActivityPub 2019: "ActivityPub: past, present, future" by Chris https://www.youtube.com/watch?v=Tgq0lqZ1Mvw https://www.youtube.com/watch?v=Tgq0lqZ1Mvw "Architectures of Open Robustness" by me https://www.youtube.com/watch?v=NAfjEnu6R2g&list=PLzDw4TTug5O0ywHrOz4VevVTYr6Kj_KtW https://www.youtube.com/watch?v=NAfjEnu6R2g&list=PLzDw4TTug5...