My manager is going round the floor asking everyone if they knew a way to feed HTML code into a component and have it calculate stuff like the number of pages it will generate when printed, the height of a line, etc. All this so that our web application can produce printouts that resemble… printouts. Secretly, I’m thinking it is a lost cause. Unless some kind of browser control is used to manage the pagination and we abandon our extremist view that web applications should be all HTML, page breaks will remain in the wrong places on those reports. And we will still have unhappy customers.
I have long lost the optimism needed for development of fancy web applications. Any application that requires complex layouts should be written for the desktop environment. Alternatively, hybrid applications can be used. I just designed an application that users will use to enter certain pieces of information via a web browser so that the information can be printed by a service (or daemon) at the application owner’s site. The end goal is to have public users interact with the application via their web browser and the staff users to use a desktop version of the application.
Mind, though. I have seen beautiful web-based applications that were hard to differentiate from desktop ones. For instance, there is the application used by resellers of Orange mobile services. The most beautiful I have ever seen is Barclays customer management web application. It is a beauty. However, when one thinks about this state of affairs, one cannot help notice the ridicule of trying to make a web application look as fancy as a desktop one. Perhaps, this is why so many developers are going back to their roots to develop desktop applications with proper windows, panels, buttons, etc. instead of struggling with the handful of controls available in a web browser.
One of the principal reasons for developing web applications is not even plausible anymore. Web applications, it was claimed, solve the problem of deployment. No need for individual installation on client workstations. A single web application can be accessed by thousands or millions of people. True. eBay using the web is justified. In fact, the business derives from the web. What more justifiable can it be? But, in an enterprise application, such as ours, I think it is a waste of resources to insist on going the web route when the overhead of doing it is known. Deployment could not be easier than it is today with Software Management System, terminal services, etc. We could write feature-rich desktop applications that get pushed to the users’ desktops by startup scripts when they log on in the morning; if we were using Java, we could JNLP to deploy our applications; or, we could even have an application sit on a Terminal Server and have the users access it by a terminal client.
In fact, all these solutions are feasible. What is holding the policy makers from doing the same for all our applications is only known to them. Or, is it the abundance of cheap web developers that make the situation as it is?