Email: The silent killer was supposed to be the rest of the title.
kleinbl00 got me worked up on accident. He didn't even know he was doing it. He simply mentioned some email clients. This post was originally a response to him, but it just grew into me spewing everything I hate about email. So read, enjoy, lemme know if you have questions. Or if you are just curious and want me to clear something up.
I'm going on this rant because dealing with email is one of my primary responsibilities at my job and it's basically the worst part of anything I've ever had to do and I've worked at McDonalds. Not that I don't like my job, I actually enjoy it thoroughly, but the second I have to even think about "fixing email". I start to cringe deep in my intestines.
Every email client and server sucks. Even gmail even hotmail, even mailbox. Because email sucks.
Part of problem is that email is old, the smtp protocol was first created in 1982 (hey that's the same year as the Commodore 64). We now have email clients that not only have to deal with 32 years of old lags of technology, but also they have to deal with things that people want them to do that are just completely foreign.
===== Grandma Sends an Email =====
I want to send you a file. But it's 1990. So I'll start up my ftp server. (If you have access to email in 1990, you probably have access to an ftp server) I'll send you a username and password and you get the file. Easy right?
Well suddenly it's 1991, people are giving out AOL cds like it's the rapture and grandma wants to see pictures of her little grandchildren in 320x240px from your new digital whosits camera, and dont you dare tell her to use a web-browser-machacalit because www is still a little baby.
Okay Grandma, we'll invent something for you called a Mime type! Hurray! Rejoice! Now we can attach files to our emails in a somewhat elegant way.
====== Hey guys here comes the internet boom, we're gonna ride this forever! ======
But wait there's more!
The internet gets larger, hey you know what else we could use in our email clients? An html rendering engine! YEAH! Why would we want to communicate ideas by showing people a web site when we can cram everything in between two giant tables! That'll be grand!
So the marketers get their way. An html client in your email browser. Oh joy.
======= Oh were those emails not supposed to be read? ==========
Oh by the way, for most of the time we're doing all of this, all of our passwords and emails are exposed to the entire internet. Because StartTLS didn't get introduced until 1999. Then wasn't officially put into the email protocol until the 2000s (I forget when exactly).
===== ON TOP OF ALL OF THIS ======
Email servers aren't necessarily written to respect the standards. They are written in order to obey the standards when they need to. That is to say, someone writes an email server (Like i dunno exim) and then decides, "Hey a cool feature would be x, y, z" and puts it in. It's not part of the protocol, but hey it's their program they can do what they want.
Then some email client decides to support that feature. Now suddenly email is doing weird stuff outside of what it was supposed to do all because of a "feature".
Oh you can't wait for your email client to download your messages? We can add "Push" on the imap server for you.
Oh that 11Mb file was too small to send through smtp? Let's add Chunking on the sending server to let you send binary messages and they can now be as big as you want!
These additions (or "extensions") to the protocol have created huge headaches for admins and programmers who have no choice but to implement them because their bosses say so.
===== SPAM SPAM SPAM SPAM SPAM ======
Yet another problem we're all familiar with Spam!
So we come up with ways to fight spam, and none of them really work because the protocol is basically made to let you receive messages from anywhere without authentication from the sender. (As an aside: I see this as a good thing, as it allows for easy transmission of messages in communication harsh territories)
They developed filtering on the client side to fight this but people just dont want to see it.
They then thought hey remember that thing from statistics class? Bay... Bay... Bayesian that's it, maybe we could use that to help fight spam. Spammers quickly found a way around that. Just make your messages so random and odd that the filters mark them automatically as spam, then send your real spam message and it will go through with no issue.
We have blacklists, which are shit and some of them are even almost extortion rackets asking for money if someone on your network has sent out something that they don't like or that their algorithm doesn't like. We have gmail, which does a pretty good job but hey if I had as much data as them, I'd be feeling pretty clever about the patterns I could recognize too.
We have appliances, like barracuda and spam experts, and do a relatively good job....
But the major problem: We are using the protocol in a way that it's not intended to be used. If I someone wants to send me a message, they should ask me for permission FIRST.
======= Okay I'm ready to get out my pitchfork, who can we blame? =======
I do not blame any of the email clients or servers for sucking. I commend them actually, they have to work with some of the batshit craziest code left over from the 80s and make it work. Then they also have to make it pretty or no one will use it! Somehow they've cobbled together all of this functionality to work on multiple platforms and continue to let people communicate.
It is insane and amazing that email has lasted as long as it has with all of the spaghettiness of the internet and malfunctioning server code.
I would like to blame the IETF, but it's not their job to do anything but describe the protocol.
I'd like to blame Snooty Business types a little because they are the ones who really drove email into being an all encompassing headache (cough outlook cough).
But I can't really blame anyone, it's all momentum, people wont stop using email until there is something BETTER and PRETTIER that comes along. We're stuck with it, and it stinks. Regardless of technology, spam will still exist over smtp, servers will drag when you open up your inbox with hundreds of thousands of emails that you'll never read again, and nobody will want to change it.
====== Conculsion ========
Email is a horrible emotional bully.
====== Reference ========= Here are some of the RFC's for the protocols/features I've mentioned. The real list is MUCH longer. I use these like they are my bible.
======= Postscript =========
Btw, have you ever gotten angry that you didn't receive an email quickly? There is a reason for that. The SMTP rfc has no guarantee of delivery time. It could be hours, hell it could be days and if someone was a real jerk, it could be years until you get that email.
The worst thing is that email is still sent through plaintext through the internet. Even if google ssl's the shit out of their browser, email (in most cases) is being sent through the internet in plaintext. This is why client side encryption and verification is important.
The basic problem is this, I think: email is, has been and always shall be the digital equivalent of an envelope. Envelopes can be filled with hand-scrawled loveletters, they can be filled with Publisher's Clearinghouse Sweepstakes entries, they can be filled with chain letters, they can be filled with pictures your aunt Maude took on vacation. Those envelopes can be filed away, discarded, re-routed, redirected and otherwise manipulated in ways that texts (telegrams) and phone calls cannot.
Unfortunately, a whole lot more can happen to a bunch of bits between one device and another than can a bunch of paper between one mailbox and another.
You're right - some secure, packetized method of transmitting information should exist. Frankly, I'm astonished that bittorrent mail didn't become a thing shortly after Napster.
I'd jump right the fuck on that shit.
After all, we've got chat. Why don't we have mail?