top | item 17408041

Why ActivityPub is the future

399 points| gargron | 7 years ago |blog.joinmastodon.org

180 comments

order
[+] remir|7 years ago|reply
Facebook, Instagram, WhatsApp, Twitter: they grew to what they are today because each of them had people behind the wheel with a product mentality. This mentality attracted the capital and talent necessary to create products that resonated with people.

Now, some would say that, these services had the goal to make money and that's why they attracted capital and could hire top talent, but it doesn't change the fact that they had to have a strong product mentality to get to where they are today.

Most decentralized software I see have a project mentality based on idealism, but idealism is not enough. That's why desktop Linux failed to capture significant market share even if it costs zero to Joe Average to install it: it stayed at the level of idealism, of a project, while proprietary platforms like Windows an OSX had serious money and talent behind them because they weren't just projects.

On the other hand, Firefox and the Linux kernel are good example of successful open source softwares with a strong product mentality. Mozilla had a vision and they realized they need a strong product to fulfill that vision, so they needed to be able to pay their developers well, meaning they had to generates money. Same thing with the Linux kernel, which is backed by a lot of big companies.

So I guess what I'm saying is; if ActivityPub is to be the future, then there should be more than idealism behind it.

[+] ixxie|7 years ago|reply
While I see your point about product mentality, and agree to a large extent, I am not sure it applies to ActivityPub. Its like saying email needed to be productized; it didn't, we just needed productized implementations of email servers and clients to get the network going.
[+] Brakenshire|7 years ago|reply
On the other hand, ActivityPub is a just a standard, it wouldn’t be meaningful to complain about the product mentality of HTTP or JSON. The people building the websites or applications that use ActivityPub are the ones who need the product mentality, and they could use any business model they like.
[+] nl|7 years ago|reply
Exactly this.

I did some work on PubSubHubbub based federated social networks back in the FriendFeed days. Technically it worked really well, and we had a few nodes sending posts between sites with only seconds of delay.

But no one wanted to use it.

After I while I worked out it failed for exactly the same reason FriendFeed (and Google Buzz) did: federation is actually a weakness when there is a major player.

FriendFeed gave up and took the FB money (smart). Google Buzz gave up and was replaced with the completely different (and non-federated) Google Plus (which failed for different reasons).

The only argument for it working this time is timing. I've come to appreciate timing based arguments a lot more over the last few years, so maybe there is an opportunity, but I'm sure not putting any effort into it.

[+] CM30|7 years ago|reply
This is a good point, though it's more something the products/services using ActivityPub need to consider rather than the procol makers themselves. Focus less on how neat the tech is and more on what people can use it for, with a clear purpose that your software fulfills in an easy to use way.

Too many 'hacker/techie focused' projects focus on grandiose visions and philosophical points at the expense of a real purpose.

[+] shellkr|7 years ago|reply
Don't agree. Mentality is important but it will not automatically lead to success. Look at how well Windows Phone did. Microsoft put everything they had to make that product but ultimately failed.

Both Mac and Windows is successful because retail. People do not want to troubleshoot issues themselves.. They also want something they know. Apple is good at marketing and Windows is something we all know. Linux has just a bunch of small shops and does not have the same brand recognition. It takes much longer for Linux desktop to reach that level of trust. Especially when Microsoft uses their considerable capital to lobby against Linux adoption. Linux adoption is continually rising though.. It is at about 3% right now.

ActivityPub is like the Linux kernel. It is the foundation that other software can use. It took a long time but eventually the idealism behind Linux made it work. It became an important infrastructure that saved money and thus an edge. ActivityPub have the same possibility. It could become the infrastructure of social media.

[+] aaron-lebo|7 years ago|reply
Yeah, after watching this dynamic repeatedly over various projects, I've come to the conclusion that federation is a feature, not the feature. Mastodon is not the first federated network by a long shot: StatusNet kicked this all off and is more or less dead, same with RStatus and a few others. Moreover, there's multiple ways you may want to federate a service: ActivityPub, Matrix, pump/tent (dead?), IRC, even, and you're probably better off tweaking your own protocol to fit your app versus trying to adapt your app to fit the protocol which can be hairy.

You've gotta build a really compelling service first and foremost (otherwise, why bother), and then add federation later. The danger of that is it's really tempting to just skip the federation part if you get big, but it's a critical part that shouldn't be forgotten, but only after you've got a great app people are using.

I'm watching Mastodon to see if this belief is wrong and it ends up taking off, but I think there's a real danger is designing for nerds and getting small time success and validation with nerds and geeks (this is not derogatory fellow nerds), because what we want is not what matters to most people and you risk biasing your community (the Google+ effect, though it happened there for different reasons).

The idealism has to be matched with hard pragmatism. Maybe one of these projects will do that.

[+] deltron3030|7 years ago|reply
The main selling point of these apps is a portable social graph for everybody, the Linux equivalent of that would be the ability of being able to understand the entire stack, and job security this brings with it. Open social networks could be similarly successful with normal people as Linux was with computer specialists. That's how I see it.
[+] cbsmith|7 years ago|reply
Mozilla was founded out of Netscape's product failure, and survived largely on the coattails of the search revolution.

Desktop Linux's failure is a matter of perspective, but there were more than a few products built around it... they just failed. It turns out, that was the wrong vision.

[+] cbsmith|7 years ago|reply
> So I guess what I'm saying is; if ActivityPub is to be the future, then there should be more than idealism behind it.

Like most standards, its success hinges on the success of products/projects/whatever that employ it.

[+] antpls|7 years ago|reply
You are comparing apples to oranges. Google, Facebook, WhatsApp are companies. Firefox and Linux Kernel are "software products". ActivityPub is an open proposition about a technical standard.
[+] rainbowmverse|7 years ago|reply
The real value of federation, and the value of a standard like ActivityPub, didn't fully click for me until I realized I could follow Blender's PeerTube experiment from my Mastodon account.

If enough sites start supporting it, you could get many of the benefits of RSS with the few benefits of massive silos like Twitter and Facebook.

[+] mgummelt|7 years ago|reply
I think you've hit on the actual end user benefit - aggregation.

The article is either pitching abstractions like "compatibility" or solutions to non-problems like the risk that Facebook might vanish.

Though I'm not convinced aggregation is a big problem.

[+] jesse_m|7 years ago|reply
How do you subscribe from mastodon? I see the video.blender.org is their instance right?
[+] mtgx|7 years ago|reply
Anti-censorship has always been the #1 benefit of federation and peer-to-peer connectivity. I don't think any other benefits come even close, and they are usually overshadowed by how much more difficult it is to build a well-working federated or P2P network.

But when you start having global monopolies in various industries that don't care about automatically banning the "little guy" from which they make little money to begin with and when you have governments that are increasingly more interested in let's say "curating" the internet, then that anti-censorship benefit starts to become a lot more appealing to a lot more people.

It's why I'm glad Firefox is not only finally a decent competitor to Chrome but also starting to adopt all sort of anti-censorship protocols and technologies, too (and hopefully there are more to come).

[+] edhelas|7 years ago|reply
ActivityPub is built by the W3C and therefore relies on Web related technologies (lost of HTTP and JSON exchanged) :)

Does this scale properly and how does it compare to existing solutions like XMPP Pubsub (https://xmpp.org/extensions/xep-0060.html) that is basically built to deliver content, in real-time (trough TCP sockets) and can handle thousands (millions?) of delivered packets per seconds?

I'm building a federated social platform that is fully relying on XMPP (Movim https://movim.eu) and I'm wondering about the limits and different usages of this fresh new protocol.

[+] xj9|7 years ago|reply
the AP spec is actually, a bit more abstract that you would expect. JSON and JSON-LD are required, but transport and actor resolution are not well specified.

current-gen AP servers do have an implicit dependency on HTTP and DNS. i've spoken with several people about creating a proof-of-concept AP server that supports gossip-based replication and a few other ssb-inspired features.

[+] dnomad|7 years ago|reply
I suspect XMPP is superior to ActivityPub and the way to go. Bandwidth is only increasing with 5G and with binary XML [1] I think you'll (one day, in theory) be able to get large scale, efficient real-time message flows. XML is just more extensible than JSON soup. These architectures are also probably flawed for pushing for complete N-to-N connectivity. It makes far more sense to push for mobile data that can be liberated from any one server than to assume any given data will always be available and will always provide a given chunk of data. This allows aggregation and caching and copy-resilience which is what makes the web actually work.

[1] https://xmpp.org/extensions/xep-0322.html

[+] TekMol|7 years ago|reply

    You can be certain that regardless what happens
    with Mastodon, the network will live on and
    flourish. Newer and better software will be born
    within this ecosystem, but you will never have to
    drag all your friends and followers someplace
    else again–they’ll already be where they need to
    be.
What is a 'friend' here? A follower?

If mastodon.social is shut down tomorrow, a user - say [email protected] - would lose all his followers, no?

First of all the followers that were on mastodon.social too - their data is gone just like Joes data.

And the ones not on mastodon.social - yes, they would still exist. But Joe would have to make a new account somewhere else and ask each and every one to follow him again. And he would have no proof that he is the same joe that they knew under the account [email protected].

Or am I missing something? Is there some public key that is Joes real identity and only he knows the private key?

[+] type0|7 years ago|reply
> And the ones not on mastodon.social - yes, they would still exist. But Joe would have to make a new account somewhere else and ask each and every one to follow him again.

But it's the same with gmail and everything else like that, I don't see it being a problem of ActivityPub or Mastodon. There's keybase or having your own domain with some index.html where you can direct your followers to a new account is not that big of a deal nowdays. If having to host it somewhere is too much for you - use dot tel tld (https://en.wikipedia.org/wiki/.tel). People that really want to read your ramblings will find you anyway.

[+] QualityReboot|7 years ago|reply
Could I have me@mydomain be accepted by mastodon.social somehow? Similar to how I point my MX records to Gmail?
[+] badrabbit|7 years ago|reply
Let me just say this - both mastodon and activitypub are terrible names. I say that as a consumer not as an expert on anything. It's not a dealbreaker for me but platform popularity by the masses depends on color schemes and catchy names. I feel the same way about duckduckgo.

Great products though.

[+] egypturnash|7 years ago|reply
Twitter’s a pretty stupid name too. So’s Facebook. You get used to them after a while.
[+] munificent|7 years ago|reply
"World wide web", "email, "Internet", and "HTTP" are pretty bad names too.
[+] daveid|7 years ago|reply
What would be a better name?
[+] xez|7 years ago|reply
>If Twitter shuts down, you’ll lose your followers. If Facebook shuts down, you’ll lose your friends. For some platforms, it’s not a question of “if”, but “when”.

Wouldn't this happen as well if the instance my account was created in shuts down?

[+] jordigh|7 years ago|reply
It would and it has. In Mastodon-speak, this is called an "extinction event", and I have seen a few of those. Mastodon, however, has already implemented take-out feature where you can download all of your data at any time, including your friend list. It's not perfect, because although you can keep your followee list, your followers don't have an automatic way of knowing where your new presence may have moved to.

Also, the stuff that has already been tooted lives on in the fediverse in other servers, so it's not like the toots also disappear from other servers after an extinction event, just like an email server going down doesn't delete the email from everyone else's inbox.

[+] aqsalose|7 years ago|reply
>If Twitter shuts down, you’ll lose your followers.

Maybe my way of using Twitter is particularly weird, but I'd be more disappointed if I'd lose the thematic lists of interesting Twitter accounts that I have collected over several years at this point than if I'd lose my followers.

The above is also the main reason my pasts attempts to switch from Twitter to Mastodon have failed. There's quite much people and content in the Fediverse now, but still not enough that matches my particular combination of interests.

[+] daveid|7 years ago|reply
Then your account is gone, but your friends on other servers are still where they were. With backup/import tools you can reconnect with them from a new account easily.
[+] rainbowmverse|7 years ago|reply
It's always a risk. However, I'll take my chances on something that's already paying for itself (the instances I use) over something that's going to collapse the moment easy capital dries up in the next market crash.

That said, it's wise to maintain a backup account on a different instance. Right now one of my instances is down for unknown reasons, but almost everyone who follows me there also follows my other account.

[+] wmf|7 years ago|reply
IMO the solution to this is one instance, one domain, and one IP per person with some kind of financial sustainability (i.e. you pay for it) but it's very difficult for people to swallow.
[+] dredmorbius|7 years ago|reply
Yes, though:

1. You can readily extract your information.

2. And re-import it elsewhere.

3. You can run your own instance.

(I've had a couple instances die and / or fade on me, which is why I maintain a few presences.)

[+] froasty|7 years ago|reply
Mastodon and other federated platforms are to social media what suburbia historically has been to cities.

People think it'll resolve or at least mitigate the issues of digital privacy, digital harassment, and digital overpopulation, but in reality will just create ever more wasteful and unaccountable digital sprawl while inevitably recreating the exact same problems (e.g. HOA discrimination, nosey neighbors, hiding all non-conforming traits lest your cohabitants judge you, etc).

[+] yausername|7 years ago|reply
My buzzword antibodies have been circling "federation" for quite a while, but the email analogy in this article has made me reconsider.

Ever since quitting social networks I've been looking for a way to push content to close friends and I really had to fall all the way down to email before anything worked. So I'm hopeful for some slightly more tailored technologies to step in.

[+] rayalez|7 years ago|reply
Unfortunately, at the moment it's impossible to rename/move your account to a different domain, and if your mastodon instance is shut down(which, let's face it, is likelier to happen than twitter shutdown), you still lose your followers.

You can host your own instance, of course, but that requires time/money for maintenance, and not everyone will do this.

[+] jancsika|7 years ago|reply
I get it from a developer standpoint, but I don't get it at all from a user standpoint.

For example:

joinmastodon.org gives me two dropdown boxes at the bottom of their frontpage. One asks what my interest is, the other asks what language I speak. Then it ajaxes in some links to different instances which (I suppose) are geared toward the interest I chose.

Does this mean that for each interest I must sign up on a different instance, controlled by a different entity with their own terms of service?

Edit: clarification

[+] skybrian|7 years ago|reply
Okay, it sounds plausible that it could be a good thing. But it seems that everything good on the Internet eventually gets weaponized by the bad guys, and these days it seems to happen faster than ever.

So maybe we should talk about the downsides of ActivityPub?

[+] fiatjaf|7 years ago|reply
Who's going to host thousands of petabytes of videos on behalf of others if not YouTube or a similar service?
[+] Mediterraneo10|7 years ago|reply
As anyone involved on the major torrent communities knows, at least some people are willing to share the great artistic achievements of mankind, worthwhile documentary material, etc. You will usually find seeders for the great canon of films, ebooks, all manner of musical genres, etc. So, I assume that for videos that really matter to some loyal audience, at least some people will set aside storage space for that.

However, most of Google’s petabytes of video are inane "cat videos", people’s personal uploads that only ever attract one or two of their friends to look, or shills, and would it really be such a shame if their content couldn’t be hosted somewhere?

[+] CM30|7 years ago|reply
Communities would host the stuff that's valuable to them. That's a lot more manageable than trying to host everything on YouTube, and would just lead to instances dedicated to various topics (games, TV, music, sports, etc). With federation, it won't matter that these videos are all hosted across dozens or hundreds/thousands of instances.
[+] rakoo|7 years ago|reply
Much like email, if ActivityPub becomes prevalent one day, there will be 2-3 main players hosting 80% of the traffic, and then the small independent players on the side. So Youtube will be a ActivityPub-compliant platform.
[+] k__|7 years ago|reply
In Germany we have rather socialism like structures like the "eingetranger Verein/eV" (membership association) or the "eingetragene Genossenschaft/eG" (incorporated cooperative)

These are made for things like that.

The idea with a eG is, the owners are also the customers. For example, if there is need of appartments, people found a eG to pool the money to build multi-appartment houses where they self live in later.

Since the customers are also the "stock owners" they elect the board.

I think this fits perfectly for these federated social networks.

[+] rayalez|7 years ago|reply
Does anyone know if there are some good ActivityPub implementations in Node?
[+] est|7 years ago|reply
activitypub needs some kind of a badge/logo for recognition. Like the RSS button.
[+] deklerk|7 years ago|reply
Was it necessary to change the title of this post a half dozen times?