“Evolve or die!”. I’ve heard that sentiment a few times lately related to existing technologies that are coming under fire for being too old and ugly in the face of “up and comers” with fancy interfaces and social connectivity. But the more I think of it, is “Evolve” the right answer?
I don’t think so. The pace of evolution tends to be slow. At the start, you look more “different” than “evolutionary” and no one cares about that. No, I think you need to be “revolutionary” if you want to make a difference. And that’s hard for veteran organizations that fear risk to pull off.
A great mentor of mine once told me: “Don’t be tied to the technology”. The example he came up with was Smalltalk. We had a whole product written in Smalltalk and it was awesome. And it would still be awesome today except for one thing. The UI didn’t fit in with any other applications you may have been using. That and the companies that supported Smalltalk eventually died off. So what did we do? Well, we rewrote the whole thing with the help of standard desktop tools and languages and a huge code base we inherited in a takeover. Unfortunately the result was a big Windows app, but it got the job done and saved the product.
So what am I getting at? Well, I’ve got a renewed interest in the “IDE in the Cloud”, somewhat sparked by Google’s new experimental App Inventor for Android. I’m not a fan of the puzzle metaphor they picked, but it just got me thinking again of the power of the new browsers and web technologies and how we can apply them to the tools space. It does make the behemoth desktop IDE we have in Eclipse look old fashioned. But instead of thinking evolutionary, what would a revolutionary IDE look like in this new world?