Keep It Clean with AJAX

Opinion: More isn't always better when it comes to Web application design.

Im really excited to be finally trying out this new car. It supposedly uses the latest in driving interface technology. Hmm. It drives quite nicely. Im a little cold, though. Ill just turn up the heat and … whoa! What the ... ? A giant pop-up climate control window is blocking half the windshield—I can barely see the road!

I just need to calm down a bit. I know—some music will help. Oh my! The music control interface just replaced the steering wheel. I cant even steer the car! Who in the world created this interface? An AJAX (Asynchronous JavaScript and XML) developer?

OK, not all AJAX developers are that bad. But as the Web development technique increases in popularity and becomes ubiquitous in Web-based applications and core SAAS (software as a service) systems, Im starting to see quite a few instances that show the need for developers to take a few courses in good application interface design.

Im not here to put down AJAX. I personally love it. It gives us—finally—a standards-based way to create interactive Web-based applications that look and work like classic desktop GUIs but dont require third-party plug-ins (such as Flash) or platform-specific controls (such as ActiveX). In fact, AJAX is one of the core energizing technologies behind Web 2.0, as it makes it possible to create dynamic applications that work well across Web browsers and operating systems.

But one thing has become increasingly clear: There are a lot of AJAX developers out there in the world today, and quite a few of them clearly have spent too much time doing normal Web development and not enough time doing classic application development.

While I can name quite a few AJAX-based Web applications that have fantastic and intuitive interfaces, I can also name several that have gone way over the top with pop-up windows, scrolling menu bars, flashing icons and other elements. You name it, and it seems like the developer decided to throw it in.

/zimages/3/28571.gifClick here to read Peter Coffees take on reducing complexity in interface design.

Of course, this isnt the first time weve seen this happen. Back in the initial hype phase of Flash, it was very common to find sites and applications that overdosed on rolling windows, animated intros and other visual noise that got in the way of using the actual Web site or application. In fact, we still suffer from the hangover of this phase in the form of those annoying Flash-based ads that block the Web content you are trying to see.

Thats why its a little frustrating to see the same thing happening with AJAX. One would think that Web developers would have learned their lesson.

Its fantastic that AJAX makes it possible to build really cool Web applications, but developers shouldnt feel the need to throw in every bit of glitz and glitter that the technology allows. Good application and interface design techniques should apply whether you are delivering the application to a desktop or to a browser.

If a pop-up window or menu blocks a user from accessing a core feature of an application, then that window or menu is too big or even unnecessary. If a multitude of cool and flashy interface options actually make the application more confusing and difficult to use, then users will stop using the app—even if it does look cool.

Luckily, this isnt rocket science. There are a multitude of books, sites and training courses dedicated to teaching good application interface design. Also, were all users of applications. When building an AJAX interface, developers should step back and look at the interface from the perspective of a new user. Would you find some of these flashy interface elements helpful or distracting? If its the latter, get rid of them.

Remember, much like a car, an application is a vehicle that helps people get to a destination. In the case of applications, the destinations include collaborative meetings, interactive documents and sales force management. If you add something to your application that makes the app hard to drive, then users wont get to where they are going and will dump your app for one thats an easier ride.

Labs Director Jim Rapoza can be reached at

/zimages/3/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.