Posted
by
Hemos
on Saturday August 12, 2006 @06:37PM
from the high-prevailing-winds-and-lack-of-rainfall? dept.

An anonymous reader writes "AJAXWorld Magazine is running an article entitled "What's So Special About AJAX?" in which the majority of the contributors agree among themselves that AJAX "heralds a new, global sense of what the web can be and what the web can do, in ways that are so different but so much better than what we have been used to." While many of those the magazine consulted adduced technical reasons for the spread what one of them, Rich Internet Application pioneer Coach Wei, calls "the AJAX wildfire," only two mention how human nature — including that of software developers — is, well, notoriously susceptible to the latest fad. Which side would you agree with?"

AJAX is becoming popular because it helps do away with the concept of pages that have to have every element transmitted and redrawn on every roundtrip. AJAX does one better and essentially eliminates the roundtrip altogether. A button click just sends the data that's pertinent and redraws only the pertinent parts.Ruby is more likely to be just another fad, AJAX is actually something new. That's not to say someone won't make a better way to do what AJAX does (they probably will), but AJAX is definitely somet

This is not an "insightful" comment, because it's wrong on at least two counts.

But I'll not toss away a mod point to say so, only to have it trashed by some Ajax fanboi in metamod.

1. Ajax does NOT eliminate the round trip between client and server. It just lends the ILLUSION of doing so. Sure it looks cool and wonderful, but requests still have to go to the server, and responses still have to come back over the wire. It only *looks* seamless if you've a broadband connection, which lots of folks still don't.

2. Ajax is NOT new. The technology has been around for a while now. For that matter, it's not even really dependent on XmlHttpRequest - you could do much the same thing with IFRAME elements, at least on your own site.

And Ajax has at least two potential problems in common with frames - poorly-implemented apps don't provide a way to bookmark results - if you use content from another provider, then you're dependent on that being available, and you need to provide a fallback in case they aren't.

I don't object to Ajax, I actually think it's pretty cool. But it's not new, and it doesn't change the way the Web actually works.

(And for anybody who thinks I'm just miffed by the parent's cheap shot at Ruby - I personally don't use or care about Ruby. But it was a cheap shot.)

I'm not an Ajax fan...err, "boi," but I really can't stand obnoxious assclowns.

1. "...essentially eliminates" is what was said. He even went on to say, "A button click just sends the data that's pertinent..." Which is quite ironic as this statement also serves to point out the idiocy of mentioning broadband vs dial-up in your response. As if unessential data in a request/response is actually better for dial-up.

2. The proliferation of Ajax is absolutely new. Just as the proliferation of the Interne

1. Ajax does NOT eliminate the round trip between client and server. It just lends the ILLUSION of doing so. Sure it looks cool and wonderful, but requests still have to go to the server, and responses still have to come back over the wire. It only *looks* seamless if you've a broadband connection, which lots of folks still don't.

While this is completely true, in many instances, it does significantly reduce the quantity of data transferred. This is especially true in systems like Amazon.com where lots of

But javascript didn't change application architecture other than offloading field validation or allowing table column sorting, image swapping and stuff. AJAX breaks the web document model. A bigger change has come with other applications that use the web (ie http and URIs) outside of the browser - like RSS for instance. and websites that provide an API with xml-rpc or something similar. that's huge. the javascript change is nothing compared to that. web services, I guess they're called.

so to answer the question: is it a fad? yes, in the sense that now is the time to cash in with your 1115 page Bleating with AJAX book with DVD-ROM in the back and your smug mug on the front. yes, in the sense that lots of people will do unnecessary AJAX implementations for entirely selfish resume-style reasons. no, in the sense that the existence of AJAX points out the disconnect between the browser concept and what we want for applications on the net.

The main benefit of AJAX is more uniform browser support and the absence of distracting things like a always running throbber. That's it -- no more, no less. So when the hype has faded the people who know what they're doing will still use it to shorten the UI flow.

In a pure form yes. Most people use "ajax" to do dhtml like things. They make dippy drop down boxes and so forth. You could seperate the content of that box with an external javascript document that's dynamically generated too.

In my opinion, when someone uses "ajax" but with html and javascript only its really dhtml. Now if someone is really using xml documents and doing something original i'll give them credit for the latest fad.

I am sorry, did you just say AJAX is NEW? UNIQUE?9 years ago I used hidden IFrame in the browser that communicated with the server and then passed the data back and forward between that hidden frame and the main window. It was exactly like AJAX but instead of XML I was using a simpler, a faster way to transfer data: key-value pairs. And I came up with that on my own too, but I know that others came up with the same (similar) solutions.

The XML thing makes it easier in that you don't have to program in the data encoder/decoder. It handles being able to put any text in it with proper escaping, and have the data be easily read on the other side. Plus if you use a simple XML schema, it's not that much heavier than using key/value pairs. I mean, you could use something really complicated, but you don't have to, and your probably better off using a simple schema for many reasons. I don't think it is any different than what you are doing, es

Easier to use XML rather than key/value pairs?;)))) Dude, Javascript Arrays can be loaded with a single string that contains a list of key/value pairs with any number of dimensions. For some purposes you don't even need keys, just values. A list of values works perfectly fine without any additional placeholders.

I was thinking more on the server side. If you need to read the data on the server, it's easier for it to be in XML as the parser is already built, in just about every server side language available. Even on the server side, you most languages offer a split/tokenizer function, however, it's not always that easy. Key value pairs work well, but what happens to your data when you send CRLF in the middle of a value, or other weird characters that may interfere with your parsing. If you're seperating keys and

I think maybe you need to do a little more research. You'll find that we've been sending data from the browser to the server - even including those pesky CRLF character codes, without needing XML, for several years now;-) Key/value pairs are much simpler and faster to decode at either end than XML; and although XML does have its place, it's certainly not the magic bullet you're making it out to be... I've also been doing "AJAX" data transfers with Javascript for several years now, both using iFrames, and p

I never said that XML was the silver bullet, or that it was the answer to all life's problems. A lot of the problems with XML tend to stem from the fact that you have to (or at least usually the way it's implemented) load the entire document into memory and parse it before you can start using it. And then, to get to any specific point within the document, you have to search from the beginning. This makes it quite a kludge when you are dealing large data files in the GB range. I'd rather use CSV for exc

On the server side if you want to make your application slower, than certainly, go ahead, use XML for client/server communications. I don't want to make my application slower, thus I will rather use key/values, lists of data. Obviously that is when encode() javascript function becomes useful and on the server side use properties handler.

Why doesn't anyone ever mention JSON on this forum? Why parse out XML into a javascript "object" when the literal notation is not much more difficult and a lot more efficient to "parse" back into the language that will be using it. Not only is it evaulated more efficiently but you'll probably learn a ton about advanced Javascript along the way. Since I don't believe in Ajax frameworks that completely remove you from the JS, I'm a big fan of JSON responses for this reason alone.

AJAX is just the tip of the proverbial iceberg. AJAX itself is a fairly ugly hack, the real usefullness of which has been to highlight the INADEQUATE nature of the www in its present state.

This is the classic progression of technology. A tool is being used for something it was not meant to, while technically feasable it is distasteful. This technology will be refined until it becomes apparent that a new framework is needed.

I see the most likely scenario as ajax being replaced by something designed to do the job far easier which is basically: Networkable GUI's

There would be two ways to do that: 1)have a program that can parse a standard formatting language, and have a server push a description of the interface out to you or 2)push out a custom program that does the user interface work. It is also possible to have a combination with a standard program that can imbed the custom program.

Yes, HTML and browsers already use a standardized language, but there needs to be one further step. UI and behind the scenes computation are much more closely linked on computers than in Web interfaces. As a result, HTML is a standard language in browsers, but rarely anywhere else. That's why we see something like XAP [apache.org] popping up, an XML protocol that ties in UI, basic programming with macros, events, and server queries into one, allowing web applications to bridge that gap with as much ease as writing HTML.

I see the most likely scenario as ajax being replaced by something designed to do the job far easier which is basically: Networkable GUI's.It's already here, and called "Flash". Although I'm happy to write Javascript all day long, and have used it for games, windowing systems etc, I see a lot of the AJAX examples and wonder why the authors haven't just used Flash for the job. Admittedly if the app is embedding a lot of HTML content, then it makes sense to use AJAX, but for many other projects, it seems a bi

The ability to phone home, retreive data and update the page, without reload gives way to a whole range of new applications, not just the updated select boxes, rich internet applications and pimped sites. Essentially you can make anything you normally could with a custom client, limited by the mess that is javascript across browsers and your imagination. I myself have been exploring multi-user environments on web pages where the actions of one user has an effect on the pages of others (see sig). It's nonsen

The discussion above seems to toss back and forth the good and bad points of my post, but perhaps I should tack on one clarification.I said Ruby was more likely to be a fad because it is essentially just another programming language that does more or less the same things as any number of others, and like any language has its advantages and disadvantages. When a new language comes out it's always a fad, but at the end of the day, it's only whether the fad sticks around long enough to take root and get people

Nothing! The tech for it has been around forever, they just slapped a new name on it.

To be fair, while Microsoft introduced the XMLHTTP object in 1999, other browsers didn't implement a similar interface until 2002 or later (2002 being the first implementation of XMLHttpRequest in Mozilla). So if your definition is of "forever" is "the last four years" then this has been aroud forever. (Note: I'm ignoring hidden iframe solutions that really have been around "forever", where "forever" is defined as "since rich web browsers have been around, such as IE4 and Netscape 4".)

I do agree that "AJAX" is just a flashy name for an already-existing technology, and any good web developer would've already been using the technology in appropriate places prior to the name change. However, "AJAX" does put a fancy name on the technology, and while it certainly can be overused it's not really a bad thing for the technique to get more publicity. "AJAX" as a fad will eventually die down just like "enterprise", "push", etc have in the past. The technology behind it won't, and will continue to be used where appropriate long after the Web 2.0 bubble has burst.

Most people (even administrators and web developers) don't realize the overhead associated with AJAX.

Don't forget about AJAX's ability to SAVE you bandwidth. If all you do is strap AJAX on then yeah, it increases bandwidth. If you use it cleverly to say, change the table and only the table instead of reloading all the sidebars as well as teh button to update the table, you can SAVE bandwidth. Or if you use a drop down to avoid wildcard searches, you can save unnecessary queryies from ever being ran. Pre

Computing power and responsibility has oscillated between the user's terminal and central servers for ages. With a user environment composed of unreliable, insecure software such as Windoze, it's really no surprise many users would rather that application data be held by the application maker. Application makers oblige by trying to take advantage of the most convenient platform universally available on user computers.Unfortunately, that platform is the web browser, and attempting to run applications in it

Flash is an awful development environment, albeit consistent compared to the Javascript issues between Mozilla, IE, and the others.Java is slow and clunky, if you're talking about the applet form. It's alright to make stuff in, but the fact that it almost universally sits inside a browser window invalidates your point about not using browsers. NeWS and and remote-PC applications, those I can agree with you on. Except the former would, like Linux and Mac, only be adopted by a niche and create even more diver

I wouldn't call 25 years "ages".All this really seems to indicate is that "we" as a business entity haven't quite figured out with REAL numbers what the most efficient and productive use of computing resources is, yet.

If we knew for a fact that putting "X, Y, and Z" applications on the server, while those doing jobs related to "A, B and C" need to have that computing done on their desktops...

We might stand a chance in hell of becoming a real Engineering disipline someday.

It seems like XUL has/had so much potential to provide rich user interfaces via the web. Apart from Firefox extensions that may use bits of XUL, what are people doing with it? I remember an example of a XUL interface to Amazon.com that was quite impressive. I kept expecting web sites to start having XUL versions with very rich UIs. I seem to recall that Oracle was even interested in XUL for a while.

How is this on topic? Well, it seems like AJAX is delivering a lot of the rich UI stuff that XUL was supposed to, but in a slightly less elegant way (from my peripheral understanding of both technologies). Am I fundamentally misunderstanding something here, or is AJAX a popular but pale immitation of what XUL was supposed to be?

I agree with your assessment about IE and availability, but I still would have thought there would be a few geek-focussed sites that might have cropped up with rich UIs in XUL. I mean there is a reasonably large Firefox install base now, and I'd have thought that for some sites, that would make writing the UI worthwhile. Maybe it's harder to write XUL than I think.The only detail I'd nitpick is that the installation bit only affects certain classes of application. I'm not sure what makes an app require a

You didn't hear the answer the first time. Let me rephrase it differently. People no longer want brand-only stuff. They didn't like IE-only, they hated Netscape-only, and they abhor Firefox-only. It's not about being an open source browser, it's about FREEDOM to run a different browser than what the developer wants you to.

The other problem is that you don't always get to use the browser you want. Many businesses are still IE only, and if that is where people are accessing your site from, they are going to be a little unhappy that they aren't getting the full experience, because your website doesn't run on the #1 browser (based on install base) in the world. There's a lot of other places such as web cafes where people don't really have a choice of what software they are running Although I would hate to run a web cafe with w

As far as I can tell you always had to download and approve XUL code before it could run, and sometime requires you to reboot your browser.

You always have to download DHTML pages and their associated Javascript and CSS too. You don't have to approve them because the designers of Javascript took the position of limiting what the language could do instead of the approach taken by XUL, Java,.NET and ActiveX which was to require user approval for actions that could potentially be dangerous. As for rebooting

if XUL catches on as a means for rich interfaces for remote applications, Microsoft will just write their own implementation

They did, it's called XAML and has about the same rate of adoption as XUL. The problem with both of these languages is that they are markup languages targetted at programmers. Programmers don't want markup languages, they want programming languages. UI Designers want markup languages, but they are not programmers so languages like XUL with its reliance on Javascript to do anything

XUL, if you are speaking of XUL proper, just isn't that useful to make it worth toasting 90% of your audience. XUL is basically just some more widgets than what you get in HTML, highly focused on writing a browser. Anything you see in Mozilla or Firefox is XUL, so you can see a lot of the extra widgets just by poking around in the "preferences" dialog or looking at the browser's basic interface (menus, location bar, etc).

Mind what I'm saying; I'm not saying real menus or a real tree widget isn't useful; I'm saying they haven't made it worth cutting out the IE chunk of your audience. I'd love to see the W3C standardize a tree widget into (X)HTML, but that seems unlikely right now.

The behavior of XUL is specified with Javascript, and that's indistinguishable from how conventional HTML pages already have the full power of Javascript.

So, the only part of the traditional XUL platform left is XBL, which A: doesn't appeal to your average "cowboy" coder anyhow because they can fully understand the costs of using XBL but can't see the benefits and B: Has basically missed the window where it could impact anything because it's been buggy as all hell for a long time, to the point where even if they fix it a lot of us wouldn't notice. Basically, it works for writing a browser but my experience [jerf.org] is that the minute you step outside of that domain, all hell breaks loose. Granted, that experience is from 2005, but it didn't materially differ from my experience in 2000 (no typo).

If you get down to the real causes, I think the basic problem with XUL/XBL etc. is that while it had promise in theory, it brought a lot of baggage into developing even simple applications (you need to understand XML, because XUL and XBL are based on it, plus you need to understand XUL and XBL itself, then you have to understand Javascript, DOM, and to really use XUL/XBL you also need RDF which is another can of worms entirely, and finally it was buggy and implemented just enough to write Mozilla in it and not much more), but it really doesn't offer a significant advantage over, well, much of anything else, really. Having tried to make XUL actually do something several times now, I'd rather develop in Visual Basic. Pre-dot-Net. And I say that as someone who really doesn't like Visual Basic. Basically, six+ years after starting to develop this stack and the advantages are still theoretical; the only existing apps, as near as I can tell, require full-time teams to fix up the Mozilla core in conjunction with the team actually writing the app, and that's just stupid when you've got so many great choices already available to you, from Visual Basic all the way to my preferred Python+wxWidgets (or PyGTK, or PyQt, or heck, even the Tk interface). By the time you get to the point where you are skilled enough programmer to master the stack of Mozilla technologies, you are aware of better choices.

Including just sucking it up and going pure HTML, which is what I ended up doing, writing my own XBL-esque technology to help me. And I've noticed a number of the Javascript libraries like Dojo share the same basic Widget design as my library, so even the majority of advantages of XBL are available in conventional HTML now with readily available open-source libraries, again, leaving what's left not worth it. (Especially if you count the XBL bugs.)

So, the basic problem with XUL, considered as a whole stack, is that the costs are staggering and the benefits very, very marginal. As a result, it's basically dead; there's never a case where XUL is a better solution than either pure HTML or a real app.

Thank you for the thoughtful answer. I've not coded any XUL myself, so it is interesting to hear the perspective of others who have.

Can someone comment on if Mozilla is still pushing for XUL as a way of creating general purpose UIs for the web (maybe they never were?), or have they given up on that in favor of using it strictly for thick client apps such as Firefox?

I'm going to hazard a guess that if I got a +5 on Slashdot goring what used to be a very sacred ox (the benefits of XUL), and then you posted this question basically begging for someone to justify that XUL will become something in the future, and you got 0 answers after ~15 hours (not even one contradicting me), that the ferver is dead. The set of people who would post that message is probably still non-zero, but it used to be you couldn't spit without hitting one on Slashdot.The project continues, I know,

AJAX is actually made up of a bunch of separate ideas from the last five years, each of them too small to penetrate the fog of internet... But the term AJAX just triggered all of these ideas as a group into a "Cognitive Avalanche" (to possibly coin a new term:-)
The ideas are as follows:

Javascript, despite what people used to think, is actually quite powerful and well designed

Google and their employees are super smart- Maybe if you look at their source code you can capture some of their magic

Humans are kind of primitive- If you make your program do something flashy while fetching its data (as opposed to just freezing up the browser for a few seconds as a page loads) the humans think your software isn't as slow as it actually is.

You know, browsers have this thing called DOM that allows for ultra-powerful tweaking of web pages

Standard web forms are slower and more tedious than you think

The web used to serve up documents- That is a bad idea: Serving up data would is a better idea

In an ideal world, all the world's software/data/operatingsystems/etc would just live on the web

None of these ideas were really important enough to push through to the web developer consiousness and have just kind of quietly developing while no one was noticing- Then some dude calls this stuff AJAX and BAM! the web 2-dot-whatever avalanche begins in earnest.

Don't worry guys, I did the legwork for you. Here's the secret message:

AJAX Javascript is actually quite powerful look at their source code make your program do something flashy isn't as slow as it actually is browsers have this thing called DOM Standard web forms web bad idea data quietly developing AJAX.

Another thing that's been happening gradually to make excitement about this possible is the replacement/upgrade of web browsers.Like many of the other people weighing in, I'd developed web pages with features basically amounting to AJAX years ago. The problem was, especially if you were developing a commercial website, is that there'd still be a decent-sized chunk of people using old-ass browsers that didn't support JavaScript (or who had turned it off.)

> Taking data that is not a document, mangling it into a document and serving it up is a bad idea.

If you asynchronously fetch data (ala XML) and format it onto the screen as a document with Javascript using AJAX this is clearly a danger. But "serve up data, not documents" is definitely a philosphy behind AJAX.

Javascript, despite what people used to think, is actually quite powerful and well designed

Well, the problem with JavaScript was never that it is not powerfull enough (although before DOM it indeed was much less powerfull). The problem always was the security risks. And those still exist. Especially with XmlHttpRequest!

In an ideal world, all the world's software/data/operatingsystems/etc would just live on the web

I strongly disagree! I don't want to be dependent on an internet connection when I access my da

Google and their employees are super smart- Maybe if you look at their source code you can capture some of their magic

Please don't. Google are good at server-side stuff, good at user-interfaces, and good at picking out the best mix of unusual features. They suck at client-side web development. GMail is great, yes, but that's because of the features and because they chose to use XMLHttpRequest - not because of the actual quality of their code. If you learn from Google's code, you'll learn wrong. I

AJAX is not a fad. People aren't using AJAX just because it's AJAX. It's not for buzzword-compliance, although it has become a buzzword. It's not for adding useless frills, although it can be used for useless frills. AJAX is a tool to enable web developers to build sites that are actually better for the user, in a very real way. Better functionality, better usability, overall a better user experience. Things that simply weren't possible to do before.

Slashdot's new comment system uses AJAX to make my Slashdot experience better. They're not done with it yet, but what they've got so far makes it easier to browse Slashdot. The link to read the rest of a very long truncated comment now loads the rest of the comment inline into the page, instead of reloading the entire page like it used to; I can read replies without opening the links in a new tab and switching back and forth like I used to, I can even change my thresholds without reloading. Sometimes I like to open several articles on my laptop and read them when I'm offline; that works better now. Next will be a more convenient way to moderate, and a better way to write replies.

Will AJAX go away? Sure, after a better technology comes along. But until then, AJAX is genuinely useful.

it's not a fad in the same way that the j2ee servlet container isn't / wasn't a fad.but... the current tools for ajax lack the common patterns of solid software development systems. mvc for one. with a traditional mvc framework (struts, turbine, whatever) it's very easy to tie an html data item to a back end data store. it's even fairly simple to tie an entire page of data (view/model) to a backend object store (also known as rdbms) and have the "business logic" or controler handle the flow of the applic

It reappears when you mouseover the comments (it's not a time delay). I'm not on the "low res" version; as someone else said it only covers up the left sidebar and doesn't really get in the way (originally it spanned across the top and was really horrible; this is much better). There's probably a bug with the "low res" version they haven't addressed yet.I agree that having it reappear all the time is annoying. They should make it stay gone when you close it, then have an obvious way to show it again when

The AJAX hype is like the DHTML craze all over again. IMO if you can't create a site using remote scripting without suppressing the urge to advertise to the world that you're doing so, chances are you're abusing the technology. Why should your user base care what the hell technology you're using? It should just work.

...if you can't create a site using remote scripting without suppressing the urge to advertise to the world that you're doing so, chances are you're abusing the technology. Why should your user base care what the hell technology you're using? It should just work.

Spot on. The coolest apps are those that *don't* waste the user's time by singing and dancing and shouting, "Look at me! I'm a cool app!"

Exactly! Notice that Slashdot's new comment system uses AJAX, but doesn't advertise itself as AJAX, it just says it's the new comment system. Some of Google's recent projects (Google Maps, GMail, etc.) don't advertise themselves as AJAX, they just work.

Never underestimate the power of a catchy name. AJAX's underlying technologies have been around for a while, but it wasn't until someone slapped the acronym onto it that it's really taken off. AJAX is easy to say and easy to remember, evokes a bit of mystery and jargon (one more conspiracy against the layman), and is named after a legendary Greek hero. What more could a marketing person want? The name is simply an inspired choice.

Never underestimate the power of a catchy name. AJAX's underlying technologies have been around for a while, but it wasn't until someone slapped the acronym onto it that it's really taken off.

You mistake synchronicity for causation. The term AJAX was coined when the first very-widely-used "cool app" to use the technique (Google Maps) was noticed by the online public. Many dozens of other organisations were already developing their "cool apps" using this technique before Google Maps was released, and much

I'll admit that the concepts behind AJAX excite the hell out of me. It's really something when you think about the fact that...it's really nothing new so much as, a theory that finally has some real practical applications and examples. Everyone I think has always known that...the worst thing about the web is the idea that you'll be in the middle of a process, like filling out a financial form, or managing a shopping cart of items, whatever and then be interrupted by a need to click a link. How many of us will be filling something out, not understand it, and see a Help link and for a brief second worry that when you click it, you won't get a nice friendly popup but get whisked away to some help page and have to start the whole damn thing over? (raises hand) That's the kind of ugliness that breaks things like webmail or shopping carts or financial forms. I can't tell you how many times I cussed a blue streak because I accidentally lost focus from the mail field in Hotmail, hit backspace meaning to erase a word and ended up back in the inbox where, thank you dynamic pages, pressing forward takes me to a new empty compose mail window.

Now obviously, that's the programmers fault...webmail should never throw anything away regardless of the user clicking Back and Forward on their browser. And I think that's the theory behind the AJAX effect. Really, back and forward are supposed to be the last things I'll ever hit. In fact, Google Maps I believe has to go through considerable kludges to even have entries show up in the Back and Forward browser list...and I can tell you there are plenty of times I wish I could go "Back" to my previous map location but instead, got taken back to the original empty Direction page I started at. So, if AJAX is done right...everything I ever need to click is right there. And that's what have been valuable since Windows was born. A poorly written web application/interface is like having to use Calc.exe Notepad.exe Paint.exe and CharMap.exe to make a document instead of WinWord.exe doing it all in one place.

In fact, I'm a little upset the whole stampede behind AJAX apparently caught so many developers and programmers napping. I've been hiring PHP/MySQL programmer for years now but, I start asking questions like... can't we have it so when someone clicks this header it just drops down a propigated list of choices instead of having to pop them up in a window or regenerate the page? And they stare at me like I'm asking for the moon or wanting an entire database of 400 items preloaded on the page before it renders. The guys with "AJAX" on their resume are...well they apparently know what that buzzword is worth and have their hands full writing the next Flicr or Digg or whatever.

And I'm one of them. I've had an idea for a web-based application but...because it involves just so darn much data, I've been having it developed as a template/macroset in Word because I can piggyback on the already present features like AutoText and Toolbars to provide an interface and packaged output. Now, I'm excited that I can have something just as dynamic and immediately accessible, but available on any platform and any location and without relying on software I don't control (I've already found two critical bugs in AutoText that Microsoft has admitted are bugs present since Word 2000, cannot be fixed by any option/registry setting, and will hopefully be fixed in the next version but possibly the one after that...oh gee thanks). So I want to start my own wildfire by creating something that would make a wonderful application, but have ability to distribute that application to thousands and tens of thousands of users as easily as sharing a link. That's amazing. That's why it's a wildfire. I just wish the store wasn't sold out of all the matches.

>> It's best to have many smaller applications that each perform a function very well, rather than one big application that tries to do everything,

From a technical standpoint, I understand and agree with what you're saying. From a human standpoint, requiring multiple applications to be used at once to accomplish one task decreases usability and increases complexity. Considering that lots of people try to do more than one thing at once on a computer, for anyone who's not a UNIX guru (and there's a fai

Okay, Mr. "I-was-peeing-in-the-UNIX pool-before-you-were-out-of-diapers" can you tell me how many people you know who regularly carry around the following itmes: two screwdrivers, a pair of pliers, a wirestripper, a wiresnip, a bottle opener, a hole punch, a knife, and scissors. Now, how many people do you know who carry around a Leatherman or a Swiss Army knife? Maybe there is a place for a bundle of tools which are basic and general enough to get most jobs done even if they aren't "the best" at any par

It seems to me that you have to separate out why Ajax is spreading among developers, and why Ajax-based applications are popular with users. These are not totally independent, of course, but worth thinking of in different ways.

I see Ajax-based applications as being very reminiscent of the what used to be called "full-duplex" applications. Unix, because it was based on using teletypes for I/O to the user, and because teletypes were inherently full-duplex, seemed much more interactive, at least with some applications. Nothing quite like Ajax, but a step in that direction. Conventional main-frame apps, based on either half-duplex (I type, then I hit carriage return, and the keyboard locks until the system responds) or electronic versions of that (such as with the famous 3270 displays, which would lose characters if you typed when the system wrote to the screen), were much more... well, boring.

So, it seems to me that, from the user's viewpoint, Ajax can allow the app builder to effectively decouple user input and system output, and make the whole "flow" between system and user be much more continuous, and less synchronized. Another way of seeing this is thinking of an overseas phone call in the days of poor channel allocators, which really made it necessary to stop talking when the other person started, or neither of you would hear the other. Nothing at all like a really engaged, face-to-face, conversation.

This is on-topic, because this week Google ajaxified their home page a little, moving Groups to an web 2.0-ey submenu that takes me 1 extra click to get to, and replacing it with the ridiculous Video web-2.0 ey thing. I view these actions as evil, because they are more about making Google money and less about what I want to do - which is quickly search groups for answers to programming questions. (When you ask a programming question on the web page all it takes you to is one of 40 spyware/spamware awful wrappers around usenet anyway, and if you just click to groups you see the exact same text minus the horrible ads and popups).

Google drifts evil every once in a while, and then to their credit they drift back, but currently they are drifting evil.

Okay, so, it's a little off-topic, but since there was no thread about Google's big change this week I needed to vent. (They also switched dictionary.com to answers.com which is more spam-mey and popup-ey).

The way I use it to answer programming questions is usually to bop back and forth from web to groups refining the question. It's usually better to find it under web first, but if hits all come up as obvious usenet-wrapped spam pages (the worst is that experts exchange which hides part of the thread, AND fires off a popup), I zap to groups.

***Google ajaxified their home page a little, moving Groups to an web 2.0-ey submenu that takes me 1 extra click to get to, and replacing it with the ridiculous Video web-2.0 ey thing.***

I'm not sure of the cosmic significance, but if your browser doesn't support Ajax, Google presents the submenu on the main page where you (and I) want it. Perhaps this is a subtle warning from God that she disapproves of AJAX and will eventually smite those who embrace it mightily.

Whether AJAX will satisfy it or not, Web interfaces are clunky and weak. Retrofitting technology meant for e-brochures to be business GUI's instead has proven problematic. Everybody misses real GUI's, both developers and customers. Whether usable thin-client is possible or not, current efforts have failed such that people are becomming impatient with it and want features of fat/rich clients back. We want MDI forms, useable editable data grids, drag-and-drop, form tabs, etc.

If we have to rely on JavaScript tricks to get it, then that is fine by me. There may be better ways if we start from scratch, but it takes years to mature such technologies, and JavaScript/DOM is already in every browser.

I don't like fads either (look how I bash OOP, see sig), but this one at least tries to satisfy a big existing need instead of try to sell you on a problem you didn't know you had.

It's pretty simple, the two dominant browsers now are no longer broken and can actually do this!
I remember trying to make nice tabbed pages, and all kinds of other widgets without using applets or activex. But alas ie and netscape differed a hell of a lot and netscape was extremely broken in many areas of this kind of rendering.
Now ie and firefox are the top dogs and they both work.

I remember finding out about the XmlHttpRequest object in 1999 and thinking this was how Microsoft was going to take over the web. Web pages would become little client-server apps. State maintenance headaches between pages would go away. Instead of a web app being a suite of pages to navigate, a single page would just sit there and make data requests and update parts of itself. I happily started coding XmlHttpRequest in my own job and waited for the revolution to happen. But it never did. For three years Microsoft had the lead with this really cool capability, and they did absolutely nothing to hype it or encourage it. It only rated a few pages in MSDN. Right before IE6 was introduced I remember asking a manager on the IE team what kind of new features to expect. He said it wouldn't be anything much, because Netscape was pretty much dead and therefore there was not much point in putting any dev effort into IE anymore.

Three years later when Mozilla started supporting off-channel requests they did it in native mode, while Microsoft was still using an ActiveX object. MS had all that time to set a new standard for dynamic web pages and they just sat on it. Finally, somebody comes along and invents a buzzword for it and somehow gets it in everybody's face. A few people write packages to make it a little easier. Now Microsoft is playing catch-up with their own version called Atlas. At least that's a cooler name, but jeez. AJAX is a case of Microsoft dropping their own ball and then showing up late to join the game.

Answer: When people first used them, they way over-used them, but then they just kinda sank into the mix. In time they all became useful, but in small doses. AJAX is no different. For a great example, see finance.google.com [google.com].

Ever since google used this thing to make google maps everyone and their dog is talking about Ajax! I for one would like it to stop along with all the other HYPED up fads in the webdevelopment world ( RUBY most noteably ).

However, these Ajax yappers completely miss a few points.

Just like 'FLASH' Ajax will have adverse effects if used in a site:

1. Makes it unreadable for the blind or anyone else using a browser that doesn't use a fancy javascript.2. Makes it less readable or unreadable to google and yahoo search engines.3. Adds yet another step in the web development pipeline4. Further supports M$'s "we'll make our own javascript" cause. IE handles AJAX differently then the rest ( big surprise ).5. Breaks the standard accepted policy of unified pages ( essentially re-introducing frames )

Lastly and most importantly,

AJAX yappers talk about response and app like look and feel. If you encounter one of these people then rest assured that they don't know what good layout design and CSS are!

They more than likely have 5+ things happening on the screen at the same time or have too much information on the screen such that user interaction causes the page to have to be completely reloaded.

With proper layout and CSS you can make a web site or application respond and look just like an Ajax one without having to use Ajax or code up some JavaScript piping. The browser will cache the layout correctly and thus the extra 3k of information that AJAX supporters say they avoid is in fact already avoided.

1. Makes it unreadable for the blind or anyone else using a browser that doesn't use a fancy javascript.

Ajax is no different to any other kind of JavaScript - if you know what you are doing, there's no reason it should cause problems for the blind or people without JavaScript. You have formed this opinion because lots of people who don't know what they are doing are using Ajax, not because Ajax inherently has this problem.

2. Makes it less readable or unreadable to google and yahoo search engines.

"With proper layout and CSS"So if I want to build a dynamic query, which is basically a decision tree, using select menus.... and pull the info from a db... I have to load up all the possible combinations of select menus which could be 9*9*9 (9 options with 9 2nd options and 9 3rd options) and then HIDE all but 3 of the menus?

Or maybe I should reload the page each time someone makes a selection which since it's being built from a db means no cacheing and thus there will be a refresh of the rest of the page?

These AJAX sites expect you to have JavsScript enabled, before they will work at all, and this is where they sneak in tracking crap like Google Analytics, Tacoda, etc. NoScript lets me see the sources of the scripts in each page, and whitelist only the ones required to get the site to work. I regularly see tracking scripts that are not declared, that have nothing to do with the service provided by the site.

Slashdot is embedding Tacoda scripts in every page: have a read of their privacy policy [tacoda.com] for details of what they admit to collecting and selling back to OSTG. If you examine the source code of a Slashdot page, get the script URL and open it, you can how see the script is obfuscated, it generates another script as it runs. Why are they hiding what they do? Why does Slashdot collaborate with these bloodsucking bottomfeeders? How much are Slashdot reader eyeballs worth?

The technical attributes of different technologies can be debated to no end, but never underestimate the propensity for people to embrace "new and shiny". That includes everyone, including you (and me).

Before that guy of that windbag elititst shop "addaptive path" (pardon the rant, but there is some truth to it) coined the term "Ajax" the whole sheeban was just called 'doing nice, interesting and pratical stuff with JavaScript and maybe taking advantage of the fact that current browsers have more simular JavaSrcipt engines that 5 years ago.' That Term of course is way to complicated for most people and bears the dangers of Execs and decision makers mixing up JavaScript and Java. With the obnoxiously omn