Do You Deploy Thin or Thick Web Applications?

eLABorations: Saving bandwidth might not be as big a deal as it once was.

This past week, I interviewed Gillis Onyeabor, the CEO of GenoTechs Inc. and developer of the companys AstroMark Web Database Platform. Version 3.0 of the software is coming out in the next few weeks.

AstroMark is a development and deployment platform for database applications. End users need to download and install the Windows-based client (its a 1.3MB download) and then can launch AstroMark applications from a Web browser through the normal external-viewer launch process.

The viewer communicates with a server over HTTP and encrypts and compresses its traffic for security and minimal bandwidth usage. It supports all the normal data-bound edit and data grid controls. Calendar, image, menu and tree view controls are also provided.

The software uses optimistic locking and so only updates the database when the user does a commit, which works well if there isnt a high chance that two users will update the same rows in the database. If there is a conflict, AstroMark asks users how they want to handle it.

"A lot of business owners with high school education can build this page," said Onyeabor, in Tempe, Ariz. "Ive been in the business of training for over 10 years. The people that will benefit the most will be the small business owner who can use [Microsoft] Access but cant share this data with other offices or vendors or customers.

With this tool, they can create this with just six mouse clicks and one more click to post the file."

This interview got me thinking about whether saving bandwidth is really that big a deal anymore. Thats the big issue with HTML-based applications, of course—every page change requires a server round-trip. AstroMark just sends the application and data—the user makes all his or her edits locally, with no traffic moving back and forth between the application and the AstroMark server.

This issue has been around for a long time, and there are many other solutions that take the same approach—a downloadable thick client displayed in some kind of pre-installed local viewer.

A downloaded ActiveX control coupled with Microsofts Remote Data Service is one approach thats been available for a while; the latest Microsoft technology would be to use a disconnected ADO.Net DataSet and a Windows Forms-based application.

Theres lots on the Java side of things, too: Java Database Connectivity 2.0s CachedRowSet and WebRowSet, used with a downloadable Java applet, would provide the same combination of low-bandwidth traffic and a rich user interface.

And a third option is Macromedias Macromedia Flash MX. Flash MX (the latest version of Flash, released a couple of months ago) can have data-bound controls when used with a copy of ColdFusion MX (see eWEEK Labs May 13 review of ColdFusion MX as a server).

Flash (as a technology) is the most widely distributed browser plug-in and is multiplatform (as Java is, of course), although Flash MX is still new.

So, there are lots of options, and developers will choose based on their skills and the types of users that need access to data.

But is the downloadable thick client destined for niche-market status? The platform dependencies can be a killer, and the end user still needs some kind of plug-in to get them to work. Developers, whats been your experience? Are bandwidth or HTML limitations enough to make you endure the thick client pain?

E-mail me at