As I have mentioned earlier, one thing the Internet does well is allow people to collaborate. With the now common-place Web 2.0 sites, there is no end to the social interactions available on-line.
The problem here, is not all things work well “on-line”. Asynchronous or not, the reliance of AJAX applications to communicate with a Web server can be a right pain. This is probably a more pronounced issue in Australia. We are a long way from the US and an even further distance to the UK and Europe. There is around a 200-300 msec hit taken for data to cross the Pacific. Unless there is some major break throughs in quantum physics, this delay is simply unavoidable. Put simply, even things moving at the speed of light, take a notable time to traverse this distance. Three hundred milliseconds may not sound like a lot. Rest assured, you notice it. Visiting US developers certainly can’t believe the slight delay that happens on every web request (presuming the web server is not located in Australia of course) and conversely most Australians abroad can’t believe just how much more responsive the Internet is in the US or the UK.
This delay is hardly anyone’s fault, of course. But, unless you experience this delay yourself, you are not likely to ever take it into consideration in building your application. Here in-lies “the rub”. Web applications are not speedy. Oh yes, in AJAX land where sunshine and rainbows occur in green fields of joy things are much better than they once were – forms are much more “dynamic” etc, but the performance is still woeful compared to the previous generation of desktop applications.
This gives rise to the second issue. No-one wants to develop desktop applications anymore. The computer industry is at least as guilty as the fashion industry for being swept along with the “latest craze”. If you aren’t developing web-based applications (regardless of whether they are practical, or in any way benefit from their onlineness*) you aren’t in demand as a programmer.
Do customers care about the technology used in the applications that they use? Of course not – as long as the application does what they need it to do. This lack of caring should allow the industry to stick with tried and trusted technology, rather than invent new technologies. However, the inverse ends up being true. That is, because the customers don’t care what technology is used, they don’t end up demanding that the industry use tools that work best for whatever the problem is at hand.
Sometimes the Internet is the right tool for the job. Unfortunately, the trend has been to bash it into the only tool for all software jobs. And that leaves those that use the tools with a less optimal solution than they may have otherwise had.
* I made this term up to suit my needs… but the Internet assures me I wasn’t the first to do so!