Computerworld

Application builders in the sky

Do-it-yourself online tools are quickly moving beyond the creation of forms and spreadsheets to database-driven Web apps

The power of Web-based applications continues to burgeon as they take on the art of application building itself. In a number of online tools, the old compile-link-deploy loop disappears, and editing a Web application becomes as simple as editing a comment for Slashdot. (Notice I used the word "edit," not "program.") Just click a few times in the browser and your application is up and running.

This trend has been unfolding for several years. First, the vendors tried letting you build your own forms with AJAX drag-and-drop tools. Then they let you add a bit more scripting to the widgets. After a few iterations, the products aren't much different from a full-fledged tool built out of Java, PHP, or Perl.

Today, the tools available let you build something that required a team of Java experts just a few years ago. They range from the simple form construction mechanisms from sites like Wufoo to more sophisticated sites, such as Coghead (see the review of Coghead), that build full applications. Even online office applications sites like Zoho are growing pretty close to offering most of what you need to build a full database-driven Web site. There are even some interesting sites like AppJet that let you program in good old ASCII while using a Web engine. All of these are converging on the familiar Web application built around a database.

All of these tools specialize in managing the tables and tables of information that are routinely dispatched to relational databases. These are the lifeblood of businesses, and it's no surprise that there are a number of approaches to corralling this data.

Forms over function

The simplest tools don't do much, but they can accomplish much of what traditional Web sites do. If you want a number of people to fill out their particular row of a database, nothing could be simpler than JotForm, FormAssembly, or Wufoo. You drag and drop fields onto a page until you've got all of the questions arranged in a way that won't annoy the end-user too much. Then you push a button, send out e-mails, hope the people won't ignore the request, and collect the data in a collated file.

Wufoo is the slickest of these three -- if you like the multicolored cacophony so common in Web 2.0 applications. The company brags that Jakob Nielsen, the design guru, chose Wufoo as one of the best user interfaces of 2008. The system is easy to use, and I found only a few holes when I tried to confound the form validation routines with arcane URLs.

The vendors compete boffering additional features to make their forms more sophisticated. FormAssembly, for instance, now lets you add CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) protection that forces the user to prove they're not out to get Sarah Connor by reading some oddly tangled mess of words. It also has a nice collection of CSS style sheets for dressing up the forms in the Form Garden. All are distributed under Creative Commons licenses.

Payment integration is one of the neater aspects of all three of these tools. JotForm, for instance, supports six different payment mechanisms, including PayPal, Google Checkout, and ClickBank. Once someone fills out a form, they are forwarded to the payment gateway. The money received shows up in the same table as the information from the form. This is a simple way to take prepayment for events.

Page Break

While all of these systems are meant to be glorified form processors, they can be surprisingly useful if you're willing to adapt. Most interaction on corporate Web sites involves pure data entry, and that's all these tools do. Programmers might laugh that JotForm categorizes adding a star rating as a "Power Tool," but these form processors aren't playing to fancy programmers. They're looking for business folks tired of hoping programmers will answer their e-mail.

It's not really possible to do tricky customization of the interaction with these sites, but I don't know if much is necessary. You can't write a script that will examine the incoming data and look for special exceptions, but there's no reason why most of this can't be done off-line with some post-processing. The majority of the basic tools for stopping data format errors are built in.

Beyond the sheets

Whereas Wufoo, FormAssembly, and JotForm all began as sophisticated replacements for paper forms, other tools started as replacements for desktop spreadsheets. Although the tabular mechanisms began as tools for the accountants who want to play with the numbers, these tools are often used as a simple tabular database. Zoho, the online application company, even offers three distinct solutions that tackle managing rows and rows of data in slightly different ways. (See our review of Zoho Writer and Zoho Sheet, along with other Office alternatives.)

Zoho DB is mainly an online spreadsheet that can be shared among users. Its direct cousin is Zoho Sheet, an online spreadsheet that's quite similar. While each user can input data, there's no form feature that would allow others to input their row directly, as in Wufoo and company. However, the reporting and manipulation tools are more sophisticated, offering the opportunity to pivot the data and rearrange it in useful ways.

If you want more sophisticated interaction with users, Zoho Creator is said to be an "application building environment" with a database hidden deep inside. The most notable feature is a scripting language that lets you construct special responses to the forms people fill out. This ability is lacking in the other form processing tools, and it can be quite helpful for dealing with the odd responses that people include. If your application can't let this wait for a human to post-process the data, then you turn to it. Zoho cautions users that Zoho Creator's database operations aren't as sophisticated as Zoho DB, and the company hopes to merge the two platforms eventually.

Programmers older than 12 who still pine for the days when code was written in ASCII and stored in files will be happy to know that some sites are still wedded to traditional ways. AppJet is a nice IDE for Web applications that lets you write the code in your browser. The entire type-test-debug cycle occurs on the client.

Page Break

The server code is written in JavaScript, a nice touch that allows some harmony with the client-side code mixed into the application. Everything is hosted automatically by AppJet in their server cloud. One of the neater features is a button that allows you to clone many applications. It's a nice mechanism for encouraging people to build on the work of others.

The best part, though, may be the practically prehistoric requirement that all of the code should be bundled in one file. The CSS, HTML, and JavaScript are all stored in one file and edited in one window on the left of the browser. A test version of the application appears in the right. It's a style that goes way back to the days of paper tape and BASIC programs. The only thing missing is line numbers.

The irony goes even deeper, because AppJet's framework and simplicity mean you're building an entire Web site out of a simple file. It's a funny conceit that probably can't outlast the ability of humans to make things more complicated than they need to be. But it illustrates just how much can be done with these simple applications.