kaashif's blog

Programming, software freedom and Unix


Email is the Future

Often, people look at me oddly when I suggest that they email me something. “Why can’t I just send it to you on Facebook or Skype?” they say. Well, it doesn’t have to be those two media of communication, but it’s usually something like that. When I say often, I also mean that this has only happened on two occasions, so bear that in mind as I make things up about the types of people

who ask me this.

I’d like to think that the people who advocate use of Facebook or Skype are the sorts of people who move from social media site to site, forgetting about their old posts from years ago on Livejournal or MySpace, saying they don’t matter. Maybe the content of the messages didn’t matter, but if they did, wouldn’t you want them preserved somewhere permanent, somewhere you could always access them, regardless of how successful the site is this quarter and whether it has to shut down? That’s not the best argument for using email, since it means you’d have to save and back up your emails yourself - this is all irrelevant, since my point is not that you should use email because it lets you archive all of your creepy private messages. No, my point relates to the control the social media websites have over you.

Isn’t this just another rant about free software?

No, not exactly. You could have a proprietary email client and it would still be better than using a proprietary social media SaaSS (Service as a Software Substitute). Those social media websites, while they may restrict your freedom for other reasons, primarily rob you of control over your computing. When you upload a picture to Facebook, then edit it, should you not have done that using a program on your own PC, instead of a less functional, half-baked “web app” version of the program? You could argue that it’s more convenient, but this is only true because you are already entrenched in Facebook’s lock-in scheme. If you did all of your editing locally, you would not be able to make the same complaint.

Doing your editing (whether it be of text, images, or music) on your own PC, using a program you have some control of, offers you far more choice and control over your experience than using a webpage to do it. If said website (this does not only apply to Facebook) changes their UI, you are powerless to protest, let alone change it back. There are two ways to avoid this situation: only use websites licensed under free copyleft licenses (such as the Affero GPL) or do eveything locally, where you have the most control over what software is used to do the editing. In an ideal world, you’d use a free software program to edit your content, removing the issue of someone having control over you entirely.

After you edit your content, uploading it to a SaaSS social network would be nullifying any advantages to gained by editing locally. Ideally, you’d want to do as much as possible locally - editing content, addressing it, but not sending it, as doing that locally is impossible, and the only thing which should be done over a network. A protocol exists to send messages over the internet, it’s called SMTP.

Email is limited and inconvenient

I’d argue that logging into a website or using an app which I cannot examine or audit is a far greater inconvenience than being “forced” to resort to mailing lists and email clients. Of course, the majority of people do not think this, so I’ll have to convince them with arguments which appeal to laziness or convenience. As Larry Wall said, “The three principal virtues of a programmer are Laziness, Impatience, and Hubris”. Hubris doesn’t really come into this issue, but the other two definitely do.

I’ll use an example to illustrate. What if you want to put all messages starting with the word “Important”, containing the word “deadline” and with a date in the format “YYYY-MM-DD”. Maybe that’s a bit specific, but I’m sure that filtering for something that specific is impossible without access to scripting tools. Lo and behold, such tools exist on your machine, but not on the SaaSS website! Using utilities like procmail, or even just a Perl script, you could easily walk a Maildir and put all messages matching the above conditions into a separate folder. Usually, it will just be things like moveto("programming") if ($subject~=/^GitHub/), but it is important to have tools which work in all cases, not just the cases the programmers at Proprietary inc. see fit to program in. Any arguments relating to the odd SaaSS tool which provides greater functionality than a local program are flawed because of the inherent limitations and danger of putting a group in charge of communication for another large group.

My social network is free, is there still a problem?

People in charge of projects like Diaspora and GNU Social might tell you there isn’t, but I think there is. Who actually uses Diaspora? Who has even heard of GNU Social? Maybe I should kickstart them and get all my friends to use them, but what’s the point when I have another method of communication which is almost as ubiquitous as internet access - email. Everyone has an email address and everyone will for the forseeable future. The first email standard was published in 1973 and is still followed (with some revisions and additions) to this day. That’s forty years of use, something Facebook, Google+ and Twitter can never hope to achieve.

In 2005, it may have been tempting to say that MySpace would still be in use in 10 years. Right now, that might be said about Twitter or LinkedIn. No-one would ever think of saying the same things if asked whether they would be used in 2053, 40 years into the future. Not only would people say this about email, it has already happened. A standards compliant email client from 2013 would not fail to read an email from 1973, or send an email using SMTP (standardised in 1982). Email was the past, it is the present, and it will be the future. What more could you ask for in a communication protocol?