Although I am a technologist and I like pushing the limits of technology, I try to look at things from a users perspective as often as possible to make sure that I’m creating value and not just making decisions that would lead to things that I think are cool. End users, as most of us know, just want an application that works well and helps them do something they find important. The technology used to implement the application does not matter to them at all. You get bonus points for going above and beyond that bar with flashy effects and eye candy, but only if you’ve got your bases covered first.
Using Ajax Makes Sense Sometimes
Development managers need to ask themselves at least these two questions before adopting Ajax on a project. First, will you make up for the time invested in adopting a new technology through increased development speed? And second, will Ajax allow you to offer a more useful application to your users? Development managers are accustom to asking the first question about new technology because most organizations keep them focused on deadlines, budgets and getting functional requirements implemented quickly. However, really great organizations encourage their development managers to think about the user experience as well.
Now of course, nothing is that black and white, you also need to pick a project that makes sense. Success with Ajax has a lot to do with picking the right project to apply the technology to. Ideally, you want to bring in Ajax on an entirely new project or on a complete rewrite effort of an existing application. While enhancement projects to existing applications can work, they take a lot more planning and coordination and should only be done if you are positive the results will be a big gain with the users. Since users have a certain expectation of how an existing application should work, any change to the application will be scrutinized much more closely and any negative reaction may overshadow the benefits you tried to add by using Ajax.
Full Integration Saves Time
In terms of a time savings, there is no question that Ajax and especially full scale Rich Internet Application (RIA) frameworks have the potential of significantly reducing the time it takes to develop web applications. The main hurdle that exists right now is legacy applications and the prior web development paradigms on which they are built. Many of the Ajax frameworks out there focus on adding another layer to the existing web development model, which typically leads to increased application complexity since there are more moving parts.
Therefore, IMHO the greatest gains with Ajax are to be realized with fully integrated frameworks that are designed around the power of Ajax from the start. Frameworks like Rails, Grails and others provide tighter integration but they stop short of eliminating the request/response model, page flow semantics as well as other outdated paradigms. Additionally, they still require the developer to work with a number of separate technologies ([D]HTML, DOM, JS, CSS, etc.) and toolkits (Dojo, Prototype, Scriptaculous, etc.) rather than providing a single development technology like desktop applications have traditionally done. In contrast, server-integrated Ajax RIA’s such as ThinWire, Echo2 and others, cut out the complexity and provide the developer with a single homogeneous development environment. Such frameworks allow the developer to focus on building a great application and not on the underlying details. Anytime a technology can do that for your developers, you can realize a significant reduction in the time required to finish your projects.
In fact, these kinds of frameworks nearly close the gap between web and desktop applications. Unless you explicitly need access to lower-level desktop resources like the graphic card, sound card or file system, there is no longer any reason to build desktop applications. And even in those cases, you’re better off building an RIA app and then using browser extensions to provide the appropriate restricted access to desktop resources where required.
Planning Trumps All
The bottom line is that a little proper planning and the right Ajax framework selection for a project can lead to excellent wins for the developers in terms of time savings and for the users in terms of a more powerful and useful application. However, improper planning and implementing Ajax technology just for the sake of saying you use “Ajax” is almost always a loosing scenario for everyone involved.