There is a fascinating debate going on at Dojo developer Alex Russell’s blog. Sparked over the release of ajaxWrite, an in-browser Microsoft Word look-alike, the debate calls into question just what AJAX means (if anything) for cross-browser compatibility.

Rather than using cross-browser DHTML like Writely, ajaxWrite uses Extensible User Interface Language (XUL), which means it will only work on Mozilla browsers like Firefox. Alex Russell believes that advertising such an application using the AJAX name is both misleading and harmful.

On the one hand, AJAX stands for Asynchronous JavaScript And XML. If this is taken as a complete definition of the technology, then AJAX makes no mandate as to the technology used to present an interface to the user. Though typically written using DHTML (aka DOM Scripting), user interfaces written in Mozilla’s XUL would be perfectly allowable. It is already common and accepted practice to do away with the “X” in AJAX by using lighter data transfer formats like JSON (AJAJ?).

On the other hand, the biggest benefit of most AJAX applications over alternatives like ActiveX, Flash and Java Applets is that it will work across browsers regardless of available plug-ins or proprietary technologies. To corrupt this implied benefit of AJAX by using the name to promote a product that uses browser-specific user interface technology, argues Alex Russell, is an “abomination” of “shameless marketing”.

Meanwhile, ajaxWrite developer Michael Robertson has declared that “ajaxWrite is just the beginning” — his company has pledged to launch a new application every Wednesday, reachable via ajaxlaunch.com. It would be reasonable to expect these will all feature XUL interfaces, and names beginning with “ajax”.

Kevin began developing for the Web in 1995 and is a highly respected technical author. Kev is a world-renowned author, speaker and JavaScript expert. He has a passion for making web technology easy to understand by anyone. Yes, even you!

Free Guide:

How to Choose the Right Charting Library for Your Application

How do you make sure that the charting library you choose has everything you need? Sign up to receive this detailed guide from FusionCharts, which explores all the factors you need to consider before making the decision.


  • http://backgammon.haad.org Nir.Tayeb

    ajaxWrite isn’t AJAX because one of the conditions for AJAX (by the defining of Adaptive Path) application is:
    *standards-based presentation using XHTML and CSS;*

    but ajaxWrite is programmed with XUL and not XHTML.

  • http://www.lowter.com charmedlover

    AJAX is not cross browser in the least of means. Safari provides plenty of issues just in itself. Then Opera lacks a bit. It will improve over time, but it really isn’t cross-browser.

  • http://www.lopsica.com BerislavLopac

    This “ajax” thing is getting as out of hand as is the ridiculous patents thing…

    First, now we have the term “ajax” in a final product’s name. Up to now we encountered it only in the names of libraries and other auxiliary products like xajax.

    Second, as the first commenter above noticed, if it is presented with XUL instead of (X)HTML it’s not even “ajax”.

    I’m looking forward to the death of that ridiculous term.

  • http://www.floogy.com Madmac

    Is AJAX cross-browser? Well, is Javascript cross-browser? Is CSS cross-browser? All depends how you use it, mate. It’s not a Y/N answer.

    I don’t think that what ajaxWrite is doing is necessarily bad. The only reason for thinking that comes from those who cry “Why doesn’t it work in my IE? Now, dog gone it, I can’t use it!” Very closed-minded. Why?

    Well, why would anybody hesitate to download and install Mozilla Firefox for the sole reason of using this office application, after years of not hesitating to purchase and install Microsoft Office for similar functionality?

  • http://www.sitepoint.com Matthew Magain

    As an advocate of web standards, I was glad that the original Adaptive Path article that coined the term included the term “standards-based presentation”, because it provided a sound approach for people who wanted to jump on board the AJAX bandwagon to go ahead and do so “the right way”. I secretly cheered them for sneaking that bit into their definition.

    But I always wondered whether someone wouldn’t just interpret the acronym more liberally and use it as they saw fit, like in this instance. I mean, we could call it AJAX-ACAD-SHOX (Asynchronous JavaScript And XML And CSS And DOM And Standards-compliant HTML Or XHTML) but it doesn’t quite roll off the tongue now does it?

    I’m with Russell, I think it is taking liberties. ajaxWrite is as much an AJAX app as any other JavaScript-heavy browser-specific app like Mercury TestDirector which has been around forever and only works in IE. Unfortunately it’s not a trademarked term so this is unlikely to be the first instance of this occurring.

  • Etnu

    So, in other words, AJAX is a stupid name for the technology. I think we already knew that. Thanks.

    Keep in mind, though, that if other browsers adopt XUL (or XAML, Microsoft’s XUL rip off), then it’ll most likely become the standard for web applications (I could see FLEX there, too, but, well, using flash as a delivery mechanism creates other problems).

  • http://www.sitepoint.com Matthew Magain

    So, in other words, AJAX is a stupid name for the technology. I think we already knew that. Thanks.

    Not what I’m saying at all. Just that because it’s not trademarked, it’s open to interpretation by someone who holds their marketing goals above the goals of a standards-based Web.

    Keep in mind, though, that if other browsers adopt XUL (or XAML, Microsoft’s XUL rip off), then it’ll most likely become the standard for web applications

    Ah, so it’s OK to code using a browser-specific technology, and give it a name that implies cross-browser compatibility, because one day they’ll all support it. Hmm.

  • http://www.smartborneo.com ketyung

    Hi all;

    Here is an ajax-based search engine, AskAlexia.com, is a combination of simple UI+ajax+speed, still in its BETA, with only web,image, video searches available, have a look if this is cross-browser? I guess it is :)

  • http://www.saumendra.com saumendra

    Its a journey started in the form of “AJAX”. Going 10-15 years back We have WEB, then the First Web script evolve, then there is a whole line of scripts followed,
    The Internet grows moree than anyone can imagine, People start using the web , inovating all the possibilities. Everyone is in the process to improve. New Ideas like using separate back engines evolve(DataEngines, WebServers, Search Engines,……AJAX)get noticed and lined up for the next great inovation after the CERN discovery in 1992. AJAX is a technology not a word to be entering into dictionary. I think there needs more to be done on the standardisation and 3embedding more features than Fighting on What is What. Sure technology comes in our way to show us a diffrent direction and what to choose is soley ours.

    using “AJAX” implementation in AJAXwrite is not misleading,but its leading and we are missing its pace.

  • Richie

    “using “AJAX” implementation in AJAXwrite is not misleading,but its leading and we are missing its pace.”

    Is it really “leading” when it brings the web back to the early nineties, with single-browser technologies rather than cross-browser code and open standards?

    The web is moving towards the latter (open standards), not the former (non-standards).

  • http://www.calcResult.co.uk omnicity

    I think you have as much of a problem defining ‘cross browser’ as you do in defining ‘AJAX’
    AJAX itself will (in theory) work on things like Lynx, but since they don’t support enough DHTML for most of these applications, it will be effectively useless. Even in the best browsers, when used in combination with assistive technology AJAX is usually not accessible, even when it does exactly what the developer intended. Does that make it cross-browser compatible?
    I don’t think so, and that makes it rather illogical complaining about someone using the XUL standard (yes, it is a standard, just one that MS doesn’t support).

  • kyberfabrikken

    Like many others, I find the term AJAX totally overhyped, but if it’s to be taken as anything other than just a buzzword, it must carry some meaning that webapplication doesn’t. I think it’s safe to say that the uniqueness of AJAX over other related technologies and paradigms is that it is a webapplication that works in consumer-level browsers. You can cook this down to standards-compliant, but what really matters is not asmuch the adherence to standards, but that it de-facto works in “normal” browsers.
    This may be a bit too pragmatic for a definition of the term, but I’m quite sure that it covers the consensus amongst the ajax-community. Given that, Alex Russell’s criticism is justified, since ajaxWrite breaks with the boundries of the paradigm and thereby reduce it to having no meaning, rather than extending it’s meaning.

    Just my 0.2€

  • Cronweb

    The design of the ajaxwrite website needs some work

  • http://www.sitepoint.com Matthew Magain

    Even in the best browsers, when used in combination with assistive technology AJAX is usually not accessible, even when it does exactly what the developer intended. Does that make it cross-browser compatible?

    If the developer makes the app degrade gracefully or provides alternate content (e.g. gmail), yes.

    I don’t think so, and that makes it rather illogical complaining about someone using the XUL standard (yes, it is a standard, just one that MS doesn’t support).

    You’re missing the point. No-one’s complaining about the use of XUL. It’s the naming of the app. And no, it’s not a standard. There’s no W3C XUL working group. Neither is XMLHttp, but it’s not a browser-specific technology, even if support varies between browsers.

  • http://www.cladinblack.com skinjester

    in looking at AskAlexia.com – The Web 2.0 Search Engine, maybe I’m missing the point? OK, it seems to be state-based rather than page-based, and there is some pleasant mouse-over hiliting going on, but without intending to sound snarky, so what?

    I’m not seeing any value provided that isn’t already provided by, uh… Web 1.0 search engines. Granted this is in beta, but I would have expected to see additional functionality such as a “bin” containing previously selected search results, or maybe a “bin” to which I could drag & drop search results for future reference. Or even Google style prepopulated lookup up of common search terms based on my own data entry…

    Am I missing something obvious here?

  • http://www.sitepoint.com Matthew Magain

    Am I missing something obvious here?

    Nope. It’s poop alright.

  • http://www.calcResult.co.uk omnicity

    Maybe I am missing the point, but to my mind, AJAX is essentially Just Another Vague Acronym. Like Java, and HTML, both of which are very well-defined, what is created with the under-lying technology has little to do with the framework itself. HTML can produce a beautiful web page, or a horrible web-app, while remaining 100% compliant with the standard. Note that AJAX has the same standing as LAMP, where it is agreed that the final P can stand for either PHP PERL or Python, or even something more esoteric like Ruby. To my mind the important point about AJAX is the A not the X – would you complain if the Javascript was replaced with VBScript? (Assuming anyone was daft enough to try that!)

  • http://www.lopsica.com BerislavLopac

    To my mind the important point about AJAX is the A not the X—would you complain if the Javascript was replaced with VBScript?

    Actually, all elements of the “ajax” acronym can be replaced with something else without changing the essence of the concept — asynchronous with synchronous, Javascript with VBScript (or anything else registered through Windows Scripting Host, for example), and XML with JSON, YAML or any other format. This is precisely why “remote scripting” is a much better term then “ajax”.

  • http://www.primacognos.com bigduke

    Why can’t people just find more sensible names for apps that are ajax look-alike’s and end all such debate?

    Why make an acronym a basis for branding? This is like those php apps’ names … phpThis and phpThat ugh!

  • Pingback: devkungfoo » AJAX Responsibly :: All things web()

  • chumbo

    Cross-browser? It doesn’t work on my WebTV.

    Seriously, I love table-based layouts and the blink tag.

  • Anonymous


Learn JavaScript for free!
Free course: Introduction to JavaScript

Yours when you take up a free 14-day SitePoint Premium trial.