Posts Tagged ‘great programs’

Why We Bend Lines

Monday, February 9th, 2009

What makes a computer application great? This is a question we’ll come back to again and again so today, let’s set the stage for this conversation.

Computer applications are at their core, a set of procedures, laid out in a form a computer can process. They’re interactive, responding to input from the user, the computer itself, and sometimes outside networks. Applications are programmed to respond in certain ways to this input in order to accomplish tasks. These responses are decided upon in advance by the programmer based on the function the application will play in the user’s life.

In sum, computer programs are interactive automated procedures that attempt to play some predefined role in a user’s life. What separates a decent application from a great one is simply the significance of that role. Great applications are indispensable to their users.

So what does it take to make a great application? Innovation. Unfortunately, too many companies mistake incremental improvements for innovation. They take existing software and improve upon it in fairly straightforward ways:

  1. Speeding it up
  2. Keeping it simple
  3. Selling it cheaper
  4. Making it prettier

These things don’t ultimately change the core functionality of the product though; they only make it better at doing whatever it was supposed to do in the first place. True innovation is not as simple as improving a product in only one or two of these four ways. A talented developer can still make money on incremental improvements. But what’s really rare (and most valuable) is finding someone who can innovate to solve a problem.

The best, most innovative solutions are the ones that involve a completely new way of approaching or tackling a problem. We are constantly facing hundreds of problems in our lives. We ask ourselves the question, “why couldn’t you just do things another way?” And I think most people, when pressed on how they would do things differently and better, will give you some really interesting answers. A chef may have a new ingredient he wants to try in an important sauce, a coworker may suggest completely cutting down on meetings, or a teacher may want to teach a subject through the lens of a completely separate field. Innovation comes in all forms, so what I’m talking about here doesn’t just apply to computing. The concept is essential to coming up with the best solution to any sort of difficult problem.

The problem is that not enough companies innovate. I believe this is because true innovation takes an incredible amount of courage. And most people are afraid. It can be really difficult to present a completely novel way of addressing a problem, to fully convince yourself that you came up with a solution no else thought of, and to get over that overwhelming sense of self doubt. It takes guts to put everything at stake – your time, your money and your reputation – and create that product, driven only by the belief that your solution is the correct one. Yet this is the only way to create a great application.

The best developers create software to completely alter the way people do things. That incredibly ambitious goal cannot be achieved without the courage to innovate.

Next week, we’ll take a look at a couple applications that have dared to redefine the way we use our computer. I hope their success will not only give you the opportunity to manipulate your computer in new ways, but also remind you that there are a few people today creating some amazing products.