Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
– Jamie Zawinski’s Law of Software Envelopment
Every program in development at MIT expands until it can read mail.
Both of the above were supposed to be humorous criticisms of software bloat: adding so many unnecessary features to a piece of software that it’s real functionality gets buried deep under everything else. However, I was recently working with one of our ‘clients’ for our summer research projects and email came up. She’s marked out a number of places on Google Earth which would serve as models for the urban development aspect of the project. When she wanted to give us the placemark information, the easiest thing for her to do was to export them as a .KMZ file and attach it to an email. As we were trying to figure out the whole export-email-import process, I realized that email is a really big part of our lives.
Being a college student, sending files to other people, whether it’s classmates, writing assistants, or the professor, is something that I have to do on a regular basis. Even though there are public and private network drives which are meant to be used for moving files between a group or simply from a lab computer to a personal one, most students simply prefer emailing (to others or to themselves). A program having the ability to read mail might be unnecessary and a sign of bloat, but being able to send email is certainly a feature that would be very handy to most people. (Of course, if you’re a Emacs fan, then you can read/write email and browse the web from your text editor.)
Unfortunately there are two problems that make ubiquitous integrated email a difficult proposition. Firstly, even though many applications, such as Microsoft Office to include the ability to attach documents to email from from within the application itself, most people aren’t really aware of this feature. And so they fire up an email client to be able to create a new email and attach the document in question. Secondly, and perhaps more importantly, desktop email clients are no longer the norm. In fact, if you’re emailing a document to yourself, chances are you’re on a public computer and will be using webmail. Ideally whatever program you’re using should have a button that opens up your webmail with a new message and starts attaching your file automatically. I don’t know of any software that does this, and I don’t even know if this would be possible using current technologies. Perhaps as Google Gears and similar offline web technologies become more popular, you’ll someday be able to attach straight to webmail. Till then you’re stuck doing the whole cycle manually.
But why email, I here you ask. Yes, email shouldn’t be used for file transfer, that’s not what it was built for. In the old days you had dirt simple FTP. Nowadays you have all sorts Web2.0 backup, share, transfer services. But everyone still uses email to transfer files. Why? Once again two reasons. One, it’s easy. Seriously, what would you prefer, have your files drop into your inbox with no action on your part, or would rather open your browser (or another tab if you’re in webmail), go to a website, maybe type in a log in and password, click a link, get rid of some dialog warning you that you might be downloading the digital equivalent of leprosy, and then finally see your file? We programmers may deride our users for being lazy, but sometimes that laziness makes perfect sense. Moving on to number 2, (and again this is probably more important than 1), emailing is what people have been doing and most people really don’t want to learn a new way of doing something that gets them the same result.
So email is here to stay. In fact, let me clarify that, webmail is here to stay. Sure every big corporation has some fancy heavy duty email client which all it’s employees have to use, whether it be Outlook, Entourage or something else. And there are a bunch of old-timers clinging onto the last release of Eudora and Linus Torvalds running Alpine. But webmail is gradually becoming what every normal person uses. So if you’re out to write the next killer app then you’ll almost certainly be one step up if you can figure out a way to directly export to webmail attachment (at least the big ones like Gmail, Hotmail and Yahoo). Of course, if you’re app is some social web thingy with “sharing” as the main keyword, you might as well just latch onto Facebook or Twitter.
Realizing that email is one of the most powerful forces on the internet (never mind that most web traffic is BitTorrent), leads us to understand one of the reasons why Google has in a few years become such a powerful player in the digital world. Let us never forget that their first major product outside of search was Gmail. And Gmail was nice, a gigabyte of space, no glaring graphic ads, no deactivation if you don’t log in regularly. Throw in the whole beta-invites thing to make forbidden fruit more sweet and you have people lining up. And once they had people pulled in by what was arguably a superior product to anything else available at the time, they could leverage it. People don’t need a gigabyte to store email, they need it store attachments. So give them quick virus scanning of attachments, give them image-thumbnails so they don’t sit around forever waiting to download something they didn’t want to see. Add an MP3 player for people who still don’t know about P2P. Acquire a small startup building a web-based word processor and offer to open up people’s documents without them having to download. Let them be able to make changes, save and most importantly email back. Etc Etc, you get where I’m going with all this. Sure this isn’t the whole story of Google’s rise to power, but it’s important to realize the same thing that Google did: that if you structure your business model around something that everyone uses, like email, you’ll have an easier time drawing them to what other stuff you want them to use.
So the moral of today’s rant is: Email is big, it will be, and it’s not controlled by a monopoly. If you can leverage, then by all means do so. I’ll end with a succinct quote from another Jamie Zawinski article regarding Groupware:
And if it doesn’t work with webmail, you’ve lost before you’ve even begun, so don’t do something dumb like requiring a plugin.