Thursday, July 30, 2009

Distributed Murder

I had lunch with a friend today who suggested that I should post this here. And since I have about 5 other entries half-written, this seemed like something I might actually hit "publish" on yet today...

If you murder someone, you have deprived of the rest of their life... you have literally stolen all their remaining time. If we assume that your victim was going to be fairly long-lived, you might say that they had ahead of them:
- 100 years, or
- 36525 days, or
- 876,600 hours, or
- 3,155,760,000 seconds.

So murder is stealing about 3 billion seconds.

Does it hold then that if you steal 3 billion seconds, you have effectively killed someone? Imagine you are creating a product that will be widely used, perhaps a piece of software. Suppose that software is used by 20 million people, who will start it up 200 times each in the course of using it. But in your haste to get it out the door, it takes 3 seconds longer than actually necessary to start up.

20,000,000 users
x 200 starts
x 3 excess seconds per start
-----------------------------
= 12,000,000,000 (12 billion) seconds

Your minor negligence, coupled with wide spread use, has stolen time from 20 million different people that adds up to four human lifetimes. You have effectively killed four people.

Now, obviously there are a couple of critical flaws in this analogy.

When someone dies, it isn't just their time that is lost, but every interaction with every other person they would have had over those lost years. And all of the secondary, tertiary, and peripheral impact that person would have had but for their untimely death. Those interactions create a web of effects that extends far beyond the local experience or even the finite lifespan of the person themselves. Every life touches, directly or indirectly, thousands of others.

Then there is choice. People aren't (generally) compelled to use your product. If anyone finds the performance unacceptable, they have freedom to do or use something else. Working against this, however, is that the nature of the time theft (only a few seconds at a time) is similar to a fractional-cent rounding problem. Although it adds up to large totals, any given delay is *almost* imperceptible in the course of normal events.

Finally, you can make an argument that those 3 seconds aren't really stolen, that you aren't requiring the user to do anything during that start-up pause, so they will recapture them with some other task like reading another e-mail before they switch their focus back to your program. This leads to a whole different discussion of the cost of context-switching between tasks, but still, maybe the time isn't completely lost.

Even with these flaws in the analogy, it does provide an interesting way of analyzing the impact of widely spread frequently occurring small bits of time. Consider spam e-mail. A lot of people say "Oh, just hit delete and forget about it." But let's say it takes 1 second to identify and delete a spam e-mail. And suppose everyone gets, on average 3 spam e-mails a day. And by "everyone," suppose we mean all 1.5 billion estimated Internet users as of now. That's 4.5 billion seconds a day lost to spam e-mail. Spam e-mail is killing 1.5 people a day.

The time-in-lifespans is also interesting to apply to voluntary pursuits as well. Who wouldn't want to create something so compelling that someone else would contribute their entire life to it? Well, if you make a 126 second long video, you will consume an entire lifespan for every 23.8 million views you get. That means that this video is currently the sole-focus totally consuming life's passion of 2.76 people.

Finally, turning this around, it is useful to think this way to consider whether the things you are trading your life for are worth it... Even the little bits of time spent here and there add up, and subtract from your total limited lifetime allotment of time. 3 billion seconds may sound like a lot, but every second really does count.