Sunday, March 31, 2013

What should an email client cost?

(Clearing out the backlog of old drafts...)

This was pretty spot-on. $15 for a really well-written piece of complex client software is not even close to the right price level. People who want a high-quality email client that is not subsidized by any other revenue stream should be thinking along the lines of Photoshop, Maya, or Ableton Live. Yes, I'm serious. With the rise of webmail, native email clients have become a niche software category for expert users, and that is what feature-rich, niche software written for expert users costs, because the development costs cannot be amortized over a hundred million users who upgrade every couple of years.

In the not-too-distant future, you should expect to pay $500 or more for a really high-quality piece of client-side email software. Or else you should expect high-quality client-side email software to go away (with the exception of Thunderbird, which is being maintained by Mozilla for basically philanthropic reasons; we'll see how long that lasts).

Edit: I should add that various Free or semi-Free Software email clients are not really an exception. Their development is funded by a completely different model which permits sustainable, lower-cost, but also slower development. The lower development throughput of freeware email clients manifests itself in two different ways. Email software "for geeks" like mutt, gnus, and pine completely abandons the goal of conforming to expectations of modern UX. On the other hand, free email software like KMail and Evolution, which is allegedly targeted at non-geeks, tries to track modern UX trends but perpetually lags behind in features and polish. Note that "modern UX" is a notion that is always changing, and thus requires high development throughput to track, sometimes because the UI itself is complex (consider gmail's conversation view) and sometimes because there is also a challenging computational problem behind it (consider gmail's spam filtering).

Saturday, March 30, 2013

The web's original sin, and its possible redemption

Anil Dash made a good point last December, but he also missed something. The rot was there from the beginning. The original architectural sin of the Web was that, in the name of security, we made web browsers unable to communicate with each other directly. This made browsers completely dependent on server intermediaries, which inevitably centralizes power in the hands of those who can afford to run servers. Shortly thereafter, web browsers crowded out all other Internet client software, and that was all she wrote.

This was not the original design of the Internet. The Internet is an end-to-end system, not an end-to-middleman-to-end system. There is no fundamental reason that the software you run on your personal devices must be neutered so that it can't talk directly to other personal devices.

So, the current state of the Internet could be a temporary condition. Eventually, clients might regain the ability to open socket connections to each other directly, with discovery mediated by an open distributed protocol. Servers will still be important, but it will become possible again to write peer-to-peer protocols, and to distribute peer-to-peer client software that (unlike, say, Usenet nodes) has true mass-user accessibility and appeal.

Think of it this way. It is completely infeasible for Facebook to run its massive server farm without demanding some toll. But it is probably feasible for you to share status updates and pictures with the people you personally know, using only the spare computing power and connectivity that you all collectively own. You don't need a 1000-CPU-hour MapReduce to share baby pictures with your extended family. You need blob storage, an email-like store-and-forward messaging protocol, and a pool of hosts that's available and connected enough to distribute, say, 100 MB of data per person per week. If you're a middle-class citizen of the First World, there's an excellent chance that you and your social circle own enough computing resources to support this infrastructure already — provided those resources could be utilized properly.

Thus the most interesting thing about WebRTC is not even the real-time communication it enables (although that's pretty interesting!). WebRTC is the first step towards enabling users to send nontrivial quantities of bits directly to each other, traversing through common firewall setups, without a server intermediary and without any native client software other than a web browser.

However, WebRTC is only the first crack in the wall. Fully cutting clients loose from the server layer will be challenging. Peer-to-peer web apps will have to operate in an intermittently disconnected state, and serve content to each other reliably without the crutch of a reliable web host paid for by somebody else's money. This is a challenging computer science problem, involving aspects of system and protocol design, software engineering, and human computer interaction.

It will also be a challenging business problem: how do you convince people to use this application rather than the ones they are already used to? Facebook works well enough, if you squint and ignore confidentiality, transparency, and control with respect to your personal data. And disregarding hardware and networking costs, how does the software development itself get funded? Eben Moglen is an interesting thinker, and it seems true that when you spin the planet, software flows through the network, but I am not convinced the current induced thereby is strong enough to satisfy all our software needs.

But if we are truly to regain "the web we lost", we may have to hack around the fundamental economics of the web that replaced it.

Friday, March 29, 2013


A few small announcements...

First, I'll be posting under my common name now [Update 18 April 2013] as soon as I finish wrangling my Google accounts into proper condition, which is proving more annoying than expected. I posted under "Cog" for a long time out of shyness. I assumed people I met would, from time to time, search for my name on the web, and I didn't want this blog to be the first thing they saw.* Now that I'm older, I care less. Blame aging-related disinhibition, or a more secure social and economic position (I'm in a committed relationship; I'm not so worried about prospective employers turning me down anymore); or maybe I'm just more at peace with myself, who knows.

Second, and perhaps relatedly, I recently left Google, so the various complicated disclaimers that I used to apply to technology-related writing will no longer apply. On the other hand, I still have some unsold Google stock left over from my tenure there, so you can continue to consider me a bought-and-paid-for mouthpiece if you like.

Third, as the link in the previous paragraph demonstrates, I occasionally post on Plus when something doesn't seem substantial enough to be here. (Actually, I'm decloaking here partly because I want to write longer pieces under my name and crosspost the link there.) If you follow this blog, you may find that feed worthwhile as well. I don't love Plus, but I think the most plausible path to ending the unipolar Facebook-controlled social web is for people to contribute to the growth of Facebook's competitors. Google's not quite the champion of the open web that it once was, but hoping for a permanent champion from capitalism is a dubious prospect. The alignment of any particular organization with the path of righteousness is a temporary condition. Look around at the forces at play in the world, and ally yourself with those that seem, at the moment, to offer the best hope for movement in the right direction.

Finally, in the interest of full disclosure, I've gone through the archives and deleted or lightly edited a few posts. Mostly I've been deleting linkrot — this blog started out as a way to clean out my bookmarks file, and thus many of my old posts consisted of a now-broken link and some cryptic text — but I've also taken the liberty of deleting some stuff that simply seemed, in my judgment, like a waste of time for any conceivable future reader. Yes, this is a bit of a blogging faux pas, but I honestly believe that the archives are more useful now that there's somewhat less chaff. If you really care to see the full unvarnished past, you can of course consult, although I warn you that you'll never get those moments of your limited lifespan back.

*Note that I've always used the hapax legomenon "char bootred cataphora" to allow anyone to find me in the other direction, going from this blog to my common identity.