I spend a lot of time discussing software with all kinds of people who are not software people (that’s why they hire me!). Some things are easy to describe with a mockup or a formula. For example, screens like these:
Such screens don’t require all that much explanation as the pictures communicate things so well. Let’s look at the second screen—with the table.
Suppose those messages were loaded from a database and the customer wanted new messages to appear automatically (i.e. without clicking refresh). OK, sure—no problem! This comes up all the time and this is the conversation that always occurs (if you get lost, the software guy is the one asking all the questions and the customer is the one giving vague, unhelpful answers):
“How quickly do new messages need to show up?”
“Before too long”
“What’s too long?”
“A while…is that an hour? A minute? A second…?”
“Instantly is really hard (i.e. expensive)…how about ten seconds?”
To the customer, “instantly” is a vague term that is approximately equal to his or her attention span. In this case it’s synonymous with 10 seconds.
I think we need a new scale for talking about such things. I present to you:
The Four Degrees of Speed:
- Text Message
- Everything Else
I. At Google speed, things happen immediately. The feedback cycle is so fast it’s comparable to typing on a keyboard—your actions are reflected on the screen without delay. Some sites work very hard to achieve this speed. Facebook is close, but the only one that is consistently fast as all hell (like Google) is StackOverflow and its network of StackExchange sites. (NB: I originally called this level “instant message speed”, but that’s actually not consistently fast enough to earn the top spot.)
It’s important to note that many people who have underpowered, spyware-infested PCs never reach this speed. These people usually hate computers because all they know are bad, slow computers. To them, launching a picture from their local hard drive takes 15 seconds, which brings us to level 2: text message speed.
II. Text Message speed is anything that takes about 10-20 seconds. If you text someone, you know you’ve got at least 30 seconds before you hear back. I think this is the level that most people expect “real-time” applications to operate in.
III. Email speed is anything that takes a minute or two. This is long enough that you might take a break from whatever you’re doing instead of hitting “refresh” a million times. It’s also the most inconsistent—no one’s all that surprised when an email that usually arrives promptly takes an hour or more to show up.
IV. Finally, there’s everything else speed. This includes daily builds or overnight batch jobs. These are things like newsletters that go out once a day or physical things you put in mailboxes. It could also be a large file download. If it takes more than a few minutes, it might as well take a few hours or days.
This has a lovely logarithmic quality about it, doesn’t it?
If it’s not already obvious, the reason it’s so important that everyone be at the same level in conversation is that the cost of speed is substantial, especially at level one. If being crazy fast was easy, everyone would do it.