A couple years ago Tim O’Reilly invited a Web 2.0 expo audience to “stop throwing sheep” and start doing something worthwhile. More recently, a post with the title America Lacks Meaningful Innovation went so far as to question the ability and willingness of American companies (particularly web companies) to be innovative.
Nearly three years on and today we’re throwing birds instead of sheep. Damn angry ones for that matter. Nevertheless, the point could be made that we’re still throwing animals instead of doing something supposedly worthwhile (as a typical web startup isn’t exactly revolutionizing health care, the energy industry, the environment, or other highly important areas for the future of civilization).
It could be argued however that entertainment is an important part of life. Granted entertainment doesn’t do anything as necessary and urgent as curing cancer, but it isn’t as though the expectation that every entrepreneur should focus on such a noble and almost unattainable problem is there either. Furthermore, innovation can – and does – happen even in places where you don’t expect it.
The Angry Birds team could, for example, make some serious improvements to WebGL, which would in turn serve startups that are focused on more solemn, and “truly innovative” matters quite well. In a way this would be akin to how the Wii and Kinect didn’t end up being useful only to gamers.
Both viewpoints have their own merits, and the truth lies – as it so often does – in some shade of gray between the two. That’s why I don’t like to think of startups in terms of their quadrant on the Cartesian plane of worthiness and innovation.
O’Reilly can’t be blamed for wanting to inspire a new generation of developers and high-tech entrepreneurs. Mike Eaton, and his thoughts on innovation, shouldn’t be dismissed either. I’m just not fully comfortable with passing judgment on people who work hard on projects like Angry Birds, Minecraft, or other seemingly less important or worthy startups.
I like to look at the issue from a different perspective. I start by assuming, axiomatically, that every profitable startup that’s trying to solve a problem that someone, somewhere has, is worthy of existing and has the potential to be innovative in some capacity. Then things shift to being a matter of finding problems that people have, and how you might be able to go about solving said issues.
Developers have a tendency to be attracted to a common set of problems. This leads to a great number of startups competing against each others in an attempt to solve the same type of issue (e.g., freelance time tracking and invoicing a la Freshbooks). This isn’t a negative thing; competition is good and solutions to all but the most trivial of problems can always be improved upon.
It is however suboptimal. We end up underserving a great number of niches and markets that need our help. It also makes the lives of many of these aforementioned startups unnecessarily difficult. It’s hard to succeed when you are competing against so many other smart people all working at a problem that is largely solved (you may improve on Freshbooks, Freckle, and other hundreds of exciting services, but the market isn’t exactly begging for a new time tracking solution.)
This problem is a particularly big one because there exists a great web-reality divide. When you spend your work life on the Internet it’s hard to see it, but the world is still mostly offline. As a trivial example, an overwhelming number of small business still don’t have a web presence, and often your best shot at gaining information about them is consulting the good old yellow pages.
We have the web which is very connected and produces an enormity of data, and then an offline world that is mostly disconnected and local.
There are two major challenges for the next decade, and this is where I think developers should search for problems to solve.
Filtering, sorting, and making sense of the huge volume of data that’s available online (think Big Data) is certainly one of them. The second is bridging the gap between the offline world and the online world, and bringing that massive volume of offline data into the realm of the digital world where it can be analyzed, organized, extracted, searched and made readily available.
As we work towards these ambitious goals tough, let’s not begrudge those who opt to create small game apps, or decide to earn a honest income with web apps that are anything but revolutionary. It’s all part of an ecosystem that contributes to moving society forward.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
Antonio Cangiano is a Software Developer and Technical Evangelist at IBM. He authored 'Ruby on Rails for Microsoft Developers' by Wrox (2009) and 'Technical Blogging' by The Pragmatic Bookshelf (2012). He is also the Marketing Lead for Cognitive Class, an IBM educational initiative which he helped grow from zero to 1 Million students. You can follow him on Twitter.