Live data from Hacker News

Modern email can be built from borrowed parts

en.andros.dev

61–70 of 165 posts

Re: Modern email can be built from borrowed parts

#61
I would advise reconsidering keeping the current format exactly. Something that would allow conventional email addresses to kept in a list that disambiguates them unambiguously would probably be a good idea.

You don't want to embed the entire email in JSON. Too many parsers past, present, and future tend to want to decode the entire JSON document into memory before doing anything else, and so you'd be forcing entire email documents to be held in memory at scale, which causes you major problems. I'd recommend something more like either a JSON header that defines what parts are in the email, followed by a normal MIME document, which is perfectly normal in HTTP with other things that use the format as well, or having the top level continue to be a MIME document and specify that the first part must be a JSON document containing the headers. JSON replacing the headers is generally something that would be a good idea, though.

That improves the ability of more language environments to be able to handle the email as a stream or in chunks with "normal" libraries and practices. MIME parsers in languages that tend to favor pulling everything into RAM as a string are still more likely to have been forced to face this issue already.

Re: Modern email can be built from borrowed parts

#62
Here is another, not so new, idea:

Username is your public key, password is your private key. So we get end to end encryption and account ownership out of the box. Something similar to how .onion addresses work. Needing easy to remember addresses? Build aliases on top of that. Needing server-side automation? Handle trusted server your private key.

Also, almost everyone carry a 24/7 powered and Internet connected device in their pockets. The Internet - network that allows globally sending any data between devices. Maybe with full redesign third-party email servers should be made optional.

I believe we should focus less on how to redesign whole service and build more universal layers instead. First, vsending any data to any machine. Second, optionally remotely accessing our data. Third, mail-like format of data.

Re: Modern email can be built from borrowed parts

#63
post #61

I would advise reconsidering keeping the current format exactly. Something that would allow conventional email addresses to kept in a list that disambiguates them unambiguously would probably be a good idea. You don't want to embed the entire email in JSON. Too many parsers past, present, and future tend to want to decode the entire JSON document into memory before doing anything else, and so you'd be forcing entire…

> You don't want to embed the entire email in JSON. Too many parsers past, present, and future tend to want to decode the entire JSON document into memory before doing anything else, and so you'd be forcing entire email documents to be held in memory at scale

Why? Even if your system loads emails into memory a whole email at a time, that doesn't imply that it will load large numbers of emails simultaneously. The kind of processing that can be done by stream-processing large numbers of emails in parallel seems rather limited to me.

> I'd recommend something more like either a JSON header that defines what parts are in the email, followed by a normal MIME document, which is perfectly normal in HTTP with other things that use the format as well, or having the top level continue to be a MIME document and specify that the first part must be a JSON document containing the headers. JSON replacing the headers is generally something that would be a good idea, though.

If we're specifically talking about being able to short-circuit after headers, then why not a JSON header followed by JSON representation of the body?

Re: Modern email can be built from borrowed parts

#64
post #55

More people should be aware of their history. This text made the rounds in the late 1990s as spam was starting to become a problem. Everybody and their dog had their own “ultimate solution” to the spam problem, which they all thought was obviously the correct one, but all of them were more or less equally unworkable: https://craphound.com/spamsolutions.txt >

To be clear, "this text" refers to the link at the end, not to TFA, correct?

Re: Modern email can be built from borrowed parts

#65
post #51

Earlier quoted context omitted.

It's very annoying on mobile, covering half of the page all the time

When you scroll down, they should all disappear. Do you have JavaScript disabled? What browser and device are you using?

FWIW, I'm on desktop but I do have JS disabled (more precisely, I use NoScript).

This results in the top and left-side bars staying decorative and unobtrusive, but the concurrent visitor counter thingy is floating well above the bottom-right of the page. But then, as I shrink in the page width, the left-side bar and the concurrent visitor counter swap sides, and also a bunch of the content from the top is added to a new bar at the bottom. Eventually, the horizontal space between the side components becomes irrelevant such that they function as an additional bottom bar. At which point, maybe 40% of the vertical space is used for navigation and other shiny toys. This is really annoying, and the overall experience is inconsistent across widths.

(Also, at all widths, the top-bar has a transparent background, so main page text interferes with top-bar text as it scrolls.)

All of this is done in CSS, so presumably it can be fixed that way too.

Re: Modern email can be built from borrowed parts

#66
post #2

> First-contact consent: an unknown sender doesn't get into the mailbox; they land in a "requests" box with their first message visible (like Signal's message requests). You accept, and the thread opens forever. A stranger can knock on your door, which is the essential property of mail, but they can't fill up your living room. I like this. Question: can this e-mail specification/implementation also replace direct-mes…

The unknown request will be buried in spam - a problem we have already, but worse. And I do not want an infinite thread conversation. I want to be able to split off - and perhaps archive and export - different conversations by topic. I recently had to some legal things, which included forwarding copies of a certain conversation to a lawyer. This turns out to be unreasonably difficult because email clients quote previ…

> email clients quote previous conversations.

Surely only if you configure them that way. At least I can turn that off in my email client, Thunderbird.

Nina xx

Re: Modern email can be built from borrowed parts

#67

Content-addressed email breaks mailing lists, as those need to be able to add headers for subscribe/unsubscribe/list id, etc. There is a reason DKIM allows you to pick which headers to sign.

Do we need mailing lists at all?

I Linus Torvalds needs them. And that's a good enough reason for their existence as far as I'm concerned.

Re: Modern email can be built from borrowed parts

#69

I think the network effects make email hard to replace, virtually everyone online has an email address. If this could include a migration path, with backwards compatibility with SMTP, I think it would have a better shot of getting adoption. Modern email already depends on HTTP, with protocols like MTA-STS ( https://www.rfc-editor.org/info/rfc8461/ ) using HTTPS/TLS to improve transit encryption, or Web Key Directory…

There is an easy way to mostly replace email over a decade, with the NewEmail protocol NewEmailServers are able to send and receive messages using either the Email or the NewEmail protocol. Before sending a message, the NewEmailServer checks a directory (similar to DNS) to see if any of the recipients are on another NewEmailServer. If so, the message is sent to those recipients via NewEmail. Others get it by Email. C…

Basically what iOS messages does with SMS. I would note that this hasn't resulted in everyone using iOS messages as a communication protocol, but it does make users aware when it's not in use, with some inherent social pressure.

When dealing with any kind of network effect and existing user behavior, though, especially one as ingrained as email, I would highly recommend being judicious about using the word "just," given that these are mutually-reinforcing effects. Imagining a solution is a world away from implementing one.

Still, I think you're on the right track: create a new protocol on top of an old one, use the same input methods and user behaviors, call attention to when someone is not using it (e.g., green bubbles), and make it extremely easy for existing services to migrate to use it (i.e., the standard/standards body, notably NOT what Apple has done). One part that's missing here is some pressure to make this happen: positive pressure (economic, product sense, persuasion) or negative (economic, social, regulatory).

Re: Modern email can be built from borrowed parts

#70

Old version: * DNS lookup for MX record New version * DNS lookup for A record * HTTP request for .wellknown/htmp/known_hosts Not sure why this is being considered as an improvement? > each mailbox of a domain on a different provider Why is this useful/necessary or even 'good'?

Email currently uses an HTTP request to https://mta-sts./.well-known/mta-sts.txt, per RFC 8461. Depending on HTTPS/TLS instead of DNSSEC is one major reason you see this approach gaining popularity.
Post reply on HN