One thing I love about the technology industry is the continual tension between competing ideas and approaches to advancing the state of the art.
Being away in India (more about that later) gave me time to think about my favorite tensions. Each is a pendulum – every decade or so it seems like attitudes swing the other way.
Here are my top four tensions; have any other good ones?
Hardware vs. Software
The mother of all tensions in our industry, no two moments exemplify the pendulum swing better to me than Transmeta’s ballyhooed launch followed by Intel’s crushing advancements in power-saving circuitry.
Web vs. Native
This wonderful tension makes even the smartest of the large players schizophrenic: Microsoft devotes huge resources to advancing both IE and .NET and shows a meta-layer of confusion with Silverlight; Apple launched iPhone development web-app-only but eventually succumbed to native needs; GOOG has Android and Chrome OS to stir up internal confusion. HTML5 brings us to the point where some types of apps are just better as web apps; other app categories may never succumb to the web approach.
Thin vs. Thick Client
The subset of cloud computing I think of as utility computing – arbitrary compute resources available programmatically and on demand – and the rise of mobile as the next decade’s great charge makes me think that the pendulum is heading back towards thin, with the proviso that thin is a lot thicker than it used to be.
Centralized Service vs. Distributed Protocols
Centralized services like Twitter and Facebook have all the traction; this should be no surprise given how well they reduce the complexity of getting started, and how quickly they provide network benefits. It’s always tough, however, to balance the needs of users with the needs of business. I predict in several years we’ll see a flourishing ecosystem of protocols for social presence – right now, the pendulum is firmly in the centralized services’ court.