The Sad State of Smart Clients
Well the year is officialy over now, or will be within a matter of hours and like a beaten candidate on election night it's also time for me to concede victory in my bet from last year to Rob and all of the other AJAX smitten developers of the world.
While losing this bet is of little consequence for me personally, I fear it reflects an overall sense of stagnation in the smart client world. Windows Live services which at this time last year was launching several smart client applications has not really released anything significant since with the notable exception of the Live Writer blogging tool. Click-Once deployment has become considerably easier and more technologically feasible as the installed base for the .NET Runtime has grown but we still see very little in the way of consumer rich client applications deployed via the Internet. Office 2007 represents a significant improvement in what I would consider to be one of the most successful set of smart client applications, but one suite of applications can't change the world by itself.
It would seem that most software companies are willing to settle for "good enough" with the features of AJAX for fear of alienating the minority of folks either not running Windows or who have had their PCs locked in a cave such that the .NET Framework hasn't made it onto their systems. I won't bother debating whether this fear is warranted, the end result is that the adoption of smart clients - particularly external to an enterprise, has simply not hapenned. In the end, this willingness to settle for the limited functionality available with AJAX costs our users in their experience and ease of use of the software we are creating. And we, the collective software industry, seem to be just fine with that.
The good news is that new technologies like WPF/e seem poised to further bridge the gap between the conceptual ease of centralized deployment and the rich content of smart client applications. Perhaps with the adoption of Vista and thereby WPF, which I believe will be a very slow process, XAML will put AJAX scripting to rest once and for all and our users will not have to suffer with "good enough".