Slashdot Mirror


Why Microsoft and Google are Cleaning Up With AJAX

OSS_ilation writes "Google uses it, and Microsoft is pursuing it, so there's a lot of hype and hubbub surrounding AJAX (Asynchronous JavaScript and XML). AJAX brings together some hot properties, JavaScript, HTML/DHTML and HTML, according to Julie Hanna Farris, founder of Scalix, a Linux-based, e-mail systems vendor. Scalix is using AJAX in Scalix Web Access (SWA), a Web-delivered, e-mail application. AJAX enables advanced features like drag 'n drop, dropdown menus and faster performance capabilities, which are now making their way into Web applications, she said. These kinds of capabilities represent a significant leap in the advancement of Web apps."

72 of 443 comments (clear)

  1. real reason why by scenestar · · Score: 3, Insightful

    Farris: Microsoft is probably interested in AJAX for the same reasons everyone is interested in AJAX: the ability to deliver desktop quality applications through the Web.

    and charge "subscription fees" for it too.

    --
    perpetually dwelling in the -1 pits
    1. Re:real reason why by misleb · · Score: 5, Informative

      It is bullshit. AJAX does NOT give one the ability to deliver desktop quality applications through the web. Not even close. Sorry. At best, AJAX spices up traditional web applications. But it is still using HTML/CSS for the UI. The HTML/CSS document model simply doesn't work well for desktop quality applications.

      Saying that AJAX will allow one to deliver desktop quality applications is like saying central heating will turn a mobile home into a mansion.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    2. Re:real reason why by Jeffrey+Baker · · Score: 2, Interesting

      I agree. Web browsers (and AJAX) lack two crucial features needed for GUI development. The most important by far is a packing system. There is no way to tell the browser you want one element to be as compact as possible, and you want the element next to it to be as large as possible. This stuff has been in GUI APIs for decades, because it's a requirement. If you could get at the APIs that Mozilla uses to draw its GUI, and use those in the content area, that would be a start. But right now you just have to guess at element sizes.

      Secondly, you, as the AJAX programmer, have to re-implement all the useful things the browser does to tell you what's going on. An example: a few weeks ago Google launched a javascript RSS reader. On the first day their server system was completely overwhelmed with requests. Because of the AJAX implementation, the user couldn't tell what the hell was going on. The elements of the UI would click and move around and animate and do all sorts of things, but the data wasn't coming in from the server, so it was useless. And because of the architecture the browser was not giving messages like "server could not be contacted" or what-have-you. Someone needs to come up with a way to inform the user that something dreadful is happening behind the curtain.

      With the two above improvements, AJAX might be of some use. As it currently stands, AJAX is just an Even Bigger Hack.

    3. Re:real reason why by misleb · · Score: 2, Informative
      I agree. Web browsers (and AJAX) lack two crucial features needed for GUI development. The most important by far is a packing system. There is no way to tell the browser you want one element to be as compact as possible, and you want the element next to it to be as large as possible. This stuff has been in GUI APIs for decades, because it's a requirement. If you could get at the APIs that Mozilla uses to draw its GUI, and use those in the content area, that would be a start. But right now you just have to guess at element sizes.

      XUL provides both. AND you can use it with AJAX. But, alas, it only works with Mozilla based browers.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    4. Re:real reason why by hahn · · Score: 3, Interesting

      >It is bullshit. AJAX does NOT give one the ability to deliver desktop quality applications through the web. Not even close. Sorry. At best, AJAX >spices up traditional web applications. But it is still using HTML/CSS for the UI. The HTML/CSS document model simply doesn't work well for >desktop quality applications.

      Of course not. It delivers a desktop-LIKE feel to certain web applications. However, that is NOT the only point of it. Other advantages include:
      #1 Immediate deployment - You can distribute your web-served application nearly instantly. Tell me what corporation WOULDN'T love the idea of having their 1000 employees have near instant access to an Office-like application and not have their IT department lift a pinky finger?
      #2 Portability - I can use the same application at any location and it'll have the same feel. If website also offers storage, I can also work on the same document/e-mail/project. Don't tell me that you wouldn't find a web version of MS Word that you could access from any internet connected computer, INCREDIBLY useful.
      #3 Everyone would be using the most up-to-date versions. I'm sick of having to download updates to my dozens of programs. Would LOVE it if everytime I used an app, I didn't have to even think about it.
      #4 Takes up very little space on your harddrive, and doesn't mess with your OS. Yes, storage is cheap, but raise your hand if you haven't had to ever re-install Windows (or simply chose to do so) because you've installed and uninstalled so many freaking apps on your computer, your registry is FUBAR, and your OS feels like it's running on a 386? How about because your menus read like an encyclopedia index of apps and are just cluttered beyond all recognition? Yeah, thought so. Plus, I just hate having a 10 gig application, that I use like once a month, sitting on my machine. Makes defragmenting, virus scans, and ad-ware scanning a royal pain too.

      So yes, you are correct, in that it can't quite match the snappiness of a local app. Not yet anyhow but that's what's great about technology, eh? What's not possible today, IS possible tomorrow. But aside from that, the advantages I listed above FAR outweigh the disadvantage of not having a "true" local app "feel". Whatever that means anyhow.

      --
      "The only normal people are the ones you don't know very well."
  2. Hype, Hype, Hype by AKAImBatman · · Score: 4, Interesting

    Man, are they ever hyping this stuff. This story doesn't seem to actually cover anything new, it just hypes AJAX more!

    The truth is that the stuff we've seen in AJAX so far is nothing. I don't know about anyone else, but I've used it in regular webapps as nothing more than an interface enhancement. People don't even really notice the fact that the web pages work much smoother.

    That being said, there's a massive untapped potential in this technology. I've got demos of Video Games in AJAX, as well as a full Desktop. I tried to get Google interested in the video games concept, but I'm afraid they ignored my communication. :-(

    1. Re:Hype, Hype, Hype by AKAImBatman · · Score: 4, Insightful

      It certainly matters. However, it doesn't matter quite as much as the hype suggests. AJAX is a very valuable technology, but the only reason why it's catching on now is that we've finally rid the web of early browsers like Netscape 4. Now that everyone has full JavaScript and DOM, we can finally build complex interfaces. XMLHttpRequest is just icing on the cake. (Hidden IFrames did the job just fine in the past, and are still more useful for some interfaces.)

    2. Re:Hype, Hype, Hype by dalmaer · · Score: 3, Interesting

      I agree that there is a lot of hype out there. As is often the case, the hype machine doesn't come from the people actually using it. We have been interviewing Ajax developers on our Audible Ajax podcast, and as always, the developers are not religious "Ajax everywhere, it is a silver bullet!" nuts. They are pragmatic, know when it makes sense, and when it doesn't. And, they also know the pain points. I for one hope the hype doesn't ruin things by setting the expectations as crazy as they are. Ajax is great in that it gives you reach, and is built on open standards. It is causing browsers to give us APIs that we have wanted for a long time, and can take the web to the next level, along with other technologies. There is a long way to go though. We need to learn when to use it, and need to focus on usability in general, and not using Ajax just because it is cool. We do a lot of Ajax consulting, and one of the biggest things we do is get people away from the question "so I want you to build an Ajax application". Cheers, Dion

  3. Funny thing is... by man_of_mr_e · · Score: 5, Interesting

    Microsoft basically invented AJAX, yet they're the ones behind the curve.

    Microsoft invented the XmlHttpRequest functionality, AND they've been using AJAX (before that's what it was called) in Outlook Web Access (OWA) for years. Nobody else in the company seemed to have caught on to it though.

    1. Re:Funny thing is... by LaughingCoder · · Score: 4, Funny

      I think that you are not allowed to say "Microsoft" and "invented" in the same sentence around these parts. The approved verbs are: copied, stole, lifted, ripped off, mangled, swiped, embraced-and-extended

      --
      The more you regulate a company, the worse its products become.
    2. Re:Funny thing is... by ChrisGilliard · · Score: 4, Insightful

      Well, the truth is AJAX is not in Microsoft's best interest. The internet in general is bad for Microsoft. They were way into interactive TV and stuff. They really would prefer that they be the gateway to the web and that you pay $$$ to them to be able to get the content as well as selling their OS. AJAX makes windows less relevant because you can run apps on firefox on any platform. So, I can understand why they wouldn't use much of it. However, as always denying a good technology is a mistake. You can see this as a form of protectionism that backfired on them.

      --
      No Sigs!
    3. Re:Funny thing is... by nick_davison · · Score: 3, Insightful

      Microsoft invented the XmlHttpRequest functionality

      Which comes as quite a surprise to everyone that's been doing the following since the mid 90s.

      Create a frame driven page with one main frame and one tiny frame.
      Whenever you want to perform an asynchronous action:
          Load a page in to the small frame.
          Have that page call an onload event that accesses a function in large frame.

      All "AJAX" (which is just a dressing up of what was already there) does is use the request object which is just a cleaner way of what people have been doing for about ten years anyway.

      There were also tricks for doing it with Java. But Microsoft had to supply an alternate mechanism because someone took Java out of the dominant web browser for a while. Can't think who might have done that though.

    4. Re:Funny thing is... by killjoe · · Score: 3, Informative

      "Microsoft invented the XmlHttpRequest functionality,"

      Microsoft invented XMLHttpRequest because before that people were using tiny little java applets to accomplish the same thing. In fact the original version of remote scripting in IE also used a java applet. When MS decided that java was the enemy they figured a way to do it without java.

      I for one see no need for AJAX, it's better to just write java applications or even applets (or thinlets).

      --
      evil is as evil does
    5. Re:Funny thing is... by Chris+Burke · · Score: 4, Funny

      You can say "invented", you just have to leave in the quotes. ;)

      --

      The enemies of Democracy are
    6. Re:Funny thing is... by aztracker1 · · Score: 2, Informative

      I was doing it in frames long before as well, have also used java, and flash, in fact MS's remote scripting (introduced with ie4, & asp 3 iirc) uses a java applet for its' communications.. there are similar frameworks for PHP etc.

      I'm willing to give MS a big credit in this, however, since they did to XmlHttpRequest first, as well as their remote scripting, which makes easier tie ins on the server-side... their Atlas framework falls a little short of Ajax.Net's interfaces though.

      --
      Michael J. Ryan - tracker1.info
    7. Re:Funny thing is... by Bulmakau · · Score: 2, Informative

      You are forgetting that MS invented cross frame coding.
      There should be no denying, MS lead the development of HTML into DHTML into what is basically refered to AJAX today. It might be that W3C defined certain things, but the "violation" of those definitions by MS (which many times W3C adopted) is the reason AJAX exists today.
      Trace back the features you like today about AJAX and they all come down to MS features extending what was at the time the standard of web.

      --
      "From the moment I could talk, I was ordered to listen" - Cat Stevens
  4. Microsoft pursuing it??? by Anonymous Coward · · Score: 2, Informative

    Microsoft was using Ajax before anyone ever even heard of google. Outlook web interface anyone? Cmon, at least be semi-accurate.

  5. There's something very familiar about all this by fiannaFailMan · · Score: 3, Interesting

    Sounds familiar, could have sworn I read something about this here the other day.

    Anyway. Let's not fill this page up with 'Dupe' complaints. Macromedia are probably gonna have to re-think things (in the new Adobe environment, of course) since they were convinced that Flash would be the vehicle of choice in developing what they call Rich Web Applications. They'll now have to sell it on the basis that you can get a hell of a lot of functionality out of very few lines of Flex code.

    It's gonna be interesting.

    --
    Drill baby drill - on Mars
  6. Well, duh by Psionicist · · Score: 3, Insightful

    I don't mind dupes. I don't really think about spelling- or grammatical errors (queue jokes because I'm not careful here). But do we, readers of slashdot, really need to be lectured what AJAX is?

    Google uses it, and Microsoft is pursuing it, so there's a lot of hype and hubbub surrounding AJAX (Asynchronous JavaScript and XML). AJAX brings together some hot properties, Javascript, HTML/DHTML and HTML, according to Julie Hanna Farris, founder of Scalix, a Linux-based, e-mail systems vendor

    What's next, summary teaching us what programming languages or computer is?

    Bah, this is slightly annoying.

  7. Re:Ditch Javascript by richdun · · Score: 4, Insightful

    So we should ditch Javascript, but keep Asynchronous Javascript And XML? Isn't that like dumping gas-powered engines but keeping gas-powered cars?

  8. AAX??? by RingDev · · Score: 2, Insightful

    Asynchronous And XML?

    With out Javascript AJAX doesn't work.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:AAX??? by wealthychef · · Score: 3, Informative

      I think the grandparent was saying that it would be nice to replace the J in AJAX with something else. But I am not sure what they meant and should let them speak for themselves. :-)

      --
      Currently hooked on AMP
    2. Re:AAX??? by chris_mahan · · Score: 2, Interesting

      Whatever happened to embedding python in firefox. That would be bitching: APAX

      --

      "Piter, too, is dead."

    3. Re:AAX??? by pthisis · · Score: 2, Informative
      Whatever happened to embedding python in firefox. That would be bitching: APAX

      Existing APAX solutions use py2js so you write client code in python which is translated to javascript automagically.

      See, e.g., Crackajax (or use plain py2js if you don't want a big framework).

      what if I could write an Ajax application in Python? I set out to work, and came up with CrackAJAX, which uses the jsolait JavaScript library...It uses inspect.getsource(), mucks with the indentation a bit to make it parsable, and then parses it into ASTs. Then I plugged it into a modified version of a Python-to-JScript.NET compiler I wrote to do the translation.


      http://www.aminus.org/blogs/index.php/phunt/2005/1 0/06/subway_s_new_ajax_framework

      I think TurboGears has something similar.

      --
      rage, rage against the dying of the light
  9. So what you're saying is... by Wannabe+Code+Monkey · · Score: 2, Insightful

    AJAX brings together some hot properties, Javascript, HTML/DHTML and HTML

    So what you're trying to say is "AJAX brings together Javascript."

    --
    We always knew Comcast was corrupt, here's the proof: http://tech.slashdot.org/comments.pl?sid=1909890&cid=34545432
  10. What my dog hears by hillg3 · · Score: 5, Funny

    Anyone remember the old Gary Larson cartoon? Man talking to dog, bubble above dogs head captioned, "what dogs hear."

    "blah blah blah AJAX, blah blah blahblah AJAX!!1!. blahblahblah Google blah AJAX, blah Microsoft sux."

    1. Re:What my dog hears by hillg3 · · Score: 3, Informative

      Yes! I found it! What dogs hear

  11. Re:What is ? by RingDev · · Score: 2, Informative

    The .Net alternative IS AJAX. VS.Net 2k5 has AJAX components built in. It takes a mater of seconds to get AJAX running in 2k5. There are also plug ins available for VS 2k2/2k3 to run AJAX.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  12. Re:What is ? by imidan · · Score: 3, Informative

    The .NET alternative, which comes as a part of .NET 2.0/Visual Studio 2005, is Atlas.

    Here's an overview.

  13. Wait, it's all a matter of time by rawwa.venoise · · Score: 2, Insightful

    Just wait until microsoft defines is "standard" AJAX interface.

    What i would like to see is the US goverment and other countries to force them to adopt clean, industry defined standards like the XML, HTML,CSS, AJAX and not an assimilated badly digest crappy way of doing things that breaks the WEB. They should be more humble since the WEB has given a good chance for all companies to develop and sell new products, and microsoft is no exception here, aldo they have wakeup lately to this.

  14. Re:Ditch Javascript by hal2814 · · Score: 3, Insightful

    Exactly. We need a better engine.

  15. A better web page scripting language? by ThinkingInBinary · · Score: 5, Insightful

    I'm not sure if your comment was intended as a pointed jab at the buzzword status of AJAX or a serious suggestion that JavaScript is crappy, but I'm assuming the second.

    There are some things about JavaScript that are really annoying. First, the object orientation seems very odd. It is well-rooted in the language, but it is quite annoying not to have real object namespaces (yes, you can use closures, but they're annoying and kludgy), real constructors, and that sort of stuff. It's almost as bad as Perl's hash + namespace = object idea, and worse in some ways.

    What I'd like, I guess, is a language that is very similar to JavaScript, but has a real object-oriented system and better support for things like loading code dynamically. It's clear that JavaScript or some future variant of it is finally being used the right way--to make pages dynamic instead of just annoying--but right now it's very cumbersome. Loading Gmail, for example, is quite slow, because it (IIRC) downloads a huge chunk of code at the beginning. Perhaps someone (maybe me) could write a wrapper system in JavaScript that uses XmlHttpRequest to load JavaScript code on demand. But some sort of modular functionality ought to be officially added to JavaScript, before it's too late and we end up with the next "___ Wars"... this time it will be the fight between JavaScript frameworks.

    1. Re:A better web page scripting language? by Bogtha · · Score: 2, Interesting

      JavaScript is object-oriented. You only call it "odd" because it's not the usual C++/Java/whatever object orientation you are used to, it's prototype-based like Self, not class-based. That's no less of a "real" object-oriented language.

      Loading Gmail, for example, is quite slow, because it (IIRC) downloads a huge chunk of code at the beginning.

      Don't blame JavaScript for the shortcomings of GMail, it's simple to dynamically load JavaScript on demand. There's a lot of really screwed up stuff about the way Google use Javascript, don't use them as examples of best practice. If Google are incapable of doing something, that means Google are incapable, not that the language is incapable.

      --
      Bogtha Bogtha Bogtha
    2. Re:A better web page scripting language? by aztracker1 · · Score: 2, Funny

      Gasp! how dare you question our mighty Google overlords... I for one am happy that our Google overloards are here to look out for us.

      Seriously, it's probable that most of the framework really needs to be in place *before* you can use the GMail interface anyways... and anything more in terms of a "loading" would probably be a longer wait... but may be worth it in the long run...

      --
      Michael J. Ryan - tracker1.info
  16. The Big Question by symbolic · · Score: 3, Insightful


    Who will be the first to try and patent something "using AJAX..."?

  17. Incoming data by n0dalus · · Score: 5, Interesting

    I think that if AJAX picks up and starts to be used everywhere, we should standardize a system so that optionaly, a web browser can inform the server that it has the option to connect to it using an open port on that system. It would really help things if the browser didn't need to connect to the server every few minutes to check for new data. That way, instead of my browser connecting to Gmail's servers every 60 seconds to check for new mail, Gmail's servers can connect to my browser and tell me only when I have new email. This saves processing and bandwidth and increases usability.
    This turns AJAX into more of an actual internet protocol, and I think it would really improve things.

    1. Re:Incoming data by TeamSPAM · · Score: 2, Insightful

      I acknowledge that having all their users hitting gmail every 60 seconds may tax their system a bit more than they would like. I'm not sure I'm comfortable with having some sort of open port on my computer that accepts new mail messages. Isn't this the first step for a new kind of worms/viruses for our computers?

      --
      Brought to you by Team SPAM! where we believe: "Information in the noise!"
    2. Re:Incoming data by pthisis · · Score: 2, Insightful

      so that optionaly, a web browser can inform the server that it has the option to connect to it using an open port on that system.

      That would be nice but is unlikely to be a widespread solution. Huge numbers of ISPs do not allow incoming connections, many NAT boxes are outgoing only (there are some hacks to allow incoming connections but they aren't commonly implemented for corporate desktops), etc. IPv6 would be helpful in a move toward this kind of scenario..

      But the best case right now is persistent connections via XMLHttpRequest and similar (as AJAX solutions use) where the browser initially connects but the connection is left open so that the server can notify the client of changes without the client polling intermittently. It requires that the server be able to deal with large numbers of open connections, which can be a bit of a downer.

      --
      rage, rage against the dying of the light
    3. Re:Incoming data by KiloByte · · Score: 5, Informative

      1. The good ancient way.

      Try this:
      #!/usr/bin/perl
      print "Content-type: text/plain\n\n";
      $|=1;
      (print '.'),sleep 1 while 1;

      2. With XMLHttpRequest:

      var req = new XMLHttpRequest();
      req.multipart=1; ....

      and the server-side part uses content-type: multipart/x-mixed-replace

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
  18. How is this any different from Java Applets? by thekel · · Score: 4, Insightful

    Browsers could spend alot less effort kludging together DHTML and javascript and ride for free off of the JVM. I understand the JVM is a separate download, but browsers can include it as part of their install. I don't see why were a celebrating the creation of such a kludge with random inconsistencies across browsers and platforms that are far worse then what you find when targeting the JVM.

  19. Sad that AJAX is the only way by jmorris42 · · Score: 2, Interesting

    What is it with this EVERYTHING on the Internet is a webpage. The browser is the only client these days outside IM and P2P warez trading for 95% of users. And even though Javascript was never intended for 'real' programming it is the only language all browsers implement so it is what everyone is forced to use. It wasn't supposed to be this way and it doesn't have to BE this way.

    If nothing else, if we want to download clients and run them in the browser, having them talk to a backend server for the data, why not get a more appropriate language? Java would be perfect if Sun weren't a bunch of asshats, but just because it won't ever be truly Free or cross platform is no reason to reject other candidates. Tcl/Tk has had a fully sandboxed browser plugin for a decade and it is 100% Free Software. It runs on every known platform where IE or Mozilla runs and could be ported anywhere else needed. I'm sure it isn't the only one. Or do we continue shoehorning everything into html?

    --
    Democrat delenda est
  20. AJAX: Almost Just like an Application! by MobyDisk · · Score: 5, Interesting

    AJAX is great. It means that web deployed applications are now almost as good as the regular applications we've been using for over 10 years! Just imagine: We can enhance Javascript to support more OO features and reflection and add JIT and it will become just like Java! Yaaay! Then we can add support for stronger typing and compiling to native code, and then it will be just like C! Yaay!

    It is funny to watch technology reinvent itself in fast-forward.

    I work for a company that did AJAX long before it was called AJAX. And now that it is the next hot thing they are moving away from it. Why? Because they already learned the lesson that everyone else is about to figure out: AJAX is a b*stard to code and maintain. It is easier to write a client-server application in a traditional language and web deploy it than to write this crazy JavaScript + XML + HTML + DHTML + CSS stuff.

    Java and .NET natively support this. For other languages there are plenty of frameworks that will add that capability.

    1. Re:AJAX: Almost Just like an Application! by SanityInAnarchy · · Score: 2, Insightful

      I bet you'd think it'd be a b*stard to code and maintain anything, if we didn't already have the right abstractions. Take the browser itself, for instance. It has to open a connection, talk HTTP, parse HTML, interpret Javascript, and draw a bitmap on the screen, as well as provide a mechanism for scrolling around a document too large to display, and following a link to another document.

      Yes, it's still a b*tch to code and maintain a browser, and Microsoft still hasn't done it -- not really -- but a lot of the above is abstracted to the point where building a new web browser would essentially be figuring out where every HTML element ends up on the screen, because everything else is in a library somewhere -- the sockets/HTTP, the HTML, the GUI code, and the JavaScript, not to mention the TCP/IP.

      In fact, we've got enough abstraction there that with just a bit more, we can write OS independent apps. Some, like Mozilla, actually implement their own cross-platform... platform (XUL), while others, like the Gimp, are written for essentially one platform (POSIX/gtk+), and rely on that platform being ported (mingw / Windows GTK+).

      I suspect that the way to make AJAX work is to "reinvent in fast-forward" so that we actually have a decent, ridiculously abstracted environment for developing web apps, where the interface portion and client-side logic could be turned into AJAX, XUL, a Java applet, or even a native Windows app (pick your Visual buzzword). That way, no one has an excuse NOT to develop a good Web app. No whining about how Javascript is too slow -- compile it to Java, or provide a Windows version. No whining about how it's too hard to combine so many different technologies (perl/xml/javascript/html/css) and debug them all, because you now just have a simple platform with bindings to your language of choice -- just as easy as developing a real, honest-to-gosh GUI app. And no whining about the challenges of debugging/testing on multiple platforms -- the compatibility layer is no longer your responsibility, and if your app breaks on Internet Explorer, so will everybody else's, and Microsoft will fix it.

      Yes, Microsoft will fix it. If a new version of Internet Explorer breaks Gmail, who has to deal with the angry customers? Well, Google, to some extent, but they get to refer everyone to Microsoft, and suggest that they avoid the issue by downloading Firefox. And the idea of every Gmail user switching to Firefox probably makes Microsoft shit their pants.

      --
      Don't thank God, thank a doctor!
  21. AJAX = Suckjax by autopr0n · · Score: 2, Insightful

    I just don't get the hype. What can you do with an AJAX interface that you can't do better with a native client application?

    Sure, browsers work on every platform, and AJAX apps don't need a download, that's great. But the same thing could be done with java if everyone had a JVM, or anything else.

    AJAXs means reinventing the GUI, only with a more difficult to use, hacked together API

    --
    autopr0n is like, down and stuff.
    1. Re:AJAX = Suckjax by Lugae · · Score: 2, Insightful

      Some would say that you can deploy better with AJAX. As soon as a change is made, all users see that change.

      This can be unwanted behavior in some instances, but it's nice to be able to hook people into a system without an install disk or download.

      AJAX is providing that, but a desktop application is a lot nicer to work with. Plug in some remoting and you have a NICE client. Unfortunately, remoting does not seem to be the way that computing is going.

      My two cents.

    2. Re:AJAX = Suckjax by freeweed · · Score: 5, Insightful

      I keep seeing comments to the effect of "Java could do this!", and I'm going to pick on yours :)

      See, Java *could* do this. Sure. I'll give you that. In fact, most people until recently HAD a JVM in their browser. Java applets should have taken over the world.

      Why didn't they? Why is AJAX getting all the press Java should have gotten?

      Me, I simply look at 2 things: gmail, and Google Maps. They both work, work well, and work better than anything else. Apparently millions of people agree with me, just look at the buzz around them. Are we all brainwashed by Google? Could these have been done as a Java applet? Maybe.

      The fact is, they WEREN'T. Or if they were, no one used them. The way I see it, AJAX is the end all and be all (for now) because it WORKS. Maybe Java is just too slow (and here come a dozen posts claiming it's not). Maybe the wait time to load a JVM into memory, plus download an applet is too long. I don't know why Java hasn't been used, but it's not like no one's thought of it before.

      I get the hype, myself. It means that I can sit at virtually any computer, type a URL, and BAM! Instant application. I've yet to see another technology that works this well.

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    3. Re:AJAX = Suckjax by petermgreen · · Score: 2, Insightful

      there are a couple of reasons i can think of why java wasn't a roaring succes.

      1: thanks to the sun vs ms issue developing browser applets that will run without 3rd party software required working in a horriblly old version of java and you couldn't even use the swing classes without downloading them at applet load time.

      2: also a lot of java applets wouldn't work if you were browsing from behind a http proxy as they used other protocols to talk back.

      3: you can't exactly call awt or swing nice to program for ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:AJAX = Suckjax by jumpfroggy · · Score: 3, Insightful

      I agree with you. From a pragmatic point of view, AJAX is something that just works. Java can do many of the same things, but I always hated when websites use java in their pages. The load time is really annoying. I always sit there wondering what's chewing up my CPU cycles, then I see some cheesy javascript counter at the bottom of the page.

      Google maps is such a great example. You go there, it works, and it's a great interface. It's not as nice as google earth, but I don't want a client/server map app. I don't want to go to a public computer, work computer, friend's computer (etc) and say "I wish I had that app on this computer". I just go to the web application, do what I need to, and close it.

      With the huge focus on web applications, I believe this is just the start of a trend. We should be seeing some web application-specific API's popping up among browsers. Remember when mozilla was an application platform, not just an internet browser? That was the justification (IIRC) for XUL instead of native UI's; mozilla was going to be an app platform that everyone could utilize. Instead of XUL and mozilla specific, now we have AJAX that's cross platform.

      Yes, we had IFRAMES. Yes, we had Java (and flash, for that matter). But instead of "this is no good, we could already do this", my thought is "Yeah! Almost all of the browsers AGREED on something that we actually need, and made things just a bit easier in a way that actually makes sense! A miracle!".

      Plus, this should kill off old browsers in a way that XHTML/css never could. For that alone, thank you.

  22. Be Careful by dmh20002 · · Score: 2, Informative

    If you are typing on a web page that uses XMLHTTPRequest, then you should treat it as if you were running a live program remotely. I.E. the web page could forward information about everything you type, how you move your mouse, etc, without an explicit 'submit'. Example : it if were an email app, and you typed 'my boss is a dick and my SSN is 555-55-5555' in an edit control, and then thought better of it and erased what you typed and killed the browser window without submitting, the contents could already have been captured and forwarded to the host with XMLHTTPRequest and you never knew it. Looks like a good cross site scripting opportunity.

    Of course, you usually don't know if a page is using XMLHTTPRequest in a hidden frame unless you look really hard, so I guess the bottom line is never type anything on a web page you don't want the world to see. On the other hand, AFAIK (which doesn't mean much) this hasn't shown up in practice, so maybe it isn't that big a deal.

  23. Thing is... i don't care by Colin+Smith · · Score: 2, Funny

    As a web user I don't give a shit what the application is made of as long as it works and doesn't open me up to all the security nightmares of the day.

    Do I care that I can get a full desktop application on the web? I don't because I already have one and free too. Video games? Nope, got'em and they're better too.

    Do something I don't have. If it can get me laid all the better.

    --
    Deleted
    1. Re:Thing is... i don't care by AKAImBatman · · Score: 2, Insightful

      Video games? Nope, got'em and they're better too.

      Actually, there's a huge market of "casual gamers" (a new term used to describe people who like to play web games and the like) that companies are having the hardest time reaching. One of the major obstacles in their way is the fact that these gamers are uninterested in installing Flash, Java, or any other plugin. If they don't get instant gratification, many of them simply leave. This means that all those super-APIs that companies like WildTangent and Unity were producing were completely off track.

      AJAX (being 100% browser code) can change that, and give casual players an instant experience. Google could have created a Google Games to compete with Yahoo! Games, but they didn't seem interested.

  24. Re:Yet another "summary" lifted directly... by RobertF · · Score: 2, Insightful

    Not only that, but apparently, only Ajax creates Drag'n'Drop and drop down menus. You learn something new everyday! Here I thought that it was Javascript and CSS that did that.

    The sad part of throwing buzzwords around is that people latch on to them and have no idea what they entail. "I want to use some ajax for my website. Do it." ??? Somebody just realized that they can use the XmlHttpRequest object and some server-side processing to save users from the need to refresh or load a whole new page. The rest of the visual goodies have nothing to do with Ajax, just some good old Javascript+CSS.

    --
    And that, my liege, is how we know the Earth to be bannana-shaped.
  25. Re:Where? ajaxian.com by dalmaer · · Score: 4, Informative

    Hi, My name is Dion Almaer, and I run a site called ajaxian.com which focuses on news, resources, and all things Ajax. We also have a podcast called Audible Ajax. Let us know if there is anything that you would like to see covered, and if there is anything cool in the Ajax world that we have missed. Cheers, Dion

  26. List of websites using Ajax by Sundroid · · Score: 4, Informative

    Here is a fairly long list of websites that use AJAX -- http://en.wikipedia.org/wiki/List_of_websites_usin g_Ajax

    1. Re:List of websites using Ajax by BishonenAngstMagnet · · Score: 2, Insightful

      Please note that it is also a candidate for deletion.

  27. Why Java? by kuzb · · Score: 3, Insightful

    Why is this article marked under the 'Java' category by slashdot? That's amazingly silly. xmlhttprequest has *nothing* to do with java.

    --
    BeauHD. Worst editor since kdawson.
  28. Netscape, LiveScript and JavaScript (sic) by marianne1017 · · Score: 2, Interesting
    Netscape has amazingly bequeathed us a lot of things, whether they're good or not - LiveScript aka JavaScript being one.

    JavaSript is not related in any way to Java. It was a cold day in November 1995 when Bill Joy, in contract negotiations between Sun and Netscape, told them "sure, go ahead and use the name JavaScript."

    Sort of funny when you think about the current protection of the Java trademark, or whatever it is.

    p.s. yes I was there

  29. Re:"Google uses it, and Microsoft is pursuing it"? by ergo98 · · Score: 2, Interesting

    More like, "Google uses it, and Microsoft invented it".

    Indeed. This story is absolutely unbelievable revisionist history and nonsense. I've written about my feelings of AJAX (in fact I was honored to see that an AC already referenced it in this thread), and this article is exactly what pisses me off about the new-to-web-apps "AJAX" converts. This messaging expert is yet another dumb-ass trying to get in on the Web 2.0 action to earn some VC funding. She even used the word "paradigm" to really put up the flags.

  30. Accessibility by leighklotz · · Score: 4, Informative
    AJAX, being a random collection of JavaScript hacks, doesn't offer any accessibility.

    So you can't use it in software that might be sold to, for example US Government customers -- no national laboratories, no NASA, etc.

    UNLESS -- you write your own accessibility aids and write your own UI framework that compiles into both an AJAX version and a web accessible version.
    That's a tall order. However, there is help.

    You can write your web pages in HTML with XForms and let XForms handle the dynamic page aspects, and then offer up the HTML+XForms as the accessible version. (See the DHTML Accessibility Roadmap.)

    Everything that the AJAX cloud of applications does with the XMLHTTP object and updating the DOM on the fly to display choices can be done with XForms.

    Then, you can use one of these mechanisms to convert the server-side XHTML+XForms file into AJAX:
    • FormFaces A pure AJAX library that runs in today's browsers. It's stunning to see how simply this works.
    • Chiba A server-side engine in Java that integrates with TomCat or other Apache web server technologies to produce HTML that works in today's browsers. Plus, the plain-old-HTML output of Chiba is accessible right now, in addition to the XHTML+XForms file itself. (Caveat: Full AJAX implementation is in development, according to the mailing list.)
    • Orbeon Ops, like Chiba, Orbeon converts to HTML for today's browsers in its Java back end, but rather than integrating into your TomCat or Coccoon framework, it comes with its own framework that helps you separate presentation from content and write your applications.


    If you want to serve up the XHTML+XForms directly, and not rely on any AJAX technologies, try these:
    • Mozilla XForms for Mozilla and FireFox, an XPI that's available for recent betas and nightlies, this one-click install adds native XForms support to these browsers. Still in Beta, but with plenty of developers, it should be a full implementation.
    • FormsPlayer for Windows provides full support for XForms in Internet Explorer via a plug-in. Plug-ins are not everyone's cup of tea, but then neither is Mozilla ;-). You can get the AJAX benefits of dynamic page updating and yet still retain accessibility with any of the server-side or JavaScript engines above, but if your target deployment is Internet Explorer, you can gain tremendous access to advanced features inside IE with this plug-in. (Plus it has some neat Konfabulator-like tools such as SideWinder.)


    So, try them out, and see how much easier it is to write accessible code and properly separate your data and presentation layers when you use XHTML, CSS, and XForms. Then, choose a middleware solution or a browser-based solution and go forward knowing that you can meet architectural requirements without getting bogged down in JavaScript toolkits.
    1. Re:Accessibility by phusikos · · Score: 2, Informative

      Properly written AJAX isn't any less accessible than a plain old HTML form. Just make sure your AJAX events are triggered by actions that would normally result in a regular HTTP request (like clicking an anchor or submit button on a form). This way, there's nothing lost if Javascript is off. Everything else can follow the 508 guidelines just as strictly as a well-designed static page. So go ahead and pitch that AJAX app to NASA.

    2. Re:Accessibility by Bogtha · · Score: 4, Informative

      AJAX, being a random collection of JavaScript hacks, doesn't offer any accessibility.

      So you can't use it in software that might be sold to, for example US Government customers -- no national laboratories, no NASA, etc.

      UNLESS -- you write your own accessibility aids and write your own UI framework that compiles into both an AJAX version and a web accessible version.

      This irritates me. This is not true. And yet moderators without a clue have pushed it up to +5, Informative. And any newbie web developers who read this are going to think that they have to choose between AJAX and accessibility. Some of them are going to choose AJAX and not bother with accessibility. If your post had been down at -1, Wrong, they might not get that impression, and would go on to write accessible AJAX web applications.

      You don't have to choose. You don't have to write "UI frameworks" that you have to "compile". That's nonsense. What you do is you write the non-AJAX version, and then you add the AJAX as an optional extra. When people have Javascript turned off, they get the basic version seamlessly. Perfectly accessible, none of the complicated nonsense you claim is necessary.

      Please stop propogating this myth. If you want to promote your favourite technologies, then by all means do so, but don't lie about the alternatives to make them look bad.

      --
      Bogtha Bogtha Bogtha
  31. Section 508 Compliance by JMUChrisF · · Score: 3, Interesting

    It really stinks when you want to play with these technologies, but as a federal contractor, not something we can do.

    I don't think there are too many screen readers our there that can handle AJAX quite yet.

    Hmm.. screen reader built onto Firefox? Notices when stuff changes. I could build that. Sweet.

  32. no by geo.georgi · · Score: 2, Interesting

    Not really.
    We have this mechanism with active FTP.
    On this page http://slacksite.com/other/ftp.html
    there is pretty good description how it works.
    This is not high risk, because the port need to be opened for a short time.
    And after the connection is created, there is no need to listen more on this port, just keep the connection.
    You will accept connection only from the host in the url, and will not accept connections from other hosts.

  33. Re:Platform independent? by dmeranda · · Score: 5, Interesting

    It's almost platform independent. The main problem which primarily afflicts Microsoft's use of AJAX, such as in Outlook Web, is the way that the "A" in AJAX is "started".

    Basically to initiate an HTTP asynchronous request, the Javascript code must create a special object which encapsulates the request and communication. Althought the interface and use of this object is for the most part standard, the way in which it is initially created is not.

    • Standard (everybody but IE): req = new XMLHttpRequest();
    • MS-IE (new): req = new ActiveXObject("Msxml2.XMLHTTP");
    • MS-IE (old): req = new ActiveXObject("Microsoft.XMLHTTP");

    So if you want a platform independent AJAX app, you pretty much need a bit of code which does things the Microsoft way when the standard ways don't work. Like:

    try {
    req = new XMLHttpRequest(); /* The pseudo-standard way */
    } catch(e) {
    try {
    req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    req = false;
    } } }

    Now, Microsoft-written applications which use AJAX only try the MS ActiveX methods, and not the standard XMLHttpRequest() function. Thus, although most of the application could have worked in any browser, this simple omission by Microsoft insures it only works under IE (and locks you into their technology).

    It should also be noted that AJAX is a methodology and not a strictly defined API. For instance most AJAX apps rely heavily on the DOM API, which Microsoft mostly but not entirely adheres to. So there's lots of things that can cause platform independence problems if not coded carefully.

  34. The Web's killer app is content by Geof · · Score: 2, Insightful

    Because the success of the Web is primarily about linking together data. HTML has proved itself as a flexible way to express that data, to link it together, and (increasingly) to structure it. That's what the language was designed for. Remember, HTML was not intended as a language for layout or for graphic design. If you trade in HTML for code (as you propose*), then the structure and semantics of that data is then locked up in the code, walled off from the rest of the Web. You lose all the benefits of standard representation and network effects - which matters, because the best web apps rely on data. For example, fragment identifiers, browser extensions, web crawlers (e.g. for search), the ability to target different device characteristics through CSS, and accessibility features all rely on HTML (granted, AJAX tends to be weak in supporting some of these, e.g. accessibility). You also, incidentally, wall of your code from the rest of the content of your page.

    * Admittedly I haven't looked at applets in years; maybe there has been some movement toward resolving this problem.

  35. Ajax isn't about the technology (XHR, etc) by dalmaer · · Score: 2, Insightful

    Although Ajax started out life talking about JavaScript, html, css, etc. It was never defined as an acronym. In my opinion the promise of "Ajax" is not XMLHttpRequest. The shift is in the architecture. Instead of a full request/response/redraw cycle, we can do what any application framework allows, in that we can talk back to the server based on any action (click, hover, sneeze) get some response, and dynamically change something on the page. This change is powerful and a no-brainer. Imagine if you clicked on a button if you email client and every widget re-drew itself each time! We have to not go crazy though. The bests uses of Ajax are often subtle, as we don't want to leave behind our users. One of the great things about the web is that my grandma knows how to use it. See a link. click it. Same for a button. Learn a few buttons (back/forward/reload). We need to make sure that our web applications are still usable. With ajax you can INCREASE usability if you are careful, but you also have the power to do the opposite.

  36. Re:Platform independent? by JediJorgie · · Score: 2, Insightful

    >> Standard (everybody but IE): req = new XMLHttpRequest();

    Um, since Microsoft INVENTED the fist XMLHTTP object, they could not use the "standard" method; It did not exist.

    As they did it first, it was the de-facto standard that everyone else copied.

    Now others have copied it, blessed it as "The Standard"(TM) and now people bitching because MS has not gone back and changed the way they do it?

    That is pretty stupid.

    I guess it is just like Americans telling the Brits they should *speak English*.

    Jorgie

  37. Re:Ditch Javascript by misleb · · Score: 2, Informative

    Javascript is fine. Not perfect, but it is usable. It is HTML that blows for web apps. There are just so many basic things you can't do in HTML such as listboxes and treelists. And the widgets HTML does have are really nmeant for simple forms, not complex user interfaces. Sure, you can find ugly and slow Javascript implementations but what we need is a UI language such as XUL which can describe a fully functional application UI. Right now AJAX is OK for adding a little spice to traditional web applications, but it won't be a revolution until we have something besides HTML to describe the UI.

    Javascript+XUL is very powerful. Consider that the entire Firefox front end is written in XUL and Javascript. You can use AJAX with XUL, BTW.

    -matthew

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  38. Javascript potential by ChrisZermatt · · Score: 2, Interesting

    For those of you complaining about how JS suffers from various browsers inconsistencies and bugs, and how it should have a [hard-to-build] framework that handles all this, take a look at the following:

    http://qooxdoo.oss.schlund.de/demo/dev/public/test /user/Window_2.html

    (I discovered this through /. the other day, and was quite impressed -- even if it still has a ways to go before it hits prime time).

    I'm just finishing a project where QooxDoo (when its a bit more finished) would have been the cat's ass.

  39. Re:Where? ajaxian.com by abigor · · Score: 2, Interesting

    What! The mighty Ajax is all of the following:

    1. A couple of guys from "The Iliad".
    2. The name of a bunch of cars from the early part of the 20th century.
    3. A major Dutch soccer team.
    4. A toilet and bath cleaner.
    5. A town in Ontario.
    6. A character from the movie "Flash Gordon".
    7. A "web technology" whose component parts have existed for ages, but marketing people believe makes them sound smart and "cutting edge".
    8. Many other things.

    It is NOT, and has NEVER BEEN, a mere "window cleaner"! Good god, man!

  40. Re:Ditch Javascript by JesseMcDonald · · Score: 5, Insightful

    I agree that both models are necessary. You wouldn't want to lay out text with a box model, but you wouldn't typically want to lay out a form or list with a freeform layout, either. The element was a decent compromise, for a while, but its limitations are many, and it confuses programs that expect tables be used for data rather than layout. CSS is the recommended replacement, but omits the most useful part of the element, arranging rows and columns of arbitrary elements, while failing to add the metainformation that would allow screen-readers and the like to quickly find the content of the page.

    You say that we're "trying to force documents to be applications", and I agree. However, with HTML we're also trying to force applications to become documents. We need access to both layout models, because the Web contains both documents and applications. XUL provides this. For example, the XUL menus in the FireFox "chrome" are freeform, and the main part of the box layout is a container for freeform HTML, while the rest of the chrome follows a box model.

    Even "document" pages usually contain some "application" elements; navigation buttons, or a search box, for example. The page should be treated as an application containing content, and not forced to hold both the framework and the content in one file, with the same layout model.

    --
    "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
  41. Re:Ditch Javascript - AVBSAX by mnemotronic · · Score: 2, Interesting
    Ah yes, the infamous Asynchronous Visual Basic Script and XML. Makes my heart go all a-pitter-patter, then say something useful like : "Firefox has caused a fault in vbscript.dll".

    Actually, my biggest problem with Javascript was (is?) trying to understand all the little (or sometimes not-so-little) implementation differences, and write cross-browser script that didn't turn into zillions of checks:

    if browser == msie 3.x then
    do this
    else if browser == msie 4.x
    do this
    else if browser == msie 5.x
    do this
    else if browser == msie 6.x

    ...etc...
    That becomes a maintenance nightmare. Every few months a new browser version becomes available and must be tested and it's niggling quirks discovered and handled. This is not an insignificant task. Personally, I would rather be a content creator, not a browser beta tester for MS and Mozilla.
    --
    The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.