The relentless drive to control every part of the world from a browser-based widget is now turning on itself. Not only are all of our desktop applications being replaced with HTML, but the act of creating a Web application itself has moved to the Web. The new platform from Coghead lets anyone build Web applications by pointing and clicking at another Web application. The only time you need to edit ASCII is when you're putting labels on columns and widgets.
This development shouldn't be surprising. Many of the AJAX toolkit makers like JackBe and Backbase built their own development environments out of their own toolkit, a nice gesture of eating their own dog food. Coghead takes this trend to the logical end by encouraging anyone in any coffee shop with free Wi-Fi to just log right into a free account, click a few times to spin up a data structure, and roll out the application. Coghead's cloud, built firmly on Amazon's cloud foundation, does the rest. Your new application then appears on the Web as a cloud to your users, an effect that turns the word "cloudy" into a compliment.
It's not surprising that the Coghead folks like to talk about how their customers are building cool applications without writing any lines of code. Programmers themselves invented this conceit when they started telling their managers that the new XML configuration files would let the managers control the software without doing any coding. Ha.
What this statement really means is that anyone can whip up a Web application without typing ASCII words in some C-like syntax that needs to be parsed by a compiler. You just drag and drop some form widgets onto pages and the data model morphs to support it. If you improve a customer contact entry form by inserting a new pull-down menu for favorite baksheesh, a nice column for baksheesh appears in the database table holding the information on all of the customers. It's all automatic. It's a lovely way to build up a few tables by just drafting the forms.
Coding no, programming yes
Creating a complete application, though, requires doing some of the abstract thinking that programmers will recognize as something that they do every day. Cleaning up the data model, dealing with incongruities, planning for future expansion, and good refactoring are all still necessary. You may not be typing ASCII code in a C-like syntax as you do it, but I think most programmers will think of it as programming in much the same way as kids see right through a parent's attempt to relabel yard work as character building, nature reintegration, or Vitamin D therapy.
The real work for the programming part of your brain is creating the architecture for your data. Coghead wisely chose a fairly flexible data model where XQueries search through the data structures. A more traditional relational database usually requires plenty of JOINS and extra matching tables for many-to-many relationships. This makes collections of objects attached to other objects a bit simpler, and that helps with the overall appearance of the application.
One of the odd side effects of designing the data structure by building forms is that there's a form for editing even relatively hidden tables that aren't meant to be seen by the public. This means you often need to go through and build a simpler set of pages on top of the first, in effect creating a sort of wizard. The good news is that you don't need to build an administrator's console after you get things working for the end-user. The bad news is that the applications tend to offer endless forms. Getting things done at the beginning includes clicking on multiple forms and tables.