Barely a year old as a term, the Ajax browser programming technique has received a lot of press and industry attention in the last few months. Not the least because of the head-turning software that's being developed with it (check Michael Arrington's terrific TechCrunch if you're still not sure about this.)
Jesse James Garrett: It's time to lay the groundwork for the next stage of the development of the WebAjax is sparking yet another big push towards Software as a Service on the Web and even the biggest software players like Microsoft are now making significant investments in Ajax desktops, online business software, as well as elaborate Ajax development frameworks such as Microsoft's forthcoming Atlas product. Even more staid companies IBM and Oracle have gotten together recently and formed an Open Ajax coalition to make sense of where Ajax is going and help ensure it goes in the right direction.
To get a handle on all this, at the Real-World Ajax Seminar yesterday in New York City (disclaimer: I was an invited speaker), Ajax luminaries Jesse James Garrett, Dave Crane, David Heinemeier Hansson, Scott Dietzen, Bill Scott, and many others got together to talk about the very latest developments in Ajax. It was interesting to see the concerns and questions that emerged from the audience as the day progressed. Though even the skeptics agreed that it'll soon be more common to encounter Ajax features on a Web site than not, one major concern is how appropriate a software model Ajax really is for software that matters: business applications and important personal software.
Is the Ajax application model really a good one for most software?
Can an application model ever really be taken seriously which doesn't readily allow information storage on the local client or even access to your own software unless your Internet connection is working properly?
That particular question and other important ones, like ready compatibility with common enterprise technologies, was a key concern for many. Yet the overall mood of the crowd was very optimistic, which surprisingly seemed to consist about equally of large corporate developers and Internet firm programmers, patiently waded through over 10 hours of sessions from Ajax expert after expert to get a feeling for it.
The older Ajax vendors, which have been working on sophisticated Ajax-enabled software for a year or more now, also provided some interesting lessons learned. Scott Dietzen, CTO of Zimbra, in particular had things to say about optimizing for performance and figuring out how to test Ajax software, two things that SOA project leaders would be happy to tell you plague them in very similar, building-on-quicksand ways.
And Ajax development tool leaders like TIBCO and Backbase made a strong showing with their relatively mature Ajax tools since both companies got into the space before Ajax was even a term. Intriguingly, their tools put Ajax development power more into the hands of corporate developers than pure-play Web software creators. And likewise, the relatively new Ajax-powered SOA/Client model also came up time and again in many of the presentations, and the vision of a zero-footprint, zero-admin, rich applications that love Web services seemed to be a winning message with many.
The vision is clear, but are the tools and issues?
The fundamental vision of Ajax though was painted by speaker Jesse James Garrett and coiner of the Ajax term, who told the crowd that it is "time to lay the groundwork for the next stage of the development of the Web." And it's in this sense that the audience tried to size up the significance of what they were hearing. Certainly, there will always be skeptics but even the pragmatists were also talking today about whether these new models of online software are actually compatible with large organizations and software efforts. Ajax and kin may just be too different and their requirements so disjoint from the well-trodden paths and products of the enterprise world that developer tools might just be fractured on this fault line.
However, if real pragmatics is what you want, it was David Heinemeier Hansson that delivered the clearest eyed vision in his Ajax on Rails presentation yesterday afternoon as he described the storied advantages of the increasingly popular Ruby on Rails framework. I asked him directly about the scalability and maturity of Rails and he told me that 37signals supports a user base of almost 400K users with less than a dozen and a half servers. And Rails, being based on Ruby, can reportedly make software maintenance easier and simpler than ever before, a compelling argument in an enterprise world where maintenance is the mainstream story, not new development.
So, though Rails and the enterprise was precisely the subject of discussion in the blogosphere today, it is clear that the practical approach to software development, as advocated by the Rails community and embodied by the Rails framework, could be very compatible at least with the smaller, fast moving modern organization, what some business folks have given a fancy term to: gazelles.
A springboard to large-scale success or failure?
I'm a believer in Ajax, SOA/Client, and agile development partially because we can all see the results today in the relatively high-quality, low cost, innovative software pouring out of the Web these days. But it's also clear that tools that let you do big things easily also force you to deal with big design, implementation, and scalability more easily. This will push the short-term results of using these technologies towards the more spectacular, both in terms of successes and failures, at least until the experience curve catches up.
And while I'm confident that it won't be the case, it could ultimately be what Ajax and Web-based mashups could be most famous for: Creating mounds of ephemeral eye-candy that can can't achieve the necessary gravitas and depth to really matter.
Dynamic software languages are back with a vengeance. Will you build your new software with them?