Jeremy Keith — Exploring AJAX

what is Ajax? That is what I’m going to try and answer today”

  • Intro­duces AJAX and the birth of the term.
  • Maybe it is just a buzz­word; maybe that’s not a bad thing
  • X in AJAX adds “the X factor” – if anyone’s look­ing to coin the next buzz­word, stick with X. Clearly we need more X words – XHTML, XSLXML

Two kinds of buzz­word – ones where every­one knows what you’re talk­ing about. The sec­ond type is the bad buzz­word – buzz­word 2.0 – ones that mean ten dif­fer­ent things to ten dif­fer­ent peo­ple. The sec­ond type causes back­lashes; risk­ing throw­ing the baby out with the bath­wa­ter. Crappy buzz­words con­sid­ered harmful.

  • AJAX is not an acronym” as an acronym, AJAX is a mis­lead­ing term and could do more harm than good.
  • XML is not required, HTML and JSON are also popular
  • AJAX as a term is start­ing to con­sume JavaScript – “Nice bit of AJAX you’ve got there”. That we don’t need –DHTML, DOM Script­ing etc. Already too many terms for JavaScript.
  • AJAX gives the illu­sion of speed. Whilst the HTTP is no quicker, load­ing page frag­ments helps give that illu­sion. Improved usabil­ity as a result.
  • If the tra­di­tional web was let­ter writ­ing, AJAX is instant messaging”

Jeremy says “AJAX is a way to com­mu­ni­cate with the server with­out refresh­ing the whole page” cer­tainly not a sexy def­i­n­i­tion, but it is accu­rate. Flash, frames and iframes are AJAX by Jeremy’s def­i­n­i­tion; though XML­HttpRe­quest is the vehi­cle most asso­ciate with AJAX.

Microsoft invented XML­HttpRe­quest in IE5 for use in web­mail client. XML­HttpRe­quest was so use­ful all major browsers adopted it. This is one of the few cases of a pro­pri­etry fea­ture being adopted and for­mal­ized by W3C.

Am I AJAX or not?” asks room to yell out answer

 – google maps: yes

 – bunny hunt (game by Cameron Adams): no. Jeremy shows flickr shot of a top­less Cameron Adams. Room erupts in laugh­ter. Cameron threat­ens to kill Jeremy

 – flickr: yes

 – light­box: yes and no – changes src attribute of img ele­ment to load new image

 – ama­zon (rat­ing sys­tem): yes

 – meebo : yes

Suit­able uses for AJAX

User account appli­ca­tions, espe­cially sys­tems where the new users first choice is rarely avail­able. ‘Add to cart’ – let them keep shop­ping. ‘Rate this’, ‘add a com­ment’. Search results? Per­haps not.

design chal­lenges

  • Loss of infor­ma­tion to user; eg “load­ing in progress”. Com­monly use ani­mated gif to indi­cate load­ing, although inde­ter­mi­nate progress bars are not ideal. ‘Yel­low fade’ as used by 37signals apps to indi­cate small changes.
  • Real dan­ger in adopt­ing inter­ac­tions from other areas – drag and drop imple­mented in a half-​​ass manor on the web is confusing.
  • Make solu­tions as sim­ple as pos­si­ble, but no simpler.

beyond the browser

  • The back but­ton – AJAX has no his­tory stack. Lots of clever peo­ple work­ing on this prob­lem; Jeremy rec­om­mends avoid­ing the prob­lem alto­gether as you may be using AJAX in the wrong way in the first place. Back but­ton is not Undo, it is navigation.
  • AJAX must be acces­si­ble. Too many peo­ple use AJAX UI’s as an excuse to throw the acces­si­bil­ity rule­book out the win­dow. James Edwards doing exten­sive research into noti­fy­ing assis­tive devices of AJAX changes
  • Joe Clarke inves­ti­gated 37signals apps for acces­si­bil­ity – “usable by screen reader users some of the time”

2 responses to “Jeremy Keith — Exploring AJAX”:

  1. […] Jeremy Keith fol­lowed up, wav­ing the Ajax ban­ner high. In his blog, he men­tioned that fol­low­ing Kelly Goto was like sit­ting at the piano after Mozart had just got­ten off. He had noth­ing to worry about, deliv­er­ing a highly infor­ma­tive, yet humourously enter­tain­ing speech. Of course, in an audi­to­rium full of geeks, quot­ing Vader will always will you points. One clas­sic gag was at the expense of Cameron Adams (and Dustin Diaz). Cameron vowed his revenge from the crowd. […]

  2. […] Thurs­day, 2006-​​09-​​28, was day 1 of the con­fer­ence. The most enjoy­able pre­sen­ta­tions for me were Jeremy Keith’s Explain­ing Ajax (fea­tur­ing a sexy, and rather hairy, top­less photo of Cameron Adams) and John Allsopp’s Micro­for­mats. Derek also pre­sented on acces­si­bil­ity, which was also good, but it was almost a sub­set of the top­ics addressed in his work­shop, with only a few new points. […]

Your opinion:

XHTML: You're allowed to use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>