4 ms·
> Some successful existing examples of client ecosystems built around open standards: [...] email clients Yeah, the way they just casually slid that in there..
by dcposch 6y ago
> Some successful existing examples of client ecosystems built around open standards: [...] email clients
Yeah, the way they just casually slid that in there...
That example really cuts both ways.
Yes, email is fundamentally better than other messaging formats in one respect. Standardization gives it permanence and universality. There are many things we use email for where it would be absurd to use anything else.
But when you actually lift the cover on email, it is a crusty box full of hornets and spiderwebs.
The actual, in-practice email standard comprises:
- A weird, undocumented and ancient subset of HTML
- A weird, undocumented and ancient subset of CSS
- A motley assortment of supported attachment types. Multipart MIME. For the main message body, you can use any type you want as long as it's `text/html`
- A ton of headers. Did you know that SMTP FROM and the From line we all know and love are two different headers? Often containing two different addresses! Don't even look at threading/References/In-Reply-To, it will make you sad.
- And, of course, a bunch of overlapping bandaids to try to retroactively add authentication. DKIM, SPF, DMARC etc.
It is so bad that there's a whole ecosystem of companies that try to make it less painful, often with very brute-force approaches.
I once had to use an expensive tool called Litmus. They literally just run VMs for every OS + mail client combo, then show you how your email will render in each case. Haha try again, your CSS is broken on Win7 / Outlook 2013.
--
The same underlying facts that make it a great format as a user make it obnoxious as a developer.