We lived the transition from fat clients to light clients. In the client/server era we had the fat client, there was a great computing power at the desktop, a good graphical interface for enterprise applications, and users become very productive. But the Internet era appeared and we needed our applications to be accessed no matter were: at the office, at customer house or even at home. And then we get used the web browser for the application interface, we lost a little of usability and computing power in the client side but we obtained great benefits: central administration for applications, no need to install in the user machine, hundreds of concurrent users, universal availability where ever the user is located, etc.
Now we are living a revolution in the desktop because we have desktop computers with more computing power and with more graphical power. Operating systems and desktop applications look impressive: Windows Vista, Mac OS X, Beryl OpenGL desktop. But the web applications continue with this lack of usability and visual enhancements. My opinion is that the 75% of the success of a product demo is the look and feel of the application, how sexy is the user interface and how many “eye candy” can you show. And we want the best of the two worlds for enterprise applications: Usability, look and feel, computing power, for desktop side. Central administration, universal availability for the web side. And also we want to go further: to have the ability to work offline and access from mobile devices like smart phones.
There are several players in this arena, these players talk about rich clients and about technologies that satisfy all the wishes I wrote in the previous paragraph. There are a huge amount of proposals and some of them look promising: XAML by Microsoft, Flex by Macromedia, XUL by Mozilla, miscellaneous Ajax technologies, Dojo, GWT, etc. There are impressive demos and screenshots.
My question is: What is the right choice? We feel that users are pushing us to make a decision to enhance their user experience. But for the moment all of these technologies are just emerging and I cannot see a clear winner for the next years. Is it better to wait and see? Or do we have to choose and build our own proposal? This is the world of technology and these are the kind of questions we made to ourselves everyday.