RESTful And Social Internet Applications

Mark Birbeck is always thought-provoking, as a thinker and prototyper on the frontier of next-generation Internet Applications. I particularly appreciate his perspectives on metadata and microformats.
Mark recently posted an example of a Link Manager Written in XForms. This and some of Mark’s earlier examples, such as XForms-based RSS Reader really show off the potential power of XForms as well as the appeal of the sidebar approach to extending the browser as a platform. However, these sample applications to me also show that declarative model-based application construction “without programming” is still a bit of a Holy Grail: a rich application may be able to be built script-free but while I’m a bit astonished at what Mark has shown can be accomplished within XForms, at some point the complexity of the XML markup arguably exceeds what a script-based approach would have produced. If you are really going to be implementing programmatic algorithms, having to use cumbersome XML markup with a fixed set of atomic actions and only work-arounds to enable looping amounts to programming with boxing gloves on. And while XForms doesn’t prevent scripting, if you are going to have a major script component in your RIA, then would XForms really be buying you much in the first place? A big part of the appeal of emerging frameworks like Ruby on Rails is the elimination of XML configuration spaghetti in favor of a focus on simpler, more streamlined code. As a coder this makes a lot of sense to me. And with introspection and other techniques tools can do a lot of analysis on programmatic code – further diluting the supposed advantages to programmers of declarative approaches.
It seems to me that if declarative model-based approaches to application construction are going to take off, advocates need to change the rules, and stop trying to oversell programmers and scripters on non-programmatic approaches. Instead we should create new classes of tools that really are for non-programmers, that do things like hide the complexities of XML Schema and XPath. When the day comes that non-programming users are really building production-level RIAs, I’ll wager long odds that they won’t be doing so by editing XML XPath node-set expressions in Notepad.