Slashdot Mirror


Building Richly Interactive Web Apps with Ajax

FalsePositives writes "Ajax: A New Approach to Web Applications (from Adaptive Path and via Jeffery Veen) introduces their experiences with what they are calling 'Ajax' as in 'Asynchronous JavaScript + XML' aka the XmlHttpRequest Object. It is used by Google (Google Maps, Google Suggest, Gmail), in Amazon's A9, and a few others (like the map of Switzerland spotted by Simon Willison). ... Is this 'The rise of the Weblication'?"

75 of 358 comments (clear)

  1. Weblication? by Neil+Blender · · Score: 5, Funny

    No more cutesy terms, please.

    1. Re:Weblication? by stupidfoo · · Score: 4, Informative

      I thought JSON was the new hotness?

    2. Re:Weblication? by Quixote · · Score: 3, Funny

      You misunderestimate their utility...

    3. Re:Weblication? by PopeAlien · · Score: 5, Funny

      .. aw c'mon. you're just jealenvious that you didnt inventrify such a fabutabulous e-term.

      right?

      think of the infotainment value!

    4. Re:Weblication? by dcrocha · · Score: 2, Interesting

      Weblication is better then Ajax, at least for me. I say that because I worked for a company and there I had a co-worker whose nickname was? AJAX. He developed a *ridiculous* web application development framework; so ridiculous that we made the expression "Ajax Development Framework for Web Applications" a synonymous for "crappy web development framework". So if everybody starts calling XmlHTTPRequest-based development "Ajax", one enterprise-wide inner joke previously bound to last forever will now be lost.

      Ps.: One of the features of *our* Ajax development was constant refactoring. So constant that we bet he was writing a book called "Refactoring Forever", where he taught how to keep refactoring the same system for years without never ever finish it.

    5. Re:Weblication? by Anonymous Coward · · Score: 3, Funny

      You're right. Once people start usaging a word, it becomes standardified. In fact, I'm feeling a bit creatific now-wise, and I'd like to objection at all the granitypes who don't grok "I fornet a dozen emails about verbification". Don't you enpensate it? Can't you disconstruct the affixatives? Wouldn't you rather stragmatize?

      - Tom Phoenix

    6. Re:Weblication? by sqlgeek · · Score: 4, Funny

      Is that you President Bush?

    7. Re:Weblication? by xmedar · · Score: 2, Funny

      I guess the marketroids are engaged in a spot of Websterbation...

      --
      Any sufficiently advanced man is indistinguishable from God
  2. Compatibility? by nizo · · Score: 5, Funny

    Is Ajax compatible with the Odysseus web security tool or will it just cause Ajax to die a horrible death?

    1. Re:Compatibility? by NoMoreNicksLeft · · Score: 2, Funny

      It probably has some achilles heel that allows trojan to be installed. I wouldn't be suprised if this happens before the vendor ships 1000 units.

  3. new acronym by Anonymous Coward · · Score: 5, Informative


    old technology, noob developers

    remote scripting has been around since 1998 with Dan Steinmans DynAPI, then Brent Ashley published his remote scripting and a plethora of remote scripting projects popped up on sourceforge

    the only thing new here are the developers/kids calling it Ajax when its nothing new or original at all, not to mention MS has had remote data binding on elemnts since IE4 !

    sheesh

    1. Re:new acronym by ReadParse · · Score: 2, Interesting

      Why am I replying to an Anonymous Coward? Not sure.

      This is not really old technology. Pieces of it are old. What's new is the ability to really do it in the real world, thanks to some pretty decent standards support by all the major browsers, including the XMLHTTP object, which is what makes it possible to send a request dynamically.

      The name Ajax? Well that's just what this guy is calling it, and it's not an altogether bad name. Call it whatever you want, but he's absolutely not wrong that this is a new way of doing web applications. I took notice of this not long after I started using Gmail and saw what they were doing, and I've played around with this type of development recently, and it's really great.

      So don't go around anonymously claiming to be an old, experienced hand surrounded by morons when you don't seem to know what you're talking about.

      RP

  4. Greeaaaat by Nathonix · · Score: 3, Funny

    Even more stuff to learn. As if high school wasnt mind numbing enough.

    --
    Soap box, Ballot box, Jury box, Ammo box. Use in that order.
    1. Re:Greeaaaat by ackthpt · · Score: 2, Insightful
      Even more stuff to learn. As if high school wasnt mind numbing enough.

      If you're going to be a developer, you'd better get used to it. As hardware advances, so does software and there's always some guy around the corner with the latest, greatest language/tool/etc.

      The thing that occured to me, years ago was the shift from 'no, we can't do that' to 'we can do that' which was mostly as the result of much faster hardware with more storage. Ways of doing things which required a lot of power were impractical within the confinements of old hardware suddenly became possible, only to encounter new things which were too grand for the hardware, etc. If you can, imagine trying to run on a 20 year old computer what you can run on a new one. It'd choke the old thing.

      So, as the hardwave evolves, so the software and you're able to develop incredibly complex (and probably as unsecure) applications with toolkits which would have once entailed hundreds of thousands of lines of code in a few drag and drops and fill in the properties. It always gets me when I see some application which isn't really doing a hell of a lot is tying up 30 MB of RAM. We ran an entire college on 2 88 MB HD's once...

      --

      A feeling of having made the same mistake before: Deja Foobar
  5. Is this the rise of by Anonymous Coward · · Score: 2, Insightful

    yet an other buzzword?

    Webplication? Please.

    1. Re:Is this the rise of by sfjoe · · Score: 4, Funny



      I think what we need is an RFC on buzzwords to introduce some standards to the whole marketing process. Of course, then the new hyp could be labeled as buzzword-compliant.

      --
      It's simple: I demand prosecution for torture.
  6. XUL apps by OmniVector · · Score: 2, Interesting

    it's a shame we don't have a standard web-app framework yet, because i've seen some pretty cool stuff done with XUL. i keep thinking "man, it would be awesome to have an XUL based webmail client. or an XUL based search engine" .. etc etc. hopefully what-wg will change things, but it's a shame to see all these competing web app libraries now because it really makes universality impossible

    --
    - tristan
  7. Wow by aristus · · Score: 4, Funny

    an "oldskool" web developer grumbling about newskool kids who don't know what it was like back in the Real Days. Why, all we had were radio buttons! And they could only tune in AM! And we liked it that way!

    --
    Sometimes seventeen/Syllables aren't enough to/Express a complete
    1. Re:Wow by theshowmecanuck · · Score: 4, Funny

      Old Developer: ...and we could only use ones and zero's!
      Dilbert: You had ones? We had to use lower case L's.

      --
      -- I ignore anonymous replies to my comments and postings.
  8. Caution by Anonymous Coward · · Score: 2, Funny

    Ajax is not meant to be used on windows.

  9. Java app by dfj225 · · Score: 5, Interesting

    Maybe I'm missing the point somewhere, but if you really want something on the web to feel like an app, why not make it a Java app that runs in the browser? With all the different browsers and how they each handle Javascript differently, I much rather write something in Java and know it will almost always work on different platforms. Anytime I have to do something in Javascript, it almost always feels like a hack. I can't imagine writing something like the stuff Google does in Javascript. Is there really an advantage to doing stuff this way over the Java way?

    --
    SIGFAULT
    1. Re:Java app by MyIS · · Score: 5, Insightful

      First of all, almost any PC will have a semi-recent IE installed (or Firefox for the more enlightened), and that is already enough to run Google's stuff.

      Compare that to the Java plugin requirement, which, sad to say, is pretty far behind in availability on most PCs.

      Also, Javascript-based stuff is easier to program, trust me on this. Layout of elements is much easier - and it can be done in any decent HTML editor. Finally, there's no thread-related insanity that AWT/Swing bring to the table.

      --
      http://zero-to-enterprise.blogspot.com/
    2. Re:Java app by TedTschopp · · Score: 4, Insightful

      I bet someone else will post the exact same thing, but instead they will replace Java with Flash...

      I think the point is that you don't need to insert an object or rely on a 3rd party enviroment. You can do it in Javascript.

      Also, the reason this is so very cool is that it doesn't tie your applicaiton into a backend of any kind, you can scale your backend as long as it spits out XML. I think this is the reason so many of the big companies are going to it. They require a bit more flexibility on that end.

      --
      Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
    3. Re:Java app by redheaded_stepchild · · Score: 3, Funny

      I've got it!

      Flash + Java = Flava!

      And we can get Flava Flav to promote it!

      YES! Bow before the mighty marketing droid!

      --
      Don't use the Troll mod just because you disagree with me.
    4. Re:Java app by misleb · · Score: 3, Interesting
      Java GUIs are traditionally slow and ugly. Also there are often problems with Java runtime versions. It is difficult to write a non-trivial Java application that will run on various different version of the Java runtime. Some people are going to have 1.2, some 1.3, some 1.4, etc. Using standard DHTML or even Mozilla's XUL provides a much more elegant application that looks and feels better than most Java GUI's. DHTML and XUL also integrate with the browser better.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    5. Re:Java app by Hamfist · · Score: 5, Informative

      Our company is arriving a bit late to the 'intranet' party, and I'm developing our Intranet in this style. Where you really notice the difference is:

      1. Speed - It f'ing fast
      2. Startup time - Instant
      3. Footprint - small
      4. Browser support - surprisingly consistent. Event models need some work, including Firefox.

      Did I mention that it's fast? Check out google suggest, realize that there's a round trip to the server going on in the background, and you'll get the picture.

      It also maintains suprisingly light code. You just register an event handler of some DOM element, and let the teensy bits of javascript pull up some fresh XHTML. This technique fits very well with simple event driven programming.

      Another nice thing is that you can use most whatever as a callback. I'm using good old PHP, as PHP snippets are fast and lightweight.

      I suspect we will be seeing alot much more of this.

    6. Re:Java app by gik · · Score: 2, Insightful

      I'd' normally agree with you on this one, but you have to ask yourself why Google would do it the Javascript way. Speed. No, this isn't a "Java is slow" troll. I see this Javascript clientside stuff as exciting, because we're using the clientside scripting strengths of the browser, which, even though they differ slightly from browser to browser, offer much in terms of execution speed.

      Also, many people are used to the concept of a "web-application" by now (CSS, tables, fun JS stuff, whatever). Being able to extend this now familiar interface by making it look like what the user's used to (for example, a web-driven mail inbox) and add the facility to be able to change these familiar looking pages and make things appear and disappear and load and unload, etc etc etc all without a page reload or launching a VM is very enticing to many web developers.

      One last note: Your point about Java is good. However, not all JVMs run EXACTLY as they should on all platforms. Today I had to upgrade my JVM because our corporate site needed something juuuuust slightly different. yuck.

      --
      ZERO
    7. Re:Java app by temojen · · Score: 4, Insightful

      function getDataDOM(url){
      data = (!window.XMLHttpRequest)? (new ActiveXObject("Microsoft.XMLHTTP")):(new XMLHttpRequest());
      data.onreadystatechange = readyStateChangeFunction;
      data.open("GET",url,true);
      data.send(null);
      return data;
      };

      You were saying?

    8. Re:Java app by slagdogg · · Score: 2, Insightful

      Ummm, yeah but Javascript in each variation of this or that browser *is* a 3rd party environment in many ways. If I write something like this in Flash, I don't need to worry so much about browser quirks and the like. Plus Flash has a rendering engine designed for apps like this ... something like Google Maps could have been just as "neato" in Flash and would've been much easier to write.

      And Flash has 99% penetration, which is probably better than the numbers for browsers which properly support Google Maps. The only real advantage of the "Ajax" approach for that application is you can write the whole app in Emacs, sans $500 Flash IDE.

      --
      (Score:-1, Wrong)
    9. Re:Java app by GeckoX · · Score: 3, Insightful

      Bullshit Bullshit Bullshit.

      Can I say it again?

      Bullshit Bullshit Bullshit.

      I write these kinds of apps. I have been doing so for years now. I haven't written a browser-fork in code in AGES. I don't even use the hacks in CSS for chrissakes. They aren't needed.

      Remind me never to hire you mmm kay?

      --
      No Comment.
    10. Re:Java app by GeckoX · · Score: 3, Interesting

      We finally managed to officially drop NS4 and pre IE5 support about a year and a half ago or so on our worst hanger-on clients. We did replace all of our web applications with standards compliant support only close to 4 years ago now. We also left the old NS4/preIE5 supported web applications online to meet our requirements. It wasn't until we could show our clients the logs for the legacy sites, that were pretty much entirely empty, that it'd be acceptable to drop that support.

      Our stance with new contracts is that we write to standards only for web apps. We will NOT enter into ANY contracts that specify explicitly what browsers will be supported. Pick a standard or pick someone else is our current motto ;)

      --
      No Comment.
    11. Re:Java app by blackpaw · · Score: 2, Informative

      Your're using a synchronous requests - Firefox/Mozilla have appalling performance on sync calls (10+ seconds). Its a interesting contrast with IE

    12. Re:Java app by Trailer+Trash · · Score: 2, Insightful

      1. Java penetration is nowhere near that of Flash. If you really want to go proprietary, use Flash. Not only does it also allow XML requests to the server, it also has a very nice application creator.

      2. The differences between platforms is way overstated. My apps run in Firefox, Mozilla, and IE for Windows, as well as newer versions of Safari.

      Javascript is included in all browsers. Every platform that matters has an interpreter already. It's a great choice.

    13. Re:Java app by beanlover · · Score: 2, Informative

      data.open("GET",url,true);

      The "true" as the third argument sets it to async according to this page.

      B

  10. yeah, but what about... by lottameez · · Score: 2, Funny

    Wonkavision? No, not television....Wonkavision.
    Weblication? No, not web applications... Weblications.

    --
    Yeah? Well I think you're overrated too.
  11. Re:Also Check out Bits of News by pe1rxq · · Score: 5, Interesting

    Ajax isn't a technology... its a cute name for a bunch of existing technologies.

    Basicly they found that you could make webpages update themself without completly reloading if you trow a lot of buzzwords at it.

    You could do this a long time ago without xml....
    I did it a while ago for a database app.. The page contained a piece of javascript that was started when a input field changed. This triggered the loading of a external .js file that just happened to be a cgi script. This cgi script would do some database queries and generated some javascript code that would update all the other fields on the client.

    Jeroen

    --
    Secure messaging: http://quickmsg.vreeken.net/
  12. Too skimpy? by Quixote · · Score: 2, Informative

    I RTFA (I know, I should burn my /. membership card), but I got the feeling that the entire article could be summarised in a paragraph or two. There was a lot of handwaving, and not enough nuts-and-bolts stuff. I was looking for simple examples, etc. but other than links to Google's myriad offerings, there wasn't much else.

    1. Re:Too skimpy? by TedTschopp · · Score: 3, Informative

      Check out Apples site and their example

      Very cool stuff.

      --
      Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
  13. Sounds a lot like JPSpan by misleb · · Score: 5, Informative
    Does anyone know how Ajax compares with JPSpan? I've been using JPSpan in a Firefox plugin that I am working on and it is really nice. Basically it takes a PHP class and presents it to your JavaScript as a JavaScript object (after you create an isntance of it). As far as your web application is concerned, the object exists in the local context, but actually, the code is running on a remote server. JPSpan takes care of the XmlRequest stuff for you.

    -matthew

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  14. Mozilla? by ceswiedler · · Score: 2, Interesting

    Can Mozilla integrate these apps better? From what I understand there's a lot of JavaScript going on to talk to the server, parse the results, etc. Could some of that be moved into custom reusable libraries in Mozilla / Firefox which the Javascript (Ajax engine) utilizes? I've noticed that Google Maps can take a heck of a lot of processor overhead. I imagine a lot of that is Javascript parsing which could easily be moved into compiled libraries.

    It would be very interesting to have these applications work better (faster, more smoothly) on Mozilla based platforms, and degrade into a portable Javascript-only implementation on other browsers such as IE.

  15. Flash for Rich Web Applications by Anonymous Coward · · Score: 2, Interesting

    I don't understand why developers still look at HTML fix ups to make web applications rich. Especially when a tool like Macromedia's Flash allows a developer to build a rich web application with a clean interface that truly mimics a desktop application's. It offers a small foot print, interactivitey, mantains state, and can work with eneterprise backend logic (Web Services, J2EE, ASP.Net, and Coldfusion). Better solution hand down.

    If your interested I wrote a short white paper on why its the future of web applications at http://www.jasonmperry.com/.

    1. Re:Flash for Rich Web Applications by kbmccarty · · Score: 2, Insightful

      I don't understand why developers still look at HTML fix ups to make web applications rich. Especially when a tool like Macromedia's Flash allows a developer to build a rich web application with a clean interface that truly mimics a desktop application's.

      Let me know when it works on my iBook running Debian (Google Maps behaves perfectly). And I'm sure people running BSDs and proprietary Unixes are equally thrilled by Flash. Clearly Macromedia doesn't care much for cross-platform compatibility, given that they completely ignore this petition (there is even a version of RealPlayer for Linux on PPC).

      --
      - Kevin B. McCarty
  16. Give it a name by lal · · Score: 2, Interesting

    The cynic in me says that this guy took a good look at Google's innovation and gave it a name:

    At Adaptive Path, we've been doing our own work with Ajax over the last several months, and we're realizing we've only scratched the surface of the rich interaction and responsiveness that Ajax applications can provide.

    In this quote, read "doing our own work" as "invoking view source".

    1. Re:Give it a name by JimDabell · · Score: 3, Insightful

      On innovation: Google's use of "ajax" (if we must use that name) is novel (and hence an innovation) because it strings together a number of existing technologies to greatly increase the usability of their offering.

      Which existing technologies? Google's use of remote scripting (that's the name it's had for years, I don't see the need to change it) uses HTML, CSS, Javascript and XMLHttpRequest.

      Given that XMLHttpRequest has been used in relation to these technologies for just under six years, and that before that, invisible inline frames were used to do similar things, I fail to see how this is a novel combination of technologies. In fact it's hard to conceive of a use of XMLHttpRequest that didn't use these technologies.

      GMail is the most complex example of it I have seen. GMail is the most popular example of it I have seen. But "complex and popular" does not mean "innovative" unless you are looking in a Microsoft dictionary.

      First, "Ajax" would be impossible to pull off in Netscape 4.x or a text browser. Netscape is too broken, and Ajax is a GUI technology. So asking for graceful degradation in this context is asking too much.

      Please go back and read what I wrote. I know this is impossible in those browsers. That's the whole basis for graceful degradation.

      It is certainly possible to build a webmail application that works in Lynx and Netscape 4. It won't be very fancy, but it will work.

      You can make it much more user-friendly for more advanced browsers in one of two ways.

      1. Do it the Google way, and construct a Javascript behemoth that fails to function at all in browsers that don't support every feature Google wants.

      2. Do it so that it degrades gracefully, so if a browser doesn't happen to have all the features you use, it falls back to less onerous requirements.

      Quite frankly, I'm surprised that Google don't understand this better. If pages didn't degrade gracefully, the Google search engine itself would not be possible.

      I should also note that we don't have to go back to browsers like Netscape 4 and Lynx when talking about this stuff - the latest releases of Konqueror, Opera and Safari have all had problems dealing with the GMail code.

  17. So basically what you're telling me... by La+Camiseta · · Score: 2, Interesting

    Isn't he describing something like the Echo Framework?

    Hey look, a web framework that uses javascript to dynamically update itself! It's only been around at that website since 2002.

  18. That dull roar that you hear... by nobodyman · · Score: 2, Funny
    ...is the sound of thousands of recruiters feverishly updating their Monster.com job postings:
    5+ Years Ajax Development REQUIRED
    Now my resume is going to spill over to three pages, unless I remove "15 years LAMP development". Damn.
  19. Will this worry M$? by linuxwrangler · · Score: 2, Interesting

    Not only do Google mail, Google maps and several of the other examples feature pretty impressive interactive user interfaces, they also work just fine on FireFox. And on Linux. And the servers aren't tied to any particular OS either.

    The ability to deploy full featured apps hosted on AnyServer(tm) and usable on AnyBrowser(tm) can't make Microsoft very happy.

    --

    ~~~~~~~
    "You are not remembered for doing what is expected of you." - Atul Chitnis
  20. nothing to see here... move along... by DosPinas · · Score: 2, Informative

    This article describes an architectural concept NOT an actual technology. AJAX, is similar to Client-Server in that it implies a mode of development for a given network topology and NOT an actual toolset. The richer interaction of remote scripting techniques will provide a significant challenge to XFORMS as it will be unable to compete with the functionality. XFORMS is what web driven apps should have been in '97, the new class of techniques using Javascript,CSS,xmlhttprequest and other DHTML tools are the way forward.

  21. Search Engines by GroovinWithMrBloe · · Score: 2, Insightful

    What will they search now? I can't see many sites, especially shopping sites, powering their interfaces this way. Suddenly they'd lose all their search engine hits and PageRank becomes that much less useful. Sure it's good for the likes of email sites and interactive maps, where the data wouldn't be indexed much anyway.

  22. Because.... by Run4yourlives · · Score: 2, Funny

    we're coders, not artists. (Flex or no Flex)

    And Flash is expensive to buy, IDE wise.

    HTML, Javascript and XML can all be developed on whatever text editor you like.

  23. web content developer toting new web design? by iamhassi · · Score: 4, Insightful
    " "Ajax: A New Approach to Web Applications" (from Adaptive Path..."

    Adaptive Path Services: "We evaluate your site and offer detailed recommendations."

    wait wait, this is rich, let me get this straight: a web design company wrote a article saying what you're using now is the "old" sucky way and their new stuff is the way to go??

    hold on! this is revolutionary! ;)

    Not that AJAX isn't great, i'm sure it is, but this is like reading a article on how great a new car is that was written by the manufacture. Perhaps a more unbiased article needs to be submitted before I believe it.

    oh and mod me +5 flamebait cuz i have so much karma i'm sniffing clouds.

    --
    my karma will be here long after I'm gone
    1. Re:web content developer toting new web design? by mmilan · · Score: 2, Informative

      Adaptive Path is not a web design company. They provide user experience (information architecture, interaction design, etc) expertise and help people plan sites. The implementation is almost always done by someone else.

      Garret is a user experience guru - He's writing about this framework from the perspective of a user advocate, not a developer or a designer.

      The point of his article is that the user experience is improved with Ajax. He's not trying to sell you a new car, he's suggesting that end users (customers) will be better server with this approach in many cases.

      But maybe you want to continue to write huge java applets or flash sites that take 30+ seconds to load. Don't expect to feed your family though.

  24. I can see it now.... by 50000BTU_barbecue · · Score: 2, Funny
    On Monster.com or what-have-you...

    Web developper needed, must have 5 years experience with AJAX

    I love HR departments...

    --
    Mostly random stuff.
  25. Re:JavaScript ? I'm out. by cabra771 · · Score: 5, Funny

    Dude. Seriously. It's 2005. Time to put down the Netscape 4.7 and walk away.

    --

    -my other sig is your mom
  26. Re:AJAX? by Adhemar · · Score: 5, Informative
    Isn't that a cleaning powder?
    Yes, it is
    • a cleaning powder
    It is also
    • an ancient Greek king in Homer's Iliad. Well actually two:
      • Ajax the lesser of Locrian Ajax, son of Oileus, king of Locris
      • Ajax the Great or Telamonian Ajax, son of Telamon, king of Salamis
    • a Dutch football (in the soccer sense) team of Amsterdam, already mentioned
    • several ships of the Royal Navy
    • as already mentioned, a place in Ontario, Canada, named after one ot these ships
    • a character on the animated televion series Duckman
    • a car (actually several models)
    • several companies: a Californian boiler company, a Dutch fire security company.
    • a buzzword for a combination of technologies, see this Slashdot story.
  27. Re:Also Check out Bits of News by jo42 · · Score: 2, Funny

    > XML itself it realy good if you use it the right way

    You mean not as a marketing compliant TLA buzzword, eh?

    Amazing what you can do with a text file, isn't it?

  28. Interesting enough, but I want to see more. by Badgerman · · Score: 2

    Overall, I find this interesting despite some questions (interoperability, etc.). It looks convenient, it looks planned, and I've done hidden-frames work rather effectively.

    The article just doesn't SAY much. I want more links, more code, more examples. Yes, it looks pretty, but don't just show me the product, let me under the hood, let me test drive it.

    That being said, I'd also like to know if this framework can integrate into others. If you could merge this into Mono, into STRUTS, etc. . . . then we've got something REALLY interesting.

    --
    "The Sage treasures Unity and measures all things by it" - Lao Tzu
  29. Outperforming Desktop apps by davetrainer · · Score: 4, Interesting

    Here is an article by John Udell that I found fascinating when it was published a few months ago. It discusses the quasi-rich-client architecture that Google cobbled together to bring us GMail. The really incredible part is that interfaces built on this architecture, consumed in the browser, outperform commercial desktop apps:

    "One of my favorite acid tests is address completion. When you begin typing an e-mail address, your mail program should immediately show you the matching addresses and then dynamically constrain the list as you continue to type. Outlook does poorly on this test; you have to type CTRL-K to invoke the address book in a separate window. OS X's Mail does address completion in situ, just as I expect. So does Gmail. And here's the shocker: Gmail does it faster."

    I appreciate AP's efforts to assign some greater precision and clarity to this architecture. Up until now, realistically, I figured I had to be tethered to .net/XAML, Mozilla/XUL, or something like Macromedia Flex.

  30. We have been doing this for the last year by coryrauch · · Score: 2, Insightful

    Some slashdotters have already identified this technique of using a combination of using javascript, xml, and dhtml has been around for some time (the article even says its mature). It has been refferred to in the past as javascript remoting or dhtml depending on what your talking about. I work for a company with a web database app that uses a similar technique. Our product, Sysbotz Enterprise has been in development about a year now which show you the age here.

    I think the big deal here is not some much the technique or the new label they are giving it (ajax). Rather a educational effort to inform developers to thing past the traditional load page, post form, process, return results back to web browser concept of web apps. The web app needs to broaden its abilities and needs to be more interactive which greatly limits its uses.

  31. bad photos by clmensch · · Score: 4, Interesting

    Why do tech writers feel the narcissistic need to display photos of themselves next to their writings? That is probably the largest photo I've ever seen on one of these articles...and it's an awful photo at that. They obviously cut the baldness of his head off for a reason, and half the photo is of his black on black outfit.

    Their whole site reeks of late 90's marketspeak. Slightly interesting article, though.

    --
    There is no gravity...the earth just sucks.
    1. Re:bad photos by bill_mcgonigle · · Score: 2, Funny

      They obviously cut the baldness of his head off for a reason, and half the photo is of his black on black outfit.

      So you noticed how they cropped the frame too close? That's cool. So is black on black. This guy is cool. That's the point.

      If he had a darker complexion, dreds, and thick black-frame glasses he'd be even cooler. Especially if he was using a Powerbook in a park. But there's only so much you can do with a bald white guy.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  32. Re:JavaScript ? I'm out. by Cap'n+Steve · · Score: 3, Funny

    "Thanks anyway. You kids have fun. My browser will ignore your site(s) until I'm literally forced to use them."

    I guess you won't be responding again, once I point out that there are three sections of Javascript in this very page.

  33. Cool? by IPFreely · · Score: 2, Insightful
    If anything about current interaction design can be called "glamorous," it's creating Web applications. After all, when was the last time you heard someone rave about the interaction design of a product that wasn't on the Web? (Okay, besides the iPod.) All the cool, innovative new projects are online.

    Cool?

    Developing applications using a particular technology because it's cool? Un-f*****g-believable. If you can get something on the web to interact almost as well as a client application it should be considered a miracle of design. The only advantage I see on web apps is that you don't have to install anything on the client PC, and even that's a stretch if you consider the apps that require flash, MSXML or all the different media players.
    It's like calling lemmings cool because they invented base jumping.

    PS: Yes, I have developed web apps with popout menus and using MSXML to generate SOAP requests for interactive content. It still sucks.

    --
    There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
  34. I Call Marketing Bull$hit by Jesus+IS+the+Devil · · Score: 3, Insightful

    Am I missing something, or is this company coming in late to the party and trying to coin the term "Ajax" as if they started the party themselves? Sounds like marketing BS to me. Just take a look at some of their wording. It's as if Google used Adaptive Path to create their client-rich interfaces:

    Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year -- Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps -- are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon's A9.com search engine applies similar techniques.

    --

    eTrade SUCKS
  35. I've been doing this for a while... by venomkid · · Score: 2, Interesting

    ..and it really is beautiful. XML backend, Javascript frontend... deliciously platform independent, fast, and dynamic as you wanna be. Once you overcome some of the cross browser weirdness, it's a breath of fresh air.

    (...but if someone says the word "Weblication" to my face I'll have to smack them.)

    vk.

    --
    vk.
  36. Re:Wrong by zootm · · Score: 3, Insightful
    Never mind "put up or shut up", your asking for a browser/httpd example is retarded. If you think that google maps could not be done better using a custom protocol and dedicated network client... well...
    It couldn't. Its major advantage is that it works in a webbrowser. There's no need to develop a network client when a browser-embedded one will work. This is zero-install software at its finest - providing rich, feature-heavy applications that work using only that which is available in a cross-platform web-browser.

    If one wants to look up addresses every single day, and requires advanced features of some form to do so, I'm sure your solution would be a "better" one. But since I just need to find directions now and again, Google Maps is the perfect solution - minimal, yet extremely user friendly and intuitive.

    As for "custom protocol" and "dedicated network client"... Why? We have technologies like XML so that we don't need to write a new format or parser for every task we have. Who knows, though, if you're quick developing such a system the hardware developments in the meantime might not make your efficiency gains negligable. But I doubt it.

    There are things that custom client/server models are good for. This is unlikely to be one of them for its user-base. And the people who need a faster network map system probably already have one.
  37. XmlHttpRequest The Easy Way by coldcanofbeer · · Score: 4, Informative
    For an easy to understand tutorial of XmlHttpRequest, check out http://www.webpasties.com/xmlHttpRequest/

    There you will be guided with baby steps on how to implement a city, state lookup based on zip.

    1. Re:XmlHttpRequest The Easy Way by adamfranco · · Score: 2, Interesting
      That's a great tutorial there! The simplicity of the examples was key to figuring out what the minimum important parts to using this system is without being confused by the many cool things you can do with the system, but are extra.

      For those reading, I recommend that you follow that tutorial with this one which then goes into more depth on generic request/responce scripts and XML handling.

      Oh yeah, it took me a while to find these, so I'll add this list of pages that explained how to do the things that I wanted to do while going through the tutorial. There are just so many crap sites that repeat the same rubbish tutorials about javascript that it can be really hard to find good info.
      --
      "When ideology and theology couple, their offspring are not always bad but they are always blind." -- Bill Moyers
  38. Great, but one caveat... by wralias · · Score: 2, Insightful

    I would be almost completely convinced that Ajax is the solution to the Reload Problem, if it weren't that there is one imperfection: in order for it to work, Javascript has to be enabled in the client browser. Yah, ok, almost everyone has it enabled, but it's not 100%.

    Even a small percentage of clients without Javascript is a major usability issue if you're talking about an enterprise web application. I avoid Javascript altogether, not because I don't like it, but because it's not a gaurantee.

  39. I used it for a state wide web app. by davegust · · Score: 2, Informative

    I (and my business partner) used this technique 5 years ago to develop the budgeting system used by all Idaho state agencies. It uses IE5 with a few ActiveX controls (grid, custom combo boxes) bound to an XML data source. The result is a rich application-like experience within the browser.

    The back end is IIS + SQL Server. The server runs in Boise. Hundreds of users from dozens of agencies around the state manage their complex budgeting process with this app.

    XMLHTTP was a key technology in Microsoft's plan to use IE as the business app environment. Databinding to native HTML controls was pretty cool - 5 years ago.

    If you want links, try this, this, or this. It's even taught in vocational programming courses.

    1. Re:I used it for a state wide web app. by davegust · · Score: 2, Interesting

      Also check Professional ASP XML - Chapter 12: Client-side Data Binding with XML. Copyright 2000.

  40. fsck graceful degradation by bill_mcgonigle · · Score: 2, Insightful

    Well, at least that's what makes GMail, et. al. different/innovative.

    It appears they started with a UI design and worked backwards to figure out a way to implement it. If it couldn't be done in IE6/Firefox it got canned, otherwise they pulled out whatever tricks they could to get it working.

    Google knows how to gracefully degrade. But the browser wars/innovation have been over for 5 years. They decided to focus on usability and leave the non-compliant browsers at the station.

    The marketplace apparently approves.

    When we were coding for a new major browser rev every 9 months, graceful degradation was a more useful concept. Today there are basically 3 categories of browsers: lynx, modern, and old-and-busted. They probably never considered lynx and decided to ditch old-and-busted.

    If you can measure an appreciable productivity increase for a good UI, how much of that is worth sacrificing for lynx? Graceful degradation may have outlived its usefulness. Somebody's going to have to figure out how to make these apps accessible in another way.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  41. You don't need ActiveX objects by Quantum+Jim · · Score: 2, Interesting

    You don't even need to use ActiveX objects in IE. You can use document.createElement("xml") and use Internet Explorer's built-in XML islands extention to load content, which seems to work even if ActiveX is disabled (at least for me) in IE6-SP2. Pimping my own stuff: I wrote a few journal entries on this topic a while ago. Check out the original article and its update.

    --
    It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
    - Jerome Klapka Jerome
  42. Re:Flash is cheating by antic · · Score: 2, Insightful

    I'd rather those Flash examples than something like that zoomable Swiss map which was slow and kept forcing focus on the browser window when I was trying to click across somewhere else.

    BTW, that ESPN example used Flash for the shot chart, but not the Game Updates.

    --
    'Thats they exact same thing a banana wrench monkey.'
  43. Not First by xant · · Score: 2, Informative

    Hi, try http://nevow.com and take a look at livepage and canvas. This isn't magic, people.

    --
    It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.