ITworld.com
  Search  
ITworld Home Page ITworld Webcasts ITworld White Papers ITworld Newsletters ITworld News ITworld Topics Careers ITworld Voices ITwhirled Changing the way you view IT

AJAX and the hidden cost of ease of use

ITworld.com 12/08/2006

Sean McGrath, ITworld.com

The IT industry - always a seething den of buzzword bingo - appears to be in complete overdrive at the moment. Based on a back-of-an-envelope calculation, I believe I have had to internalize an average of 1.5 new buzzwords every working day this week.

Many of today's trendy buzzwords are Web related. This is not surprising. What I do find surprising is the extent to which modern buzzwords sound as if they were dreamt up in some high powered brainstorming session over in the marketing department.

Gone are the days of staid, acronymical buzzwords like HTTP or CSS. In are the days of punchy forget-me-not buzzwords like mashups and AJAX and Flash-enabled. Is it just me or does the current buzzword melange sound like it was inspired by a foodfight in a kitchen? All that mashing up going on before the AJAX[1] and the Flash[2] get to work cleaning things up...?

One thing is certain. A lot of the buzzwording going on surrounds improving the user experience on the Web. This sounds very laudable. How could anyone be concerned by such a thing? Are you worried? Probably not. Am I worried? Yes. A little.

Here is how I see it. Making an application easier to use almost always means making better use of the users ability to see; to hear; to click buttons; to access drop down menus and so on. Unfortunately, computers themselves cannot see or hear. This results in a most unfortunate inverse relationship. Namely, the more visual and interactive and compelling an application is from a user interface perspective, the harder it is to make said application do its thing without human intervention.

There is a pattern here. You could almost put it to music. In order to make end users want to use your application, it is necessary to make it visual and interactive. If you are successful, users get to the point where they want to hook up your application with some other application - to integrate them together. At this point, you are probably in trouble. The more successful you have been with your graphical user interface and user interaction, the harder it is likely to be to integrate your application with some other application.

A common buzzword in the industry is the concept of a "front end". In an ideal world, the front end just handles all the graphical user interface stuff while the back end does all the real work. In this ideal world, you can just bypass the front end and work with the back end directly when you want to integrate applications. Sadly, we do not live in this ideal world.

In the real world, front ends have a habit of becoming more than just front ends. They embed business rules and business logic without which, the back end cannot function. In short, the front end and the back end become inseparable. So much for the straightforward integration model. Think of the thick client applications on your desktop that you most like to use. Have they cleanly separated front ends and back ends? Probably not.

Think now of web-based applications you most like to use. How are their front ends and back ends? Well, historically, they have been quite cleanly separated. After all, a web browser only has limited capabilities. Behind the scenes it is really only capable of sending two commands GET and POST to things called URLs. Everything else (slight simplification!) happens at the back end.

Ah, but that was then and this is now. Now we have AJAX and JSON and Flash and the Google Web Toolkit and Windows Presentation Foundation and...

All these things help us to make web applications easier to use. In so doing, the clean separation between front end and back end gets more and more blurred. With every blurring of the separation, application integration becomes more complex.

There are a number of ways to view this. It could be argued that the price is worth paying. It could be argued that the price simply must be paid - it is the cost of a successful application. It could be argued that this is a terrible price and we should find a web development framework that does not sacrifice integration at the alter of interaction.

I'm feeling both pragmatic and world weary just at the moment. I'm going to view it this way:

- the price must be paid.
- as an industry, we can and should find a way to to make applications both highly interactive and highly composable.

[1] http://en.wikipedia.org/wiki/Ajax_cleanser
[2] http://www.pgprof.com/uk/html/uk_ki_flashcleanerspray.shtml

On this topic

 

Sean McGrath is CTO of Propylon. He is an internationally acknowledged authority on XML and related standards. He served as an invited expert to the W3C's Expert Group that defined XML in 1998. He is the author of three books on markup languages published by Prentice Hall. Visit his site at: http://seanmcgrath.blogspot.com.

Read more of Sean McGrath's ITworld.com columns here.




Sponsored Links

New Webcast: How to PROFIT WITH REMOTE SUPPORT
Discover how REMOTE SUPPORT can fuel your IT business in ways you've never thought of before.
IP Networks Boost Secure Health Communications
AT&T provides secure communication to keep health care moving forward.
TOSHIBA SATELLITE PRO Notebook – Save With Synnex!
SYNNEX RESELLERS - Great Deals On Toshiba. Business Computing Has Never Been More Affordable!
Sign up for a FREE NETWORK RISK ASSESSMENT!
MORE THAN 70% OF NETWORKS ARE INFECTED by hidden Malware. Find out if your network is infected now!
FREE Application Discovery Tool from Sophos
Scan your network for VoIP, IM, games and other potentially unwanted applications.
» Buy a link now

Advertisements
Sponsored links
Top 5 Reasons to Combine App Performance and Security
KODAK i1400 Series Scanners stand up to the challenge
Bring harmony to your mix of UNIX-Linux-Windows computing environments
Locate Hidden Software on business PCs with this free tool
 Home   Application Development
www.itworld.com    open.itworld.com     security.itworld.com     smallbusiness.itworld.com
storage.itworld.com     utilitycomputing.itworld.com     wireless.itworld.com

 
Contact Us   About Us   Privacy Policy    Terms of Service   Reprints  

CIO   Computerworld   CSO   GamePro   Games.net   IDG Connect   IDG World Expo   Industry Standard   Infoworld   ITworld   JavaWorld   LinuxWorld  MacUser   Macworld   Network World   PC World   Playlist  

Copyright © Computerworld, Inc. All rights reserved

Reproduction in whole or in part in any form or medium without express written permission of Computerworld Inc. is prohibited. Computerworld and Computerworld.com and the respective logos are trademarks of International Data Group Inc.