The cranky older programmer is back for another session detailing the failings of today's "best of breed" applications. Take AJAX, the acronym for a simple concept that has brought about a new excitement to web development, dubbed "Web 2.0." I've read so many excited articles and posts about how great this new capability is and how it is going to bring about a resurgence of the dot com boom. That may be the case, but let me say something about the underlying technology of AJAX.
I look at the spectrum of software development going on in various industries right now and am somewhat stunned by the isolation each has. The game industry is doing some fantastic work, the best in the industry, but the GIS field doesn't seem to pay any attention. Web development is a huge chunk of the market but is completely isolated by the web browser. Everyone has web browsers but writing a plugin for all browsers is a hurculean task. I heard that the Opera web browser will include a BitTorrent client. Hurrah, someone is getting it!
I must say again that I think that Google Earth is the best earth explorer out there right now. However there really needs to be some serious innovation and insight done in the software industry in general. I've taken a look at many open source projects out there and am shocked by how many are written in C. Of those that are written in C++ (the only language for serious library and application development work) fewer still incorporate the STL libraries. I've only come across two that use the boost libraries, yikes! I realize it takes a lot of time and effort to keep up with the state of the art and evolve along with the other industry segment's innovations. Perhaps the corporations putting out software today are just unwilling to support the continuing education of their primary product creation assets, the programmers. The programmers themselves need to take responsibility for their own continuing education during non-work hours if they want the be marketable in the future. Finally product and project managers need to have some real programming experience (at least 5-7 years) to be considered competent in my opinion. It's too easy for an inexperienced programmer to bamboozle someone who doesn't know about development work, it is also too easy for a forceful manager to impose unrealistic expectations on a development team.
Let's all celebrate the advent of AJAX, the ability for client side control of what to download and how to process and display it. It only took a decade, at least it's a start. Google does it with Google Maps, think guys.