Welcome!

AJAX & REA Authors: John Funnell, Bob Little, Kevin Hoffman, Maureen O'Gara, Onkar Singh

Related Topics: AJAX & REA

AJAX & REA: Article

Keeping the User in Perspective with AJAX

End users just want an application that works well and helps them do something they find important

Josh Gertzen's TrueCode Blog

Although I am a technologist and I like pushing the limits of technology, I try to look at things from a user's 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.

So 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 accustomed 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.

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 RIAs 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.

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 losing scenario for everyone involved.

More Stories By Joshua Gertzen

Joshua Gertzen has for the past three years been the primary architect responsible for designing, maintaining, and enhancing the ThinWire Ajax Framework, which is now open source and in production use. Over the last six years, he has also played a key role in building the technology infrastructure at Custom Credit Systems.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
navot 11/03/07 02:03:35 AM EDT

I would like to draw your attention to another alternative which is a paradigm shift for AJAX front ends. One should be aware that I am not, and do not pretend to be objective, never the less I believe that one can judge for himself. Visual WebGui is an open source rapid application development framework for graphic user interfaces of IT web applications. VWG replaces the obsolete paradigms of ASP.NET in both design-time and run-time which were designed for developing sites, with WinForms methodologies, which were designed for developing applications. Thus enabling designer that was designed for application interfaces (WinForms designer) instead of a word documents (ASP.NET designer). This provides the developer with an extremely efficient way to design interfaces using drag and drop instead of hand coding HTML Worth a look at www.visualwebgui.com