Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Applications
    • Applications
    • Development
    • IT Management

    AJAX Is No Overnight Success

    Written by

    Peter Coffee
    Published January 16, 2006
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      Its almost time to send first-birthday-party invitations for AJAX, a catchy label (though not a novel idea) that has quickly become the banner buzzword of standards-based interactive applications for the Web. The benefits of AJAX are far more obvious than its burdens on developers, and eWEEK Labs therefore offers this perspective on the choices that developers face.

      The term AJAX has its origins in “Asynchronous JavaScript and XML.” The first word in that spellout is the most important, while the others should not be taken too literally.

      An AJAX application combines behind-the-scenes server interactions with client-side user interface rendering. “The user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something,” said Jesse James Garrett, co-founder of San Francisco-based Web consultancy Adaptive Path LLC., in his widely cited article propounding the AJAX label.

      The result, as clearly apparent in AJAX applications such as Google Inc.s Google Maps, can be a Web application that looks and behaves much more like a conventional “thick client” app—one that responds dynamically to user actions, rather than waiting for an explicit “submit” command.

      Note well the qualifier “can be.”

      Even Garrett has stressed that the promise of AJAX is a potential rather than intrinsic improvement in the users Web experience. “AJAX applications inevitably involve running complex JavaScript code on the client. Making that complex code efficient and bug-free is not a task to be taken lightly,” Garrett warned in his AJAX essay.

      Developers should also consider the performance implications: As bandwidth stops being the limiting factor, eWEEK Labs is already seeing rich AJAX applications that expose processor speed and JavaScript implementation issues as new bottlenecks to Web site interaction.

      Handheld devices, with their modest processor and memory resources, may disappoint users who first encounter AJAX responsiveness on much faster desktops and laptops.

      /zimages/3/28571.gifGoogle and BlackBerry maker RIM have signed an agreement that will allow users to access Google Talk and Google Maps on the go. Click here to read more.

      Advocates of standards-based development have noted the unfortunate history of JavaScript, the “J” in AJAX. “In the past, browsers made a distinct point of being as incompatible as possible, and they gleefully ignored standards such as W3C [World Wide Web Consortium] recommendations,” states the JavaScript Manifesto of the DOM Scripting Task Force of the Web Standards Project. Experience at eWEEK Labs confirms continued browser-specific variation in AJAX application behaviors, including both display and printing.

      It requires a real effort for developers to skirt the browser-war debris that clutters the AJAX battlefield, as noted by Brett McLaughlin of OReilly Media Inc. in a December tutorial published on IBMs DeveloperWorks site. The defining act of an AJAX application is the creation of a JavaScript XMLHttpRequest object, whose interfaces enable behind-the-scenes communication with the server. Different browsers create that object using different incantations. McLaughlin urges developers to encapsulate the differences in JavaScript exception-handling mechanisms, coming up for air with their chosen variable name bound to a proper XMLHttpRequest object in any AJAX-capable browser.

      Once the asynchronous engine is started, the challenge for developers is to make an AJAX application better than a Web 1.0 ancestor without being jarringly different. For example, Web users are accustomed to the idea that if they dont like what theyve just done, the browsers Back button will get them to a previous state from which they can try something else. An AJAX application should not deprive the user of this same sense of security. Web application developers must therefore implement “undo” to a degree that was not previously their problem.

      Web users also expect to be able to copy a URL and send it to another user, who will then be able to navigate directly to the same page in the same state. AJAX applications must make explicit provisions for this, generating and displaying a state-representing URL on request and interpreting that URL correctly when it is received.

      Connection management issues that were previously the problem of browser designers may require an AJAX application to provide specific JavaScript logic—especially if an application offers multiple tabbed panes or other user interface elements whose updates should proceed in parallel but with priority given to what the user is currently seeing.

      AJAX updating of Web-page elements can be too seamless if a user doesnt even notice that something has changed. This requires AJAX application designers to consider various means (such as temporary color highlights or animations) for briefly calling attention to new data—as opposed to conventional Web applications, whose content changes only when the user asks for that to happen.

      Next page: AJAX faces cultural obstacles too.

      AJAX faces cultural obstacles


      too”>

      Other barriers to AJAX development are as much cultural as technical. The perception that real programmers write [insert technology here] applications, with the insertion being chosen from .Net, Java or other technology du jour, may be entrenched in a development shop.

      Developers may even argue that the generation beyond AJAX is already being defined by Microsoft Corp.s .Net languages and frameworks—specifically, the presentation and communication foundations of Microsofts forthcoming Windows Vista. This platform offers developers the prospect of powerful asynchronous communication mechanisms plus engaging client-side interaction, freed from the confines of a Web browser. One could argue that AJAX takes aim at the problems of browser-based application development, just as the developer community prepares to leave the browser behind.

      /zimages/3/28571.gifDoes Microsoft want a piece of the AJAX action? Mary Jo Foley thinks so. Click here to read more.

      If a preference for open standards drives AJAX adoption nonetheless, an outcome to be avoided is one in which AJAX is oversold. Its appeal may seduce newly empowered front-end developers into shifting too much of a task off the server and into the browser. “Front end technology can never replace … back end technology, or vice versa, because the two have different purposes,” states the JavaScript Manifesto. “Back end technologies search for, collate, and serve data and business logic. Front end technologies present this information to the user. The two need to be properly separated.”

      AJAXs “X” for XML should be taken as descriptive, not prescriptive. “XML is the most fully developed means of getting data in and out of an AJAX client, but theres no reason you couldnt accomplish the same effects using a technology such as JavaScript Object Notation or any similar means of structuring data for interchange,” Garrett said. He apparently couldnt resist, however, the temptation to embed a reference to XML as the price of a catchy name.

      Developers must steel themselves against the implication that theres some organic connection between JavaScript and XML that makes AJAX an all-or-nothing proposition. Its useful for developers to appreciate the generality of the ideas that are at risk of becoming straitjacketed by the AJAX label. “The name AJAX was apparently coined because HTTP + XML + HTML + XMLHttpRequest + JavaScript + CSS was too long,” suggested software researcher Ian Hickson in a blog posting one month after the AJAX name emerged.

      Understanding each of those component technologies, and letting each do what it does best, may be a better approach than seeking out a packaged AJAX solution and letting its choices and limits become the developers as well. Microsoft Program Manager Dare Obasanjo made this point from another perspective with a comment on his blog last March: “What I find particularly disappointing about the AJAX hype is that it has little to do with the technology and more to do with the quality of developers building apps at Google [Inc]. If Google builds their next UI without the use of XML but only JavaScript and HTML, will we be inundated with hype about the new JUDO approach (Javascript and Unspecified DOM methods) because it uses proprietary DOM extensions not in the W3C standard?”

      Googles high profile has contributed to an aura of fairy dust surrounding AJAX, making it seem both more powerful and less risky than it may prove to be in the hands of any but the most talented developers. But as Sophocles wrote in 440 B.C., “Ever do I behold thee scheming to snatch some vantage oer thy foes. Skilled in the chase thou seemest. Say what eager quest is thine, that I who know may give thee light.” Thats Athenas opening speech in the classic play “Ajax.”

      Peter Coffee can be reached at [email protected].

      /zimages/3/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in Web services.

      Peter Coffee
      Peter Coffee
      Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×