A bane (or boon, depending upon your perspective) of being a software developer is that nothing ever stays the same.
Master one development tool, and version n+1 is released. Reach Nirvana as a the guru of a particular methodology, just as it is consigned to the dustbin of development history.
This is simply the nature of things.
However, sometimes remaining stable and unchanging for long periods of time have tremendous upsides; for example, I wrote an Electrical Contracting package under MS-DOS in 1988 that was still in production in 2008. I’m sure there are some Cobol programs out there with even longer longevity.
Somewhere, there is a happy balance between obsolescence and jumping to the next flavor of the month because it is the flavor of the month.
What is the balance? Does it have to be measured in years? Or should innovation and progress always trump the investment of time, resources, and capital made in a technology, a platform, a language?
I believe that the answer lies in gauging the amount of change your audience / customers can tolerate, versus the pain that the people who have to support and develop the infrastructure of that change must undergo.
For those not invested in the incoming new regime of any change, it is a tremendous opportunity to jump in and gain traction against slow adopters. For those invested in things as they exist now, they are burdened with support of the existing AND the creation of the new… often at cross purposes with regard to marketing and existing sales (see the history of Osborne Computers, and the existing saga of Windows Mobile 7 for a contemporary example).
Of course, the only pragmatic solution is this: sack up. If you want to remain relevant, you’ve got to innovate along with the market.
Nobody ever became prosperous making political statements regarding software development.
Internet famous, certainly.
So, as Facebook abandons everyone who ever used Facebook Connect, all I can do is grin and bear it and enjoy the opportunity to re-do months of work across multiple platforms to support this new direction with Open Graph. For legions of Windows Mobile 6.5 app makers, they are preparing to scrap all of that in order to move on to Windows Mobile 7.
Adapt or die.
But it would be nice to see the day that something I created on Facebook had a lifetime beyond a handful of months before the platform entirely changes beneath our feet.
Innovation for innovation’s sake is one thing; planned obsolescence is another.