Guest Article: Why Plain Text? (A Rant Mostly About Emails)


by: Alois Mahdal

I originally wrote this as reply in a comment thread about plain-text emails.

After writing that reply, I realized that it’s difficult for many people to understand the kind of minimalism I advocate. It’s difficult for many people to understand why those like me insist on all solutions being minimal, plain-text-y, and sooo 1993.

Preference does not mean stubbornness.

In this short article, I’ll try to explain here why I prefer plain text. While my reasoning isn’t universal, I believe something similar applies to many other people (not just coders).

If you develop software for living, you will soon find out that focus and mental energy are extremely scarce and valuable resources. It’s like fuel to a truck driver: everything you can do to save it, you better teach yourself to do it always, without even thinking.

One thing people do is keep away from flashy things like attention-grabbing titles, pictures, and font styles. Note that even things like re-aligning your brain (unconsciously) to a different presentation style (font size, style and background colors) of text costs you energy (even painfully so if you work in darkness). So the best way to be efficient is to build a workspace where you control these things.

For e-mails, this means disabling HTML.

Of course, you might say, then why you allow things like advertisements to your sanctioned workspace? Two reasons: First, not all e-mails are advertisements. I often frown if even simple system-generated notifications (like billings) lack the plain text part. These are especially guilty because their content is auto-generated so it would only take a one-time task to implement it.

Second, even when deeply in the flow of programming, there are moments where it may be perfectly OK to jump to a less mentally-demanding task. A task like checking e-mail or scanning news.

This even healthy if, for example, you have just finished fixing a bug and have five minutes before your tests finish. It’s similar to stretching your brain a little before jumping back to take on the next bug or to fix problems your tests found.

That’s when I would be perfectly happy to scan an email from, say, Amazon, trying to show me interesting books. But if the email is HTML only, I simply have to exclude it and either postpone reading it, or use a rule that moves it to some place where the email rots away.

The same reasoning applies to other things in my digital life. It’s why I prefer Weechat over most chat clients (and abhor all HTML-based chat solutions). It’s why I prefer plain text or Markdown-formatted documents over Google Docs. It’s why I prefer IMAP over GMail. It’s why I prefer mocp over most music players, plain HTML over some flashy Javascript-laden beast, Vim plus bash plus i3 over any IDE.

I need to be in control. In pursuing that, less is better.

Of course, this is the “workspace” line of reasoning. There’s also security, and then there’s performance. Despite what some people will tell you about progress, all these viewpoints are and will remain relevant.


Alois Mahdal is a software quality and ethics advocate, and test developer who works for Red Hat. You can find him on Twitter, GitHub, and StackOverflow.


Creative Commons License
At Alois’ request, this article is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.