Hacker News new | ask | show | jobs
by BeetleB 4 days ago
I don't want to replicate email. I want to fix it.

Sending email should not be free. It should be really, really cheap to send an email to one person (like a fraction of a fraction of a cent), but get exponentially more expensive the more you send.

People shouldn't be able to send emails to you without your prior approval (which you can revoke at an instant).

The recipient should be able to charge a tack-on fee for having email sent to him. I should be able to charge annoying people a lot to send to me, and charge my friends almost nothing. People who send annoying stuff to me should pay more to get my attention.

All of a sudden, forwarding that stupid article without thinking about the content (or even reading the article they're sending) will be second guessed. Save the money (and time), by sending only worthwhile stuff that you penned.

5 comments

> People shouldn't be able to send emails to you without your prior approval (which you can revoke at an instant).

this sounds terrible... i've gotten so many useful random emails from strangers over the years.

Depends how it's designed. I've been doing something similar for almost a decade. If I get an email from a non-whitelisted person, they get an auto reply asking them to go through a simple hoop. Once they do that, the email lands in my inbox.

Yes, many people go through that hoop!

I can still see their emails if they don't. They site in a Quarantine folder. I used to look at it frequently to catch the occasional straggler, but I rarely do that now. I've set up an LLM to go through all my quarantined emails in the last N days, and send me an email on which of the quarantined emails probably should be viewed.

I'm OK missing out on a (very rare) good email if it means I don't have to deal with crap mass mails. And let me tell you: Life is great when you don't deal with mass mails.

ah, quarantine makes sense

i handle the overload a different way... i age everything out of my inbox one day at a time, each gets a label showing the remaining days; they start at 7 and count down. that way i only ever have 7 days of email to look at. it also makes it clear who the big offenders are... if 10% of the emails are some new marketing thing it's easy to see and unsubscribe. i do hate that there's still so much manual work involved though, i would love if marketers had to pay.

> if 10% of the emails are some new marketing thing it's easy to see and unsubscribe

I built my system because I tired of finding ways to unsubscribe.

Now I can subscribe without abandon and never worry about any of those emails coming into my inbox.

Do you have a writeup somewhere about how this system works?
i like it in theory but there’s something in me that doesn’t want emails just discarded like that… i want to be off the list. a personal failing, i’m sure. :)
The thing you have to ask yourself is: Which do I prefer?

1. Someone puts me on a list and I have to do the work to get off.

2. They work to get me on their list, and I do virtually no work to get off the list.

I went with 2.

> It should be really, really cheap to send an email to one person (like a fraction of a fraction of a cent), but get exponentially more expensive the more you send.

The problem is the cost of creating fake identities. As long as creating fake identities has a fixed cost (increasing linearly with the number of identities you create), there's no way to charge the "same person" exponentially more for sending more email. They'll just create new identities to send new emails.

Some people realize this and then start imagining how to forbid fake identities (forbidding truly anonymous email), but that requires a centralized identification authority, which many participants in the system are actively trying to avoid.

If you want a centralized authority for sending messages without spam, then you should just use a popular centralized messaging app. Each messaging app is controlled by a centralized authority, for better and for worse; the general consensus is that spam is a much smaller problem on centralized messaging apps than on email. But centralizing authority is a very high price to fight spam.

Today, each email client just reads the emails and tries to categorize spam, assigning each email a spam "score" and quarantining mail over a certain threshold. We track email identities only by top-level domain names, which do have a cost. Emails can be signed with DKIM/SPF, and we can penalize emails that don't sign themselves. We don't have "central authorities," but there are very popular email services, following a power law, and they're close enough. If Gmail thinks your domain reputation is too low, you're gonna have to buy a new domain name if you want to email anybody on Gmail.

Without one official centralized authority, I think that's about as good as it's ever gonna get.

> The problem is the cost of creating fake identities. As long as creating fake identities has a fixed cost (increasing linearly with the number of identities you create), there's no way to charge the "same person" exponentially more for sending more email. They'll just create new identities to send new emails.

That's partially handled by my other proposals: People need to pre-approve the senders (otherwise email gets held in a quarantine folder), and people can tack on a fee. Let's make the tack-on fee default to 5 cents.

> If you want a centralized authority for sending messages without spam, then you should just use a popular centralized messaging app. Each messaging app is controlled by a centralized authority, for better and for worse; the general consensus is that spam is a much smaller problem on centralized messaging apps than on email. But centralizing authority is a very high price to fight spam.

The lack of openness is the problem. I'd be happy with WhatsApp if it allowed me to set default policies such as "From person X, don't send me any forwarded messages" and so much more I can't do with WhatsApp that I could do with email.

Ultimately, the solution has to be built into the protocol, and it has to be designed to minimize bad actors not honoring the protocol. May involve cryptography, blockchain, etc (which is why it likely never will be implemented).

> If Gmail thinks your domain reputation is too low, you're gonna have to buy a new domain name if you want to email anybody on Gmail.

Right idea, but wrong implementation. Google shouldn't decide it. You as the individual should have control over the filtering.

> Without one official centralized authority, I think that's about as good as it's ever gonna get.

Very likely true. I can still fantasize.

Sending email is already cheap, not free. Just so happens the cost is subsidized/hidden for most regular people and its so cheap that they give it away for free. For those of us that run transactional email, the cost is ~ $0.0001 per email for AWS SES, already at the fraction of a fraction of a cent you suggest.
Yes, but I want the rate to be variable depending on volume. I want it to be $0.0001 for a simple personal email. But if you send 10,000 emails today, I want it to cost you $100 (or more).

Many schemes to do this. Things like:

The first 10 emails is $0.0001 each.

The next 10 will be $0.001 each.

And so on. You can always fiddle with the thresholds and costs.

I'm 10000 people sending 1 message each, to get the cheap cost for every message.
You're forgetting the 5 cent charge per recipient who hasn't put you in their approved list.
This is impractical because micropayments are impractical.

I have a better idea; split the problem into two. First, require all messages to include an `Automated: 0|1` header; eventually downranking / banning providers that don't include it, like we now do with DKIM, SPF, DMARC and such.

For messages with `Automated: 1`, require informed consent, mediated and verified through the recipient's provider.

It's impractical to require pre-approvals on every message, because many people genuinely want human-to-human contact from semi-strangers. On the other hand, requiring consent without verification is ineffective, because it is too easy to pretend consent. This design splits the spam problem into two much more tractable su-problems, detecting lying senders that mark automated messages as non-automated (easy with modern AI + basic statistical analysis), and verifying consent for honest automated senders (just requires a protocol).

> This is impractical because micropayments are impractical.

Well, one can dream :-)

Micropayments may be impractical, but email as it is currently used is also impractical for personal use cases. Outside of the tech world, how many people do you know how primarily communicate via email?

Most have switched to texting, or to closed systems (WhatsApp, etc). Some of these closed systems make it easy for you to block others, and also can tightly control spam.

> First, require all messages to include an `Automated: 0|1` header; eventually downranking / banning providers that don't include it

How do you handle bad actors who set it to 0?

> It's impractical to require pre-approvals on every message, because many people genuinely want human-to-human contact from semi-strangers.

You pre-approve the person, not the message. Once approved, no further approvals are needed.

And human-to-human contact, for me, means more or less 1:1 (or at most 5:1). If a semistranger wants to talk to me, by all means, I'll approve him. What's the concern?

> On the other hand, requiring consent without verification is ineffective, because it is too easy to pretend consent.

Right now I do it by whitelisting the email address. Obviously, it's fragile. In practice, it's never a problem. The only failures are when I get spam with a From address that is mine. No company ever impersonates a friend's email address to get to me.

(Not saying your solution is unworkable, but would need more details).

Today, Gmail and other major providers do this by tracking sender reputation at the domain level. If users mark your emails as spam, that hurts your domain's reputation. If a domain's reputation gets low enough, Gmail won't deliver mail from that domain.

It's better than nothing (much better than nothing, IMO), but but spam will continue to be an issue as long as we want/expect to receive incoming mail from strangers, and as long as we plan not to have a centralized authority for email identities.

It has the fuzzy false positive problem too: suppose a million Gmail users sign up for your newsletter with email confirmation and all. Two months later you send a newsletter. A thousand of those will be annoyed by it despite explicitly subscribing and will report it as spam. Boom, you're now banned from Gmail.
Honestly we should just do this. Maddy and Stalwart have cheap enough concurrency and good enough scalability they could easily delay SMTP accepts server side for a time delay based on a combination of a local and global heuristic. We could easily start to produce an auditable global heuristic as well and start prototyping the solution today. Over time the community will have to decide how to work with the Cabal, or more specifically the Cabal will have to learn to start to re-engage with the community.

Just start.