Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Java Programming IT

Why Microsoft and Google are Cleaning Up With AJAX 443

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."
This discussion has been archived. No new comments can be posted.

Why Microsoft and Google are Cleaning Up With AJAX

Comments Filter:
  • real reason why (Score:3, Insightful)

    by scenestar ( 828656 ) on Thursday November 10, 2005 @05:44PM (#14002044) Homepage Journal
    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.
  • Well, duh (Score:4, Insightful)

    by Psionicist ( 561330 ) on Thursday November 10, 2005 @05:45PM (#14002063)
    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.
  • by richdun ( 672214 ) on Thursday November 10, 2005 @05:45PM (#14002064)
    So we should ditch Javascript, but keep Asynchronous Javascript And XML? Isn't that like dumping gas-powered engines but keeping gas-powered cars?
  • AAX??? (Score:3, Insightful)

    by RingDev ( 879105 ) on Thursday November 10, 2005 @05:46PM (#14002075) Homepage Journal
    Asynchronous And XML?

    With out Javascript AJAX doesn't work.

    -Rick
  • by Wannabe Code Monkey ( 638617 ) on Thursday November 10, 2005 @05:46PM (#14002076)

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

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

  • by rawwa.venoise ( 881755 ) on Thursday November 10, 2005 @05:50PM (#14002129)
    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.
  • by hal2814 ( 725639 ) on Thursday November 10, 2005 @05:50PM (#14002134)
    Exactly. We need a better engine.
  • 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.

  • The Big Question (Score:4, Insightful)

    by symbolic ( 11752 ) on Thursday November 10, 2005 @05:53PM (#14002165)

    Who will be the first to try and patent something "using AJAX..."?
  • by AKAImBatman ( 238306 ) <akaimbatman@gmaYEATSil.com minus poet> on Thursday November 10, 2005 @05:55PM (#14002185) Homepage Journal
    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.)
  • by thekel ( 909848 ) on Thursday November 10, 2005 @05:58PM (#14002215)
    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.
  • AJAX = Suckjax (Score:3, Insightful)

    by autopr0n ( 534291 ) on Thursday November 10, 2005 @06:00PM (#14002241) Homepage Journal
    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
  • by ChrisGilliard ( 913445 ) <christopher.gilliard@nOSpAM.gmail.com> on Thursday November 10, 2005 @06:05PM (#14002279) Homepage
    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.
  • by nick_davison ( 217681 ) on Thursday November 10, 2005 @06:07PM (#14002321)
    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.
  • by RobertF ( 892444 ) on Thursday November 10, 2005 @06:09PM (#14002329) Homepage

    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.

  • Re:Incoming data (Score:2, Insightful)

    by TeamSPAM ( 166583 ) <(flynnmj) (at) (gmail.com)> on Thursday November 10, 2005 @06:09PM (#14002339) Homepage

    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?

  • Re:Incoming data (Score:3, Insightful)

    by pthisis ( 27352 ) on Thursday November 10, 2005 @06:13PM (#14002389) Homepage Journal
    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.
  • Why Java? (Score:4, Insightful)

    by kuzb ( 724081 ) on Thursday November 10, 2005 @06:15PM (#14002410)
    Why is this article marked under the 'Java' category by slashdot? That's amazingly silly. xmlhttprequest has *nothing* to do with java.
  • 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.
  • Re:AJAX = Suckjax (Score:2, Insightful)

    by Lugae ( 88858 ) on Thursday November 10, 2005 @06:20PM (#14002485) Homepage
    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.
  • by BishonenAngstMagnet ( 797469 ) on Thursday November 10, 2005 @06:26PM (#14002564)
    Please note that it is also a candidate for deletion.
  • Re:AJAX = Suckjax (Score:5, Insightful)

    by freeweed ( 309734 ) on Thursday November 10, 2005 @06:30PM (#14002605)
    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.
  • by Geof ( 153857 ) on Thursday November 10, 2005 @06:33PM (#14002636) Homepage

    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.

  • by dalmaer ( 725759 ) on Thursday November 10, 2005 @06:39PM (#14002696)
    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.
  • by JediJorgie ( 700217 ) on Thursday November 10, 2005 @06:55PM (#14002842)
    >> 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
  • Re:AJAX = Suckjax (Score:3, Insightful)

    by petermgreen ( 876956 ) <plugwash.p10link@net> on Thursday November 10, 2005 @07:29PM (#14003168) Homepage
    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 ;)
  • by JesseMcDonald ( 536341 ) on Thursday November 10, 2005 @09:02PM (#14003891) Homepage
    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 <table> 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 <table> 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.
  • Re:AJAX = Suckjax (Score:3, Insightful)

    by jumpfroggy ( 233605 ) on Thursday November 10, 2005 @09:56PM (#14004185) Homepage
    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.
  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Friday November 11, 2005 @12:50AM (#14005093) Journal
    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.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...