Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Oh, it's very easy, really, but getting people to accept what it will take won't be.

Don't make a federated protocol. Basically every issue with email can be traced to it being federated.



That’s where its power comes in. We already have centralized communication systems.


and they are almost more powerful than email. Look how widely Discord is used, compared to email. Email might have more sites, but outside of corporate reminders, more communication happens on Discord.


A quick google seems to suggest around 350 BILLION emails are sent PER DAY. The statistics I could find show discord has between 0.8 and 4B messages/day, and those will be far shorter in content than an email. It’s two orders of magnitude behind.

Yes a good amount are spam, marketing, scams, etc. But that just comes with the fact that the platform is free and open.

Very strange to me to make such a barrier with corp communication. That’s communication too, and most of these corps now have things like Slack aka Discord anyway.


I can't register an account at discord, negate I'm behind CGNAT and someone else in the region was banned by discord.


I can't register an account at gmail, for the same reason. Not without providing a phone number that hasn't been used yet.


And yet, you could try to register with:

Yahoo Mail

Hotmail

Protonmail

Fastmail

AOL

Etc.

Meanwhile, if you can't use discord, then You're locked out of all of discord forever. And discord is like the 10th Gen of "hot new chat apps", what do we do when it starts to die (because Discord will probably start dieing in the next 10 years)? Just lose everything in all those discord groups, like we lost ICQ and MSN messenger and AIM and Skype?


And if Discord decides to ban you due to some kind of automatic flagging, you're suddenly unable to communicate with everyone who insists on using it as their sole means of communication.


No different from Gmail.


It's drastically different from Gmail. If Gmail bans you, you can go and get a different email address (and if you're not naive, you already have your own domain name for email even if you use Google for it). And you would be able to send messages from that different address, even to Gmail users; and they would be able to send messages to you.


and Discord can decide to make you pay for it whenever they want in one way or another. like every other proprietary service out there.


The problem isn't the federated nature, it's the combination of:

- loose standardization, and lack of proper versioning

- Postel's law, which is a recioe for disaster

Takeaway if you want to design a federated protocol use a “the server chose violence” approach and reject any messages that is not perfectly compliant with the expected input for the given version (which must be part of the protocol itself).


Basically every issue with purported email alternatives that various parties are trying to shove onto me (usually companies I need to communicate with for work or customer support purposes) is a direct result of them being non-federated, or that purported solution being SMS.


Email is not federated

It is decentralized


Email is absolutely federated.

"A federated protocol is a protocol (defined next) that makes it possible for servers to communicate with each other, regardless of who is running those servers."

Federated is not a synonym for Mastodon instance.


Federation implies delegation from a central authority, which makes Mastodon and ActivityPub more “confederated” than anything. Inasmuch that MX records stem from the root servers, email is federated that way, but otherwise it’s decentralized, with every MTA being its own authority. The line is fuzzy.


Words in natural languages develop different meanings. The most common term for a protocol resembling a political confederation is federated.


"possible for servers to communicate with each other, regardless of who is running those servers."

Wouldn't that definition include almost everything on the internet?


I think it's important to distinguish between application layer and lower layers of the stack here. For the lower layers (firmware updates for protocol changes notwithstanding) it is basically all federated, as you say. But at the application layer there are protocols that you can participate in just by knowing the protocol, and others which require knowing a secret or getting included in trusted peers or otherwise filtered to effectively make them proprietary and not federated.


No?

For a start, it wouldn't include virtually every online game, or any protocol that enforces user sign in, like Discord or MS Teams.


HTTP is a protocol that allow servers to communicate with each other, regardless of who is running those servers.


No. HTTP is Client/Server, not Server/Server.


My servers beg to differ.


If your servers are making HTTP requests, then they are clients in the context of those requests.


So send a request in the opposite direction.

Now both are servers, and they're communicating with servers. Server to server communication on http.

(What would "server/server" even mean if you're making that distinction? Two communicating parties that only receive data, never sending it?)


Something like database replication where they’re equal peers.

Or an IRC network (the server to server parts of it).


In whuch sense? Like my backend and my db communicate together, but they're both run by me, so arguably they don't correspond to that sentence




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: