Where is the innovation in software?

A topic that has been weighing heavily on my mind for the last several months was brought up in a thread yesterday on Hacker News: where is the innovation in software?
Innovation should get easier over time. New giants continue to provide more shoulders for us on which to stand. Yet, it feels that the implementation of revolutionary ideas are lacking. Can you cite a new company that is doing something technology interesting? Everything nowadays is a copycat. Today, it’s a social network for X and tomorrow it’s an iPhone app for Y, where X and Y are equally absurd.
I believe we have reached an inflection point in the development of software (and by extension, technology). Software platforms are converging to a point of stability, where a small number of competing players emerge, and it’s a land grab to be the leader on those platforms.
Ultimately, we are at the point where the cost of failure is so low that it is rational to pursue an irrational venture. Many companies in the Web 2.0 era have been hit-based. By “hit-based,” I mean that the differences between social network platforms, for example, are so marginal, that the best ones ultimately emerge non-deterministically. One can focus on producing a quality product, or one can try releasing a ‘hit,’ and the network effect will lead to a tumult of new users to your product.
The prime example of hit-based products are the Friendster/MySpace/Facebook social network evolution. All of these sites experienced explosive growth in spite of not necessarily doing anything better than their competitors. MySpace is the ugliest site on the Internet. Facebook started as no more than a CRUD site built on LAMP. These ‘qualities’ are not difficult to achieve and their competitors were and are just as capable in achieving them.
Another good example is iPhone application development. When iFart is taking off, then developers have the incentive to produce as much attention-grabbing filth as possible. While iPhone apps don’t all directly take advantage of the network effect, they certainly see an exponential rise in popularity once they gain traction.
The common denominator among all these is that they’re cheap to build, can be deployed to the masses, and have the potential of phenomenal growth and return on investment. The only way in which this trend can be stopped is when the market becomes so overly saturated that every nook, cranny and variation thereof has been exploited. Until then, we will continue to see social networking sites for babies and dead people.
So, why aren’t developers intrinsically motivated to build something better? One of America’s hottest topics is the lack of science education and aptitude among students. Americans simply aren’t being trained to possess the skills to develop innovative technology. Universities are importing talent and hemorraghing it after graduation. This doesn’t pertain specifically to computer science and related disciplines, but to all of the hard sciences, all of which software touches.
Lack of education is also a sign of the times. The United States emerged from the Great Depression with the highest education rate ever. We are currently, along with the rest of the world, entering economic times of similar magnitude. People are rushing back to school to become more competitive and to skirt the job market. We have already seen reports of increasing education in computer science.
As people are becoming more educated, they will feed their new knowledge back into the ecosystem. Companies–who are already forced to innovate in tough economic times–will benefit from highly trained workers. So, the United States, as the incumbent world leader in science and technology, is struggling to maintain it’s lead. Other countries are gaining momentum and doing a good job in spite of the dismal economy. As the economy picks up (whenever that may be), it’ll bring software innovation along with it in full force, both in the United States and abroad.
Lastly, a discussion about technology innovation would not be complete without a mention of the huge decrease in IPOs in 2008. While there is much controversy with respect to the relative shortage of IPOs in the era succeeding the 2002 Sarbanes-Oxley Act, the simple fact of the matter is that there are much fewer large fund-raising events than usual, hence reducing the capacity and flexibility of companies to invest in research and risk-taking pursuits. Moreover, M&A is becoming the standard for startup exit strategies, which is generally detrimental to growth, as acquired companies are more likely to get axed than a public company is likely to fail (anybody remember Dodgeball?).
What can we conclude? Do you feel software innovation has been sluggish? What are your examples and counterexamples?
My take is that we, as software engineers, must become more innovative. As Alan Kay once said, “the best way to predict the future is to invent it.” We must push the boundaries of computer science. We must bridge the gap between the techies and the rest of the population. However, we must be patient. The convergence of these disparite entities will likely lead to a spurt of technological growth unprecedented in history (follow-up post soon to come!).
Please see further discussion at Hacker News.
Since the majority of software that is written is in-house, proprietary, or special purpose (read: enterprise software), it’s not surprising that there is little innovation. These are uninteresting problems, and software is a young enough field that there are other interesting areas in which talented developers can innovate. Those areas are the exception to the rule, however. Perhaps in fifty years if the field matures significantly and the rate at which new interesting problems/areas appear slows, then innovation will flow to the uninteresting areas of software development.
Comment by Chris on March 20, 2009 at 9:43 am
Are you serious?
google page rank.
google earth.
flash.
youtube.
skype.
multitouch software.
nintendo ds recognition software.
seadragon
games lighting tech.
raph levien spirals font creating fonts.
My voice recognition software(not released yet, but soon :-))
Some of this software research started time ago but made innovative products today. What happens is that people get used fast to new tech. It took people two months to consider “normal” to be able to travel the world via satellite in google earth,(when it takes a ton of work to make it) like people that never saw cars in their live to demand the “right” to have one, or traveling the world in a day with planes. Where is the water car? I want my flying car!! people say.
When Guttenberg printer was invented(he worked all his live making it) nobody saw it as a big deal, only later we can see in perspective its importance.
Where is the innovation in software?
In front of you.
Comment by Jose on March 20, 2009 at 10:11 am
It’s not just you. Alan Kay feels the same way.
http://stackoverflow.com/questions/432922/significant-new-inventions-in-computing-since-1980
Comment by sep332 on March 20, 2009 at 10:42 am
There’s a huge, sea-change coming this year. Operating systems, databases and programming languages. The whole thing.
Comment by David Broderick on March 20, 2009 at 11:39 am
but what about foursquare? There’s still smart people making better apps after their first try was bought and then shut down. Why isn’t foursquare in San Antonio? Nice post.
Comment by Jacob S. on March 20, 2009 at 1:13 pm
“…Innovation should get easier over time…”
That stopped me in my tracks. I would think the graph would be more like a unit normal curve, and at some point innovation would *have* to get more difficult over time.
Comment by Don McArthur on March 20, 2009 at 6:11 pm
“…Innovation should get easier over time…”
I agree with Don, I think you missed the mark just a tad there
It reminds me of proofs back in PHL 313K with Causey’s raining and wet outside examples for explaining If-then. I see your point being that with more tools and technologies available, it should be easier to create better, more creative products. However, the problem is that as the supply of programmers grows and the amount of time since the inception of a technology grows, it’s a lot harder to stand out in the crowd because a lot of people start to have the same ideas.
I think living in California and being at IBM has shielded you from some of the innovation that’s out there. There are individual fields in which innovation is lacking, but mobile development has really taken off. When we started college, how many people knew what a smartphone was let alone had one? Now there are whole companies forming over ideas in a market that previously wasn’t there and is still very much an infant.
I think you have a lot of good points, but I don’t agree with your end conclusion
Just because exciting new products aren’t in the form of flash Steve Jobs events that get grossly over-covered by the media doesn’t mean it’s out there. Appeasing the masses with cheap crap has always been in existence, but that doesn’t mean that gems don’t thrive also.
Comment by Elton on March 22, 2009 at 10:07 pm
Just to nitpick: innovation in software is unrelated to innovation in Computer Science.
For example, PageRank may be classified as an innovation in Computer Science, Ruby on Rails may be an innovation in software engineering. Separate things.
Comment by Daniel Lemire on March 23, 2009 at 6:54 pm