Ajax, Ajax, Ajax

First, Let Me Say…

Ajax.

Ajax, Ajax, Ajax.

There I said it. Like the programmer in the OK/Cancel cartoon, I didn’t want to say it, but now I’ve said it. I said it once. I said it thrice. I’ll say it again. Ajax. I’ll call it, Ajax. Jesse James Garrett is not a bad guy. Packaging an idea is not easy. Good job, Mr. Garnett, and thank you.

Ajax defined.

Why It Is So Hard To Say?

It is so hard to say Ajax. (Ajax, Ajax, Ajax). It is frustrating for those of us who’ve been waving our hands and jumping up and down these last few years.

We’ve been pointing at XMLHttpRequest (IFRAME, DOM, etc.) and making monkey noises.

It because no one would listen to us? No. That’s not what makes it hard to say Ajax. (Ajax, Ajax, Ajax). That’s not the rub. It’s this…

We were marveling at how easy it is create applications, rather to evolve applications in Ajax. (Ajax, Ajax, Ajax). How you could create slick, document-centric UIs that didn’t look all fiddly-widgety using markup and script and Ajax (Ajax, Ajax, Ajax). We loved how much easier it was to prototype, and to release functionality incrementally, and to separate design from implementation using Ajax. (Ajax, Ajax, Ajax).

Be we were scolded for bucking usability conventions, for negelecting users of Internet Explorer 3.0, for choosing a quirk laden platform hosting a parsite language, for maybe doing something to harm the sacred back button, for not alllowing the user to bookmark every possible combindation of state.

Why did we listen to them? That’s the rub. And now they are telling us about Ajax. Ouch.

If Jesse was a programmer, it would probably be okay. He’s not. He’s from usability land. Us programmers are feeling put upon.

And put upon by usability, since it’s an about face. But, it’s not the fault of the usability folk that Ajax (Ajax, Ajax, Ajax) was an unnamed orphan for these many years. They were trying to hold the ship together, by setting standards and keeping things focused on the user, and they were barking at us programmers for good reason.

It’s nice to have a large and loud usability community for our platform. They’ve done so much to save us from the horrors of widget think, the Visual Basicization of the web. We’ve got conventions, we’ve got scads of users who understand them, and now Ajax (Ajax, Ajax, Ajax) can work it’s magic within these conventions. Not as an alternative, no, but as a new subset of conventions.

No back buttons will be harmed in the making of Web 2.0.

What took so long?

I’d like to point out three things that prevented us from embracing Ajax.

They were community issues.

  • Microsoft did Ajax first. I learned most of what I know about Ajax (Ajax, Ajax, Ajax) from MSDN. (Kudos.) It didn’t exist as an option outside of IE until Gecko because layers were unusable.

    But, when Microsoft goes it’s own way, it’s accused (rightly, most likely) of embrace, extend, extinguish. Remember the browsers wars? Who want’s to adopt a platform at war!? (Once again, Mr. Garnett, I thank you.)

  • Mozilla (the community) was either slient or off message for many years. They hide their community discussion and collective knowledge in IRC. On occasion they’d emerge from their lair to flog XUL at the expense of standards based DHTML.

    Asking a question of a Mozillian in 2002 regarding DHTML took three trys, because the first two answers were always “Use XUL.”

    Months went by before I discovered the W3C DOM specifications for Events, XPath, and Ranges, because there was the documentation. They’d implemented it verbatum. They’d implemented the W3C DOM in it’s entirety.

    agutier: It's amazing! Awesome! Incredible work! Gecko rocks!
    agutier: All the W3C standards! You did it! OMG! OMG!
    agutier: Why aren't you telling people about this!?!?
    mozillans: Use XUL.
    agutier: Well, uh, don't you think it's easier on IE developers to use DHTML?
    mozillans: Use XUL.
    agutier: Look, if I wanted Visual Basic, I know where to find it.
           You have been kicked.
    

    With Firefox, Gecko gets a wider release. Now developers can use DHTML without feeling like they not playing into the hands of Micrsoft. The maturity of Gecko, and the shock of Safari, opened up Ajax (Ajax, Ajax, Ajax) to web developers. The cross-platform mindset of web development has new platforms to cross, and is willing to migrate away from the old ones. KTML/Safari assures us that this is no longer a platform at war.

  • Usability (the community) was agahst that someone would design an interface that a user might have to actually “learn”, never stopping to consider that people will take the time to learn a UI if there is a benefit to learning.

    Their dogmatic adherence to document-centric standards designed for data presentation has stiffled the development of the web browser as tool for data collection and classification.

    Usability has focused on web usability, where you are not dealing with a user, per se. You are dealing with a visitor. They are trying to get information and get out.

    Yet there is a huge class of applications where the goal of the user it to get information in, and get in as much information in as little time as possible.

    Developing a procedure that the user must learn, is better in the long run, and worth the while of the user, if that procedure will utimately reduce the time spent at the computer. Learing a UI is not anathama. Like everything else in software, it’s cost/benefit.

    Web usability people need to look at Autodesk Inventor or Pro/ENGINEER and ask themselves how that makes them feel inside, to see all this stuff that is not self-explaintory. You could add a link that said “fluid static and dynamics”, but that’s not the direction in which information is flowing in these applications. The information is in the mind of the engineer, and she needs an interface that will get that information out, in detail.

There Is Only Ajax. (Ajax, Ajax, Ajax)

Ajax will happen because Ajax wants to happen. Those casting about for an altertive are welcome to, but Mr. Garnett has slain the fear, the uncertianty, the doubt. Most importantly, he’s getting through to usability, that we can be trusted not to undo their work, their conventions willl be respected.

Ajax is rolling. You’re not going to stop it. You cannot present an alternative. There is no alterative to Ajax.

PLACEHOLDER: Ajax is like shell, Perl, Ruby. Ajax is like UNIX.

Ajax (Ajax, Ajax, Ajax) is also like UNIX, in that it’s going to baffle people with it’s success in light of its wild, unrefined nature, and incessant vendor bickering.

In Closing, Let Me Say…

Ajax.

Ajax, Ajax, Ajax.

Leave a Reply