# Application Performance Model

The following is a model to determine the optimal response rate of an application. It is optimal and therefore difficult with today’s technology. However, the answer of “instantaneous” is not correct in most circumstances.

I + T + D = P
Input + Thinking + Delight = Optimal Performance

I = Input. This ranges on a scale of -1 to 5. The best case scenario of input is when the system knows what the user wants BEFORE the user asks for it. This would be given a -1 beat of time. An example of this is Google Now. It monitors my email, apps and Google searches and creates cards that match my interests. So far, it is eerily accurate and I perceive it to be a service, not a creepy stalker machine. Performance is delightful. They are there before I even ask.

If the user needs to give input it is important to make that process as simple as possible. Amazon Echo or “OK, Google” is a good example of using voice input. Voice is not always appropriate, especially in a work environment. Plus, there are horrible versions of voice input like Siri. Siri is obviously deaf with a learning disability. Poor Siri. The key is to minimize the complexity and difficulty of the input. Voice input would be given a 1 rating, while something very complicated would be given a 5 rating. Detailed instructions are sometimes required.

T = Thinking. Specifically, how hard is the task perceived to be by the human? It doesn’t matter if the computer thinks it’s hard or easy. It’s up to the human to decide. This is given a rating of 0-3.  0 is when the user considers the task trivial for the system, such as addition on a digital calculator. 3 is given for maximum difficulty. An example of something with this difficulty would be starting a nuclear reactor. A computer could start instantaneously, but the user would consider that strange.

One example of this effect that I experienced as a designer, is a Marketo Smart Campaign. There was a button to launch the campaign and it worked instantly. People thought it must be broken. Nothing so complicated/powerful could possibly be instantaneous.  Therefore, I added in a 3 second launching sequence. People were much more satisfied and trusted the system. A little countdown goes a long way. Imagine launching a rocket without a countdown. It’s very unsatisfactory.

Another example is when you ask a system for the best restaurant in the area. Coming back instantly makes me believe it didn’t think hard about the question.  Give me a beep-boop-beep sound and THEN give the answer. It’s rude when a system acts like it knows everything. This is a contrarian point of view considering Google has proven that fast results are good. I think that this will change as computers and artificial intelligence collide. When the computer seems more human, we will expect more human reactions. I’m not saying delay for a long time.  Something simple and quick.

D = Delight. This is an automatic 0.5 rating. Just because it can be done instantly, doesn’t mean that it is optimal performance. It is unnerving when a computer reacts too quickly. Take the calculator UI on the Android phone. It has subtle animations using Google Material Design standards. These animations slow the experience, but users perceive it as quick and natural. Menus should not appear instantly, they should take 200-500ms to appear. Results should not blink on, they should grow on. Navigation should not be a blink of the eye, there should be a natural, quick transition.

There are people out there who hate these kinds of transitions. These people are monsters and should be made to live in the Australian outback. Well, maybe not that extreme, but they should be ignored. They are not the majority. Despite their loud voices, the reality is that these transitions help your brand, help sell the product and help people feel comfortable with the system. Of course, one can go too far with these transitions. Remember: natural and quick. If one of those people is your CEO, you may have to put an option in the settings to disable transitions. (Booooo!)

P = Optimal Performance. Taken all together, a systems optimal performance is when you minimize input complexity, have appropriate perceived thinking time and add in delight. Notice, I don’t give any time to the system actually doing hard word like looking up a very difficult query. This is an engineering problem and optimal means fast.

When you add up the numbers, you will result in a number between -0.5 and 8.5. These are not seconds per se. This formula is more of a guideline than science. It’s not Planks Constant. It requires thought and skill to find the right balance. Sometimes 1 second seems fast and sometimes it seems slow. It all depends on the input and the perceived complexity.

You may be realizing at this point that math isn’t my forte. Still, I think this model of performance will help move in the right direction.