Software and Innovative Thinking

Wed, Apr 18, 2012 - 2:07am -- Isaac Sukin

Tonight my roommate, who is British, turned to me and said,

The way I learned to think about problems in the U.K. is different than how Americans think about problems. When confronted with a task, I think first about the obstacles and how to overcome them. Americans seem to first identify the ideal solution and then consider what revisions may need to be made to make that solution realistic.

I find this fascinating because it mirrors what I've been saying for a long time about software development. Programmers often get too bogged down in the literal implementation of a program, too concerned with what the technical limitations are, rather than considering the program as merely a utility for a user to achieve a result. The result itself is paramount, not the software; what is important in software development is achieving a solution that allows users to focus on reaching their goals rather than learning the program or forcing it to do their bidding. To this end, developers should focus first on what would actually help users achieve their goals and only then figure out what are the technical challenges, rather than approaching the problem from the perspective of what can be built within existing restrictions.

This jives with a post from Bryce Roberts last month which quoted an entrepreneur saying:

Startups don’t compete with airlines by purchasing a bunch of planes, hiring a bunch of pilots and locking up a bunch of terminals at airports. Startups compete with airlines by inventing videoconferencing.

I love this quote, but it's important to focus on a certain kind of innovation. My roommate will very likely end up an investment banker after graduation, so it's a potent reminder that the 2009 recession was caused in large part by innovation in the financial industry. Finance gurus would create new, complex securities to trade because their firms would have a first-mover advantage with clients and in understanding the dynamics of the market, but the new securities would quickly become commodities as other firms moved in. In the wake of the crisis we're slowly beginning to see Goldman Sachs cutting salaries and other surprising movements away from securities trading as the centerpiece of Wall Street profits. So it's easy to get things wrong when innovations are not for the purpose of helping end-users. Wall Street could contribute more to society if big banks were running projects like Dwolla and Simple and Kiva that exist to help a specific target audience worry less about money.

Silicon Valley also suffers from an innovation problem, but in a different way. If you ask a lot of coders what they're interested in, they'll say "technology and entrepreneurship." Well, I have news for you: "technology" is not an industry. "Technology" is something that every industry uses to increase efficiency. Technology should be so integrated into every aspect of our lives that we don't even have to think of it as a separate idea, because it's just there, silently helping us do our day-to-day tasks so that we can spend more time on the things we really care about. But the fact that so many people are just interested in the technology itself is the reason why we have so many cat pictures and photo-filter apps worth a billion dollars. It's a lot easier to sit in a dorm room and build an Instagram than it is to cure cancer, but there is a lot more actual value to be found in combining technology with other fields.

Being so deeply involved in the technology world, it can sometimes feel like everything that could possibly have moved online has already done so, but venture outside a little and it will become abundantly clear that this is simply untrue. For example, shopping is ripe for innovation right now, and I have a list of 21 companies to watch that have entered the "social shopping" space in the last few months to prove it. My friends at FamilyLeaf are bringing family photos online. I'm consulting for a company dealing with athlete recruitment in a similar situation. Lawyers and doctors are finding their professions steadily eroded by online legal forms and self-diagnosis. And there are so many industries that have hardly been touched yet. But those industries are not sexy and developers often lack enough familiarity to make a dent in the industry. Sometimes the slack gets picked up by entrepreneurs in developing countries who need a fast solution to make other businesses viable. There are still important problems in communications technologies, but they're large and complex.

One metric to determine whether a solution is disruptive is to ask the question, "does it help people minimize the time or resources they have to spend on the problem?" While it seems counter-intuitive to build a service whose goal is to reduce the usage or cost of solving the problem it addresses (and this is exactly why existing companies so rarely spawn this type of innovation) the result is that users have a much more positive attitude toward your service since they no longer have to wrestle with it frequently. If you can help your customers have fewer problems, they will love you for it.

So next time you have a problem, consider approaching it by starting with what the ideal solution would look like, and only then identify the constraints. You'll likely find that what you would have thought were limitations can actually be overcome.

Discuss on Hacker News.