Slashdot Mirror


AJAX Buzzword Reinvigorates Javascript

samuel4242 writes "Javascript may have been with us since the beginning of the browser, but it's going through a renaissance as companies like Google create Javascript-enabled tools like Google Maps . There's even a nice, newly coined acronym , AJAX for "Asynchronous Javascript and XML". A nice survey article from Infoworld interviews Javascript creator, Brendan Eich, who says that this is what he and Marc Andreessen planned from the beginning. Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly."

541 comments

  1. AJAX also good for... by Anonymous Coward · · Score: 5, Funny

    cleaning tub
    cleaning toilet
    getting first post

    1. Re:AJAX also good for... by nahdude812 · · Score: 5, Informative

      Oh, and getting all the Slashdot pundits on their soap boxes, preaching about technologies they don't really understand, and making dire predictions about the unworthiness of the tech.

      Seriously, being someone who actually has quite a bit of *real* experience with Ajax (though we were doing it before the term was coined) across multiple browsers, I can say that the ratio of comments which demonstrate the author understands the full implications of Ajax to those who are just spouting nonsense is about 1:75. I've never read an article on Slashdot before where so many comments missed the target, and I feel like I've been around Slashdot for a little while.

      The idea behind Ajax *does* revolutionize the web paradigm. All this nonsense about cross browser compatability issues is just that: nonsense; it works in Mozilla, Firefox, IE, Opera, and Konqueror each on their respective available platforms. I've actually heard people talking about "Ajax enabled advertisements instead of Flash." Other gems like "Ajax doesn't do anything that a well programmed web application can't do," and "It's just needlessly complex web pages" only point to users who fail to grasp the fundamental concept.

      Let me tell you: Ajax is FAST. You don't realize how unresponsive web pages are until you get to play with a web app that is always waiting on you, no the other way around. When I submit information, why do I need to wait for that information to get to the server before I can begin to perform another operation if that operation isn't dependant on the previous? Click Add To Cart then *immediately* start searching for the next item. Stuff like that.

      The amount of data being exchanged is far less (if you do it RIGHT, you people who are talking about using the XMLHttpRequest.responseText property, this does NOT include you). Rather than reload an entire page with all the framework, you're loading only the portion of the page that changed.

      Aside from piecemeal page loading, you also get to load only the relevant data. For example, rather than load a form, and all the form formatting to make the text fields line up correctly, and all the validation code to validate that form, you load a series of XML tags that contain only the basic information needed to tell the client how to lay out the form. The client takes care of generating the HTML for the form, and your form data looks more like this:
      <input name="username" label="User Name" required="yes" minlength="5" maxlength="10"/>
      versus
      <tr class="lightRow"><td class="labelColumn"><label for="username">User Name:</label></td><td class="inputColumn"><input id="username" name="username" maxlength="10"></td></tr>
      , then later form validation code.

      Often times your data fits inside a single TCP packet.

      I'll make this concession: yes, this is stuff that could be done before the Ajax philosophy using Flash or Java Applets. But both require a plugin, and one of them is even proprietary. Both have potential firewall issues, and neither will run on a vanilla Fedora Core build. Both require higher resource consumption for the user, and both lend to a feeling of sluggishness on the site for the user.

      That's not to say that it's not without its dangers. Like all web apps, you can't trust the data from the client. Here the client gets a bit lower level access to the data. You still have to make sure that you're protecting yourself well against data poisoning attacks.

      The thing I like most about this model though is this: It's truly a MVC (Model View Controller) framework.

      The model is of course your server side logic scripts. The View is the browser (the server side logic scripts send back generically formatted data, the browser does all the display). The Controller is the combination of XMLHttpRequest object, and the processing management script on the server. It's very conceivable that you could write a new front end for your application by simply

    2. Re:AJAX also good for... by drew · · Score: 2, Interesting

      nice to see that there are at least a few people around here who know what they're talking about on this subject. kind of hard to find a sane voice around here once somebody mentions javascript.

      what i don't understand is how many people act like they've never seen or heard of this before, and how it's some amazing new paradigm. IE 6.0 is 4 years old. all of the major mechanisms that are commonly used to perform asynchronous IO in webpages have been around more or less unchanged since before then. so why this big burst of interest now? what caused the web development world at large to suddenly wake up to this now? was it really gmail? sure it was probably the most popular use of 'ajax' technology, but it was hardly the first or the most impressive.

      --
      If I don't put anything here, will anyone recognize me anymore?
    3. Re:AJAX also good for... by Anonymous Coward · · Score: 3, Interesting

      The idea behind Ajax *does* revolutionize the web paradigm.

      Don't be silly. It's a nice optimisation. It's very useful, and I use it a lot, but it's not revolutionary.

      For example, rather than load a form, and all the form formatting to make the text fields line up correctly, and all the validation code to validate that form, you load a series of XML tags that contain only the basic information needed to tell the client how to lay out the form.

      Huh? An external stylesheet and generic script loaded from cache means the only thing you need in your HTML are the form controls and a couple of regexps to drive the script. You want to replace that with dynamically loading XML? That's over-engineering that reduces quality.

      The client takes care of generating the HTML for the form

      Sounds like you've just made your application dependent upon Javascript. That's not good practice, and law requires an accessible alternative in many places, so you either don't do this, or have to code the functionality twice, once with Javascript, once without.

      Those who have used good Ajax sites (google maps, gmail) should understand the power behind it, and these sites only break the tip of the ice berg.

      Have you actually looked at the gmail code? It's hideously bad.

    4. Re:AJAX also good for... by tiptone · · Score: 2, Insightful

      to quote you:

      "The amount of data being exchanged is far less (if you do it RIGHT, you people who are talking about using the XMLHttpRequest.responseText property, this does NOT include you)."

      Are you implying that accessing the data being returned using req.responseText is incorrect? How else should it be done, using req.responseXML? Who has a client-side XML parser?

      Also, no data from the client should EVER be trusted, not even a little. So pushing the validation code down to the client is a waste, you're just going to have to do it again on the server side. I'm really not trying to blast you or your comment, it just raised some questions with me.

      --
      Please don't read my sig.
    5. Re:AJAX also good for... by Anonymous Coward · · Score: 0
    6. Re:AJAX also good for... by bit01 · · Score: 1

      All this nonsense about cross browser compatability issues is just that: nonsense; it works in Mozilla, Firefox, IE, Opera, and Konqueror each on their respective available platforms.

      Nonsense yourself. I've lost count of the number of websites I've tried to access with broken javascript. While it's certainly possible to do cross platform javascript there's a huge cross-section of tier 2 websites that don't. Quite apart from the idiots who think their links should open new windows, despite what my web browser preferences are set to.

      ---

      DRM - destroying free markets one step at a time.

    7. Re:AJAX also good for... by krumms · · Score: 1

      How else should it be done, using req.responseXML? Who has a client-side XML parser?

      You're exactly the sort of person he's talking about, you know: responseXML is a DOM document, so the XML has already been parsed long before it hits your JavaScript.

    8. Re:AJAX also good for... by Toadius · · Score: 1

      >>if you do it RIGHT, you people who are talking about using the XMLHttpRequest.responseText property, this does NOT include you I'm willing to learn. Can you elaborate? Suggest a good starting point? I'm currently using XMLHttpRequest with some XML and text but I'm curious as to how I *shouold* be doing this....

    9. Re:AJAX also good for... by nahdude812 · · Score: 1

      Yes, responseXML is the correct place to access it, it's a DOM document.

      And you're right about not trusting the data from the client, you still want to check this all server side, but you *also* do client side checking so that the user gets immediate feedback on the validity of their data. Serverside you can just abort with out having to try to deliver back a message (or you can deliver back a message in case you think that your server checks and client checks might be out of sync).

    10. Re:AJAX also good for... by nahdude812 · · Score: 1

      Use the .responseXML property, which is a parsed DOM document of the response XML. Iterate across DOM members here and build your page from that. You don't want to send HTML back and access it via .responseText, you want to send back bare bones (just the data), and do all the translation of that to HTML on the client side. This can save 2/3 to 3/4 of the data transfer.

    11. Re:AJAX also good for... by nahdude812 · · Score: 1

      Just because other people implement it poorly doesn't mean there isn't a correct way to implement it. I was speaking specifically to people who said, "Don't use Ajax, because it has cross browser implications." It does, but they're meaningless because every modern browser supports it, and a simple compatibility layer handles it just fine.

    12. Re:AJAX also good for... by jamshid · · Score: 1

      Yeah, Google Maps is cool, but isn't it funny that after a good 30 years of GUI research and development in the computer sciences and software industry, this Javascript/browser mess is the state of the art? Code just keeps getting uglier and uglier.

    13. Re:AJAX also good for... by tiptone · · Score: 1

      Now that's useful information, still just as condescending as the parent though. :P

      I didn't mean to imply that I thought you should cram HTML down the pipe back to the XMLHttp object and just .innerHTML it. But I do think saying "responseText means you don't know how to do it" is a bit overboard. I don't think the DOM model is the best fit for all data coming back via XMLHttp and don't agree that it's necessarily wrong to do it that way.

      I was honestly looking for an answer why the parent thought it had to be done via something other than responseText.

      --
      Please don't read my sig.
    14. Re:AJAX also good for... by NutscrapeSucks · · Score: 2, Insightful

      The big burst of interest is because Firefox, Opera, and Safari now support XmlHttpRequest, so you can deploy a public web application which uses it. And yes, gmail showed people how.

      Microsoft devs have known about this techinque for a while, but it was catgorized as one of those "Evil IE-Only ActiveX" things that you could only get away with in single platform intranet apps. I also think that most people coming from a non-MS webdev background don't really know anything about proprietary IE APIs other than you shouldn't use them.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    15. Re:AJAX also good for... by ckaminski · · Score: 1

      I don't get it either. I've been doing things like this with zero-height frames since before I discovered the existence of IFrames. XMLHttpRequest is something fairly new to me tho.

      I guess it just took someone building something with mass-market appeal to show the world what the rest of us have known about for a long time.

    16. Re:AJAX also good for... by ckaminski · · Score: 1

      Putting validation on the client isn't a waste at all. You save a round-trip for the vast majority of clients who aren't poisoning you. This improves the user experience. There's a bit of me that wants to be able to reuse the javascript code on the client side on the server side for validation... Not sure how to go about that however in Perl/php.

    17. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      There's a bit of me that wants to be able to reuse the javascript code on the client side on the server side for validation...

      Probably the best approach would be to get hold of an XForms library, write your forms as XForms, and generate appropriate HTML+Javascript from the XForms on the server.

    18. Re:AJAX also good for... by tiptone · · Score: 1

      But that client-side validation is useless if javascript is disabled or an attacker is using a self-crafted page without your javascript. Any data you're going to do anything with needs to be validated again on the server, period.

      If you want to use it for UI niceness fine, but it's not to be relied on as the sole validation.

      And just so it's on the record somewhere, I hate referring to this tool as 'AJAX'. I feel better now.

      --
      Please don't read my sig.
    19. Re:AJAX also good for... by dubl-u · · Score: 1

      so why this big burst of interest now?

      For years, I heaped scorn upon JavaScript. It had plenty of potential in theory, but most uses of it I saw were a waste of bits. Like Flash developers, a lot of JavaScript development was adding chrome at the expense of usability. And as a non-IE user, a lot of it seemed terribly buggy to me.

      For me, the thing that changed my mind was Google Maps. It blew me away. It was a huge leap forward from MapQuest, Yahoo Maps, and the other on-line map sites. I had to admit that JavaScript was good for something more than rollovers.

      I think the thing that made the difference more broadly is that Jesse James Garrett gave it a catchy name. Perhaps that shouldn't make a difference, but his article came at just the right time, when a lot of people were saying, "Say, maybe there's something to this JavaScript thing after all."

    20. Re:AJAX also good for... by Ulrich+Hobelmann · · Score: 1

      AJAX might just be a performance hack, but that's what counts to most people, just like multithreading etc.

      Compare the usability of Google Maps to, hmmm, for instance /. Most users will flock to AJAX websites.

      I agree that accessibility mandates that you write a non-Javascript version of a website. Well, and JS is an ugly language, IMHO. But I think it shouldn't be too hard to combine both versions of an app into one.

    21. Re:AJAX also good for... by Baricom · · Score: 1

      so why this big burst of interest now?

      As the article title says, it was the term "AJAX" for me, and Adaptive Path's article on it. XmlHttpRequest may have been around for a while, but I hadn't heard about it until then. I suspect others may have similar stories.

      One of my greatest complaints about JavaScript was always that talking to the server through a script was difficult, and that doing so through a frame or iframe was a kludge. In spite of all those complaints, nobody ever told me "shut up, that's easy and here's how."

      I feel like JavaScript is inaccessible compared to other languages, like PHP, because the documentation is harder to find and follow. I think I'm just starting to grasp it now.

    22. Re:AJAX also good for... by elbobo · · Score: 2, Informative

      Sounds like you've just made your application dependent upon Javascript. That's not good practice

      Don't be ridiculous. Web Applications must depend upon a client side programming language. Web pages need not depend on a client side programming language. Applications have specific target platforms and requirements. Pages however are expected to be at least viewable on a much broader range of browser platforms.

      Me thinks you're out of your depth.

    23. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      AJAX might just be a performance hack, but that's what counts to most people, just like multithreading etc.

      I don't see your point. People don't use applications because they are multithreaded, and it's not a make-or-break deal if an application uses threads or not.

      Compare the usability of Google Maps to, hmmm, for instance /. Most users will flock to AJAX websites.

      No, they'll flock to where the functionality is. If functionality is similar, then they might switch to the one with the nicer interface, but that hardly qualifies as revolutionary, does it?

      But I think it shouldn't be too hard to combine both versions of an app into one.

      Indeed, and that's what I do. But the description I was responding to wasn't structured in that way; that type of design falls apart when Javascript is not available, which necessitates two versions or a rewrite.

    24. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      Web Applications must depend upon a client side programming language.

      And you say I'm out of my depth? There's nothing fundamental to web applications that requires client-side scripting. I've been writing web applications for around five years and can't think of a single instance where client-side scripting was required to make the application work.

      Applications have specific target platforms

      And web applications target the web as their platform. Hint: it says so right in the name. On the web, you don't know what sort of user-agent is in use, its capabilities or its configuration.

      Perhaps for intranet applications where you can control the client, you might have a point, but, at least here in the UK, accessibility requirements for employers are tighter than those for public services.

    25. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      But that client-side validation is useless if javascript is disabled or an attacker is using a self-crafted page without your javascript.

      No it isn't. Did you even bother to read his comment? He said:

      You save a round-trip for the vast majority of clients who aren't poisoning you. This improves the user experience.

      Since when is that useless?

    26. Re:AJAX also good for... by Bitsy+Boffin · · Score: 1

      Or you could just send back javascript code and eval(.responseText). Saves that whole parsing large amounts of XML, saves all that XML verbosity.

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    27. Re:AJAX also good for... by fingerfucker · · Score: 1

      The big burst of interest is because Firefox, Opera, and Safari now support XmlHttpRequest, so you can deploy a public web application which uses it.

      Don't kid yourself.

    28. Re:AJAX also good for... by pamar · · Score: 1

      Can you, or anyone else, please provide pointers to a *technical* overview, possibly including code examples? A book would be the best thing, if such a beast does exist, but web pages/PDFs could do. Thanks.

    29. Re:AJAX also good for... by LizardKing · · Score: 1

      Don't be ridiculous. Web Applications must depend upon a client side programming language.

      Bullshit. A "web application" is a server side application that generates dynamic content. What you're talking about is dynamic HTML, which has sucked a fat one since its inception.

    30. Re:AJAX also good for... by pAnkRat · · Score: 1, Insightful

      today, you don't do "roleovers" in javascript.
      It can be handled with CSS perfectly well.

      --
      we need an "-1 Plain wrong" moderation option!
    31. Re:AJAX also good for... by nahdude812 · · Score: 1

      Unless you're foolish about it, the XML data is anywhere from 2/3 smaller to 3/4 smaller than equivalent HTML.

      There's no need to send back javascript code to do evals, this cannot possibly be more efficient than good XML. The client loads the javascript necessary to interpret the XML into HTML (depending on the complexity of the site, my experience shows that this will be between 10k and 30k) up front. I know Gmail is much larger than this, and I can't really speak to that, but as I understand it, some other folks have mentioned that they think it's pretty poorly designed from a filesize efficiency standpoint.

      We set up multiple channels for data to come back. If you *do* need javascript on the client side, and you don't want that to be loaded initially (eg, form validation code), you can send it across the <script/> channel. Content comes across the <content/> channel, and doesn't contain HTML markup, just data that's formatted by the client script into HTML, server side errors come across the <error/> channel, and raw data (for use in scripts or graphs and the like) comes across on the <data/> channel.

      We keep track of which client side scripts have already been sent in the user's session (each function is sent atomically, though multiple functions might come across on the same response), and only send any one function exactly one time to the client unless they reload their page (when we clear which scripts we have sent them since their client has lost those scripts with the reload).

      Because all these scripts come through the XML channel, we also run them through a simple javascript compression algorithm (renames variables and functions from descriptive names to a, b, c ... aa, ab, ac, etc, removes comments, and strips extra whitespace). We still get to work on the script in formatted, commented, descriptive glory, but the user gets the actual data being loaded cut way back.

      As I said in my parent comment, most responses fall below 1000 bytes, and fit within a single TCP packet; even if your eval(XMLHttpRequest.responseText) managed to shave a few bytes off, it wouldn't actually make any impact whatsoever on the load time of the response.

      You see, we do make it possible to send back javascript for eval, but we don't try to mung our display data into javascript for this purpose, and we're not so narrow minded as to put a single type of data or a single piece of data in any given Ajax response.

      I can see your point about XML verbosity if we were using something as verbose as SOAP and WSDL, but those carry additional functionality that we don't need: they have to describe their API, while we control both ends since it's the same product, and so all the SOAP descriptiveness is unnecessary.

      Just for your own edification, here is a sample of our test form from our latest project, it's slightly formatted because it's copied out of Mozilla, there are no newlines or extra spaces in the actual source:
      <i>Well, I *was* going to put it here, but apparently I "violated the 'postercomment' compression filter. Try less whitespace and/or less repetition. Comment aborted."</i>

      This generates 7528 bytes of HTML, but it is only 2606 bytes of XML data for the user to download, a savings of basically 2/3. This form is larger and more complex than most forms on our site, and still it only needs 2 TCP packets.

    32. Re:AJAX also good for... by nahdude812 · · Score: 2, Informative

      I wish I had one, perhaps I should actually *write* one. We figured out most of the Ajax methodology ourselves, as I mentioned we were doing this stuff before Gmail & the term "Ajax" came along.

      The basic overview is that you have various 's on your page with ID attributes. You create a wrapper function (eg, ajax(function,arguments,onReturn)) which makes a call with the XMLHttpRequest object back to your server, passing the function and arguments. On the server, the function does its processing (you need to make SURE that only functions you expect to be called directly by users can be called through this script). The server side function gets its results ready and hands them back to the server side Ajax script, which formats it as XML and sends it back. Back on the client end, the onReturn code executes across the result data, creating HTML out of the XML being sent, and putting this HTML into the appropriate on the page.

      Only the portion of the page that needs to change actually changes, the user never reloads anything else. Because this happens asynchronously, multiple operations can happen in parallel and the user can continue to interact with the rest of the page while their operation performs in the background.

      Imagine looking at a product listing on an ecommerce site. You can click "Add To Cart" next to each item on the page in rapid succession. You don't have to wait for each adding to successfully register, you click "Add" and it immediately appears in the shopping cart, with perhaps an indicator that the add is still taking place (italicise the text of the product name, for example, and unitalicize it when the add is done).

      The reason why it's a paradigm shift is that this makes the web page behave much more like a desktop application, but it can be more responsive than some desktop apps I've seen which are not capable of parallel operations like this (while processing an action, no further actions can happen). The web developer works only with individual page parts, and they don't have to worry about what else should be displayed on the page. You've already sent data to the client about the user's personal information (login name, view preferences, and such), there's no need to re-send this the next time the user clicks on a link. You get to preserve the state of previous page hits.

      There's no longer a model of pages, it's a functional model. Individual layouts happen as a page hit, everything else is a function call. That function returns raw data and the client lays it out. All formatting is client side, and this combined with the fact that you're only building the portions of pages that changed leads to greatly reduced server loads.

      But most importantly of all, the user never ever waits on the server to respond unless they either need confirmation that the operation has happened, or they are depending on the results of that response for their next operation (eg, when you do a search for a given product, you have to wait for the server to give you that product listing before you can add it to your cart).

    33. Re:AJAX also good for... by Ulrich+Hobelmann · · Score: 1

      *Developers* recently seem to prefer multithreading to more traditional multi-processes or event-dispatch. Developers use AJAX because it allows high response time as well. Of course you can just use a very fast server to do that, if you prefer to reload the whole page.

      About the functionality: of course there's lots of similar functionality; that's what competition is all about. You *need* a nice interface to compete. But yes, that's not revolutionary and I never said that (unlike other posters).

    34. Re:AJAX also good for... by elbobo · · Score: 2, Informative

      I also have been writing web applications for five or more years. Client side scripting is more and more an integral part. The lack of it makes them just web pages with some "application" application, like Slashdot for example.

      When you talk about "the web" being the platform, you're not talking about applications, you're talking about web pages with application-like usage patterns.

      Only a fraction of applications built with the browser as the platform require that the most absolute cross-platform "everyone" be able to use them without out of the box.

    35. Re:AJAX also good for... by ckaminski · · Score: 1

      I never said server-side validation was not required. Only that calling javascript client-side validation "useless" was naive.

      What I want is an engine that I can use on client and server to generate validation templates that work on both. I hate rewriting code...

    36. Re:AJAX also good for... by ckaminski · · Score: 1

      Any good guidance on perl/java libraries?

    37. Re:AJAX also good for... by MadAhab · · Score: 1
      Since when is that useless?

      Read again, dummy. It's useless towards creating secure web apps. And I can't tell you the number of times some Dreamweaver/PHP monkey has given me a mouth open, cud-chewing stare when I remind them you have to validate on the server side regardless.

      --
      Expanding a vast wasteland since 1996.
    38. Re:AJAX also good for... by Anonymous Coward · · Score: 0
      The reason why it's a paradigm shift is that this makes the web page behave much more like a desktop application
      "JavaScript must be enabled in order for you to use Google Maps." Yep, much like desktop applications, AJAX encourages making web pages that sometimes don't work (meanwhile competent implementors' pages, such as MapQuest, work fine). So much for "don't be evil."
    39. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      "JavaScript must be enabled in order for you to use Google Maps." No accessibility option at all. So far it's an utter trainwreck.

    40. Re:AJAX also good for... by drew · · Score: 1

      This page indicates that XMLHttpRequest has been available in Mozilla since at least April 2002. I don't think Safari even existed outside of Apple at that time, and almost nobody cared about Opera- Opera 6 was pretty useless wrt JavaScript anyway, and Opera 7 wasn't released until 2003.

      Also, there are several other ways to implement asynchronous JavaScript- Google Maps, one of the other widely hailed examples of AJAX, does not use XmlHttpRequest at all.

      --
      If I don't put anything here, will anyone recognize me anymore?
    41. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      It's useless towards creating secure web apps.

      That's not what you originally said. You originally said:

      But that client-side validation is useless if javascript is disabled or an attacker is using a self-crafted page without your javascript.

      That says that it is useless because it doesn't add security. It does not say that it is useless for adding security.

      The former statement is stupid. Things can be useful without adding security. Client-side validation is one of them.

      The latter statement is not stupid, merely irrelevent. The person you were responding to wasn't saying that Javascript should be used for security.

      If you meant to say the latter statement, then you need better writing skills, because that is not what you wrote originall.

    42. Re:AJAX also good for... by Anonymous Coward · · Score: 0

      The lack of it makes them just web pages with some "application" application, like Slashdot for example.

      Could you rephrase that? I can't parse it.

      You seem to be saying that web applications are not web applications unless they depend on Javascript. That simply isn't true. You can construct a webmail application indistinguishable from GMail without depending upon Javascript at all. So GMail is a web application and an accessible clone is not, even though the majority of users wouldn't even be able to tell the difference?

      When you talk about "the web" being the platform, you're not talking about applications, you're talking about web pages with application-like usage patterns.

      "If it quacks like a duck...". So you mean to say that just because people call something a web application, and use it like a web application, and it works like an application, and it's on the web, none of that means anything, and it isn't a web application because it doesn't depend on Javascript? I really don't see why dependence upon Javascript could possibly be considered a criterion for deciding whether something is a web application or not.

  2. thanks, slashdot by Anonymous Coward · · Score: 0

    Six months after a (not) new technique shows up, we get coverage.

    By the way, am I the only one that uses the web with JavaScript turned off for almost every site?

    1. Re:thanks, slashdot by Anonymous Coward · · Score: 2, Funny

      By the way, am I the only one that uses the web with JavaScript turned off for almost every site?

      Yes. Here's your tin foil hat now go sit in the corner.

    2. Re:thanks, slashdot by rebug · · Score: 0

      I disable JavaScript, but not because I'm paranoid about security issues.

      Like Flash, 90% of all JavaScript is designed to annoy. Like Flash, I'll have no truck with it.

      --

      there's more than one way to do me.
    3. Re:thanks, slashdot by Anonymous Coward · · Score: 2, Funny

      Oh yes, I have JavaScript turned off. Also, I browse with a monochrome monitor, my speakers shut off, and my tinfoil hat firmly in place.

      Damn you technology!

      (get over JS)

    4. Re:thanks, slashdot by Spy+der+Mann · · Score: 1

      By the way, am I the only one that uses the web with JavaScript turned off for almost every site?

      You're not the tinfoil hat guy, are you?

    5. Re:thanks, slashdot by masklinn · · Score: 1

      Not 6 months, more like 4 years.
      6 months after it started breaking through to mainstream (thanks to google's Google Maps, Gmail and Google Suggests), 6 months after finding a new name for an old tech (AJAX), but xmlHttpRequest has been on the web since at least IE6, and probably earlier

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    6. Re:thanks, slashdot by ryepup · · Score: 1

      Yeah, those field validations are really annoying. I'd much rather submit the form and wait for the server to tell me "3.4r" is not a number.

    7. Re:thanks, slashdot by khayo · · Score: 1
      By the way, am I the only one that uses the web with JavaScript turned off for almost every site?

      Rejoice, Coward - I'm the second person who keeps it turned off as much as possible.

      Before I get my hat, could you tinfoil guys remind me of a single Web-based exploit (short of downloading and running an executable) which did not require scripting? Call me paranoid, but when I see a noose or a guillotine, I don't like sticking my head in it.

    8. Re:thanks, slashdot by Dasch · · Score: 1

      What we need is a JavaScript white list extension for Firefox, so that JavaScript is only enabled on a select few sites (sort of like the popup blocker and the XPI install thingie.)

    9. Re:thanks, slashdot by loginx · · Score: 1

      This is like refusing to mount wheels on your car because almost all car accidents involve someone's wheels getting out of control. Just pay attention to the road, or walk.

    10. Re:thanks, slashdot by rebug · · Score: 1

      What Firefox needs is full-blown per-site preferences. It's scheduled for 2.0, so we'll be waiting a while for it.

      OmniWeb and Safari (with PithHelmet) both offer a full set of preferences for every site I visit, something I can't live without in Firefox.

      --

      there's more than one way to do me.
    11. Re:thanks, slashdot by ThePromenader · · Score: 1

      I find javascript annoying as well, but I'm not o-so-pro webmaster you to feel moved to disable it. And probably 99% of most users share my case - but perhaps stating yours here does something for you, but that's none of our business, is it? Right.

      Javascript was great while there was no other option, but since a while now (nudge nudge php wink wink) there have been better options that a user need not worry about or even see - no matter his browser. It's all a matter of looking, judging, learning and changing. That is, if you're above sitting on your *#$#*$& "but it worked before" laurels.

      --

      No, no sig. Really.

      ThePromenader
    12. Re:thanks, slashdot by Dasch · · Score: 1

      Hey, I just saw this on Mozilla Update: NoScript

      What a coincidence, eh?

    13. Re:thanks, slashdot by jon3k · · Score: 1

      Javascript was great while there was no other option, but since a while now (nudge nudge php wink wink)

      Ok, see, there is a client .. and a server, and .. oh nevermind.

    14. Re:thanks, slashdot by jon3k · · Score: 1

      but xmlHttpRequest has been on the web since at least IE6, and probably earlier

      I believe it was IE 5, or 5.5 at the absolute latest.

      I don't think giving it a cool name made it popular. I couldn't give a shit what you called it. I'd never seen web applications developed using this model, and it does, truly, let you totally change the way you think about building a lot of web based applications. I've been playing with it for a couple weeks and I haven't even begun to scratch the surface.

      I really believe the people that blow it off either haven't ever done any type of web based application development, or just simply don't understand it. I don't see how anyone who's done any extensive web app development wouldn't be pretty excited the first time they really consider the possibilities (be it today, or 5 years ago, I don't care).

    15. Re:thanks, slashdot by masklinn · · Score: 2, Insightful
      I don't think giving it a cool name made it popular. I couldn't give a shit what you called it.
      That's still what happened.
      That and (much more importantly) google using it in live webapps with GMail, Google Maps and Google Suggests.

      Everyone was pretty much ready, the web was ready, we needed someone to actually make the jump.
      The CoolGuys© at google did it, people now know it works (aka it isn't yet another crappy useless technology) and are therefore willing to use it.

      Google was the First Factor
      The AJAX buzzword was the second one, because let's face it executives love buzzword, and without a l33t buzzword to go with it a technology just doesn't exist as far as they're concerned (Asynchroneous Javascript + xmlHttpRequest + DOM doesn't quite sound as sexy as AJAX, now does it?), and if an executive doesn't know your technology he won't allow you to use it in a professionnal environment.
      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    16. Re:thanks, slashdot by khayo · · Score: 1

      It's more like not watching a DVD while driving, I think. I can move about the Web without scripting just fine, as long as the website designers let me get at the content without making their frills a priority. Your analogy isn't very apt, sorry.

    17. Re:thanks, slashdot by ThePromenader · · Score: 1

      Yes, yes, I see your point. And never mind my grumpiness.

      --

      No, no sig. Really.

      ThePromenader
    18. Re:thanks, slashdot by anomalous+cohort · · Score: 1
      JavaScript turned off

      If you really suspect a web site as being a vector for attack, then use lynx and study the output before surfing to it with a modern browser. Alternatively, you could use an anonymous proxy.

  3. DAMNIT Java != Javascript by Anonymous Coward · · Score: 1, Informative

    urrrrrrrrr.....

    1. Re:DAMNIT Java != Javascript by Anonymous Coward · · Score: 0

      /signed

    2. Re:DAMNIT Java != Javascript by Anonymous Coward · · Score: 1, Insightful

      Yeah, but that doesn't mean Javascript can't deliver what Java promised, which is what he meant

    3. Re:DAMNIT Java != Javascript by Anonymous Coward · · Score: 2, Informative

      Nobody here said it did! They said it might be able to deliver what Java promised. NO MENTION of Java and Javascript being the same there. If I say I might be able to deliver what Jane promised, I'm not saying I'm Jane, am I? They're refering to run-anywhere.

    4. Re:DAMNIT Java != Javascript by Master+of+Transhuman · · Score: 1


      I would point out that one of the benefits of AJAX is the ability to connect to Java on the server side, so I don't see how this is somehow going to cause Java to go away...

      JavaScript also does not anywhere NEAR the available class libraries of Java.

      These are complementary technologies, not opposing ones.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    5. Re:DAMNIT Java != Javascript by Eric+Giguere · · Score: 1
    6. Re:DAMNIT Java != Javascript by Trejkaz · · Score: 1

      However, JavaScript's complete inability to even work the same on two browsers on the same platform... that pretty much does mean it can't deliver what Java promised.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  4. Rewriting history? by Anonymous Coward · · Score: 5, Informative

    Javascript may have been with us since the beginning of the browser...

    Huh? I don't seem to remember seeing it until about '96 or '97. That's just a wee bit later than the beginning of the browser...

    1. Re:Rewriting history? by KillerDeathRobot · · Score: 3, Informative

      If I recall it was created for Netscape 3. So definitely not the beginning of the browser.

      --
      Thinkin' Lincoln - a web comic of presidential proportions
    2. Re:Rewriting history? by DrSkwid · · Score: 1

      the day IE4 came out was great fun, running round html enabled teen chat rooms that worked via meta refresh and adding window.location="http://lemonparty.org" and friends in =)

      and watching said boards go down one by one as admins rushed to work on their html tag filters :>

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:Rewriting history? by bhirsch · · Score: 2, Informative

      Nope. It made its debut in Netscape 2, along with Java applets. The big hype was the ability for the two to interact, but it never really seemed to happen.

    4. Re:Rewriting history? by Anonymous Coward · · Score: 2, Informative

      Actually it appears JavaScript debuted in Netscape 2.0. (Link via this.)

    5. Re:Rewriting history? by VagaStorm · · Score: 1

      That was so un caled for!!!

    6. Re:Rewriting history? by brundlefly · · Score: 4, Informative

      JavaScript first arrived in Netscape 2. In that browser most of the core language was in place, making it one of the first ever prototype-based OO languages to go from concept to reality.

      But in Netscape 2, there were not very many hooks from JavaScript back into the HTML. You had a document object and a window object of course, but beyond that about the only "DHTML" you could do was mostly restricted to manipulating form values and popping open new windows. Useful, to be sure, but that was about it.

      In Netscape 3 they added the document.images array, and that began the whole image-swapping madness that got everyone hooked on JavaScript, for better or worse.

      And then in NS4/MSIE4 they added the competing, incompatible DOMs that got us into the hell years of DHTML. DHTML as a term arrived with the version 4 browsers.

      Give JavaScript some credit for surviving its own history... the language has been through some very rough years, only to now finally get some credit for being a powerful web tool.

    7. Re:Rewriting history? by jaavaaguru · · Score: 1

      60% of your sentence was made up of real English words, not bad. The grammar's shocking though.

      I presume you meant what the GP said was uncalled-for, but you gave no reason. Would you care to elaborate on that?

    8. Re:Rewriting history? by sp0rk173 · · Score: 0, Troll

      And so, Sandy Dunlop sat idly in his small, cramped cubical in Memex Technology LTD building. His mind wandered from one topic to another - Jim Carey's pert and firm ass, the asshole that cut him off this morning without using his turn signal, the new Metallica CD he bought a few weeks ago. He didn't really like the new CD, he actually thought it was a little trite and heavy handed. But, you see, Metallica is Metallica. They are not a band to be questioned. Hey eyes slowly glazed over as he heard the mindless droning of the secretary two cubicals over. That very same secretary that threw a pint of Guinness in his face at the pub last friday. He had intended to bring her back to his place afterwards, but after she laughed in his face over the idea, he called her an office slut. It really all revolved around his inferiority complex. It's hard growing up with a Girl's name in a man's world whilst having man-parts.

      He shifted his attention to his workstation, "AH! Slashdot." He mulled through the text until he found the perfect victim. "Mmm.." he thought, "An outlet for my angst. This log-jammer here couldn't even get this one line post right!" He smashed away at his keyboard, two suscinct lines of pure egotistical arrogance slowly glopped onto the screen. He grabbed his mouse and smashed the submit button, feeling placated.

      "That'll show 'em! That'll show all of 'em! But most of all...that'll show Jenny. Stupid office slut."

    9. Re:Rewriting history? by Beyond_GoodandEvil · · Score: 1

      "Hey eyes slowly glazed..."

      Sounds like cataracts, you might want to get that checked out. Also you forgot to mention the prove you're not a script prompt prior to hitting submit.

      --
      I laughed at the weak who considered themselves good because they lacked claws.
    10. Re:Rewriting history? by Nexx · · Score: 1

      Uh, yes it does. I've used applets to gather sensitive data from a client workstation and inject its results into the same session.

    11. Re:Rewriting history? by yoz · · Score: 1

      But in Netscape 2, there were not very many hooks from JavaScript back into the HTML. You had a document object and a window object of course, but beyond that about the only "DHTML" you could do was mostly restricted to manipulating form values and popping open new windows. Useful, to be sure, but that was about it.

      Not quite true - you also had document.write(), which meant that you could completely rewrite the contents of a document (though you had to do it from scratch, rather than simply manipulating the DOM like you do now). This meant that you could already go some way to creating apps that did lots of work on the client side.

      With Netscape 2.0b2 (Javascript was called LiveScript at that point) I wrote a dynamic crossword app using multiple frames that would completely redraw the crossword grid to do things like adding letters and highlighting clues.

    12. Re:Rewriting history? by Sithgunner · · Score: 1

      He probably just meant consumer used browsers, not lab used browsers, like ie3 or netscape.

  5. Correct me if i'm wrong but... by 0kComputer · · Score: 3, Insightful

    Isn't part of this due to Microsoft's non-complient browser API?

    Go ahead and mod me as flamebait.

    --
    Top 10 Reasons To Procrastinate
    10.
    1. Re:Correct me if i'm wrong but... by Vraylle · · Score: 1

      Sure, but considering that it's currently supported by IE, Moz/FF, and (nominally) by Opera...so what? We're using the hell out of this at work, and it makes the development SO much slicker.

      --
      Mutant Freaks of Nature: "Frighteningly Addictive"
    2. Re:Correct me if i'm wrong but... by FidelCatsro · · Score: 1

      You really do need to code in a hell of alot of tricks to get your javascript working on all the main browsers .
      You normaly need a script to switch in other scripts dependant on a browser check.
      This is mainly due to the MS implementation and yes it is a big pile of crap that MS used to try and dominate the browser market(sucsefully unfortunatly ).

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
    3. Re:Correct me if i'm wrong but... by costas · · Score: 3, Informative

      Hm, Ajax as these guys mean it, is centered around XmlHttpRequest which IE (6, I think) introduced first (meaning it was a non-standard API). Mozilla actually copied MS, which then made XmlHttpRequest "cool" and we now have this Ajax buzzword business. Never mind that there have been libraries that have been enabling asynchronous DOMServer communication for much longer than Google Maps or GMail...

    4. Re:Correct me if i'm wrong but... by Vraylle · · Score: 2, Informative

      The current iteration of our AJAX library handles IE, Moz, and Opera. While there are browser checks, they're not overly cumbersome.

      It works beautifully in all three.

      --
      Mutant Freaks of Nature: "Frighteningly Addictive"
    5. Re:Correct me if i'm wrong but... by costas · · Score: 1

      Oops, this is the correct link and I meant DOM<->Server comm...

    6. Re:Correct me if i'm wrong but... by FidelCatsro · · Score: 2, Interesting

      I probably should have said "Did" , ive been checking out ajax and ruby on rails for a few things and I am impressed with both . It will be good to have client side browser scripting which dosn't require 17 hours(slight hyperbole) of testing on various browsers.

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
    7. Re:Correct me if i'm wrong but... by 0kComputer · · Score: 1

      Its funny how parent gets modded -2 and parent (which supported my statement) gets modded insightfull.

      --
      Top 10 Reasons To Procrastinate
      10.
    8. Re:Correct me if i'm wrong but... by smittyoneeach · · Score: 1

      In Soviet marketing, facts are notional.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    9. Re:Correct me if i'm wrong but... by Anonymous Coward · · Score: 0

      Well, you did say "Go ahead and mod me flamebait".

    10. Re:Correct me if i'm wrong but... by ad0gg · · Score: 4, Informative

      Its been out since IE 5.0 which was released in 2001. I've seen intranet apps use it all the time. Hell quick search, revealed old articles on the subject. I don't get how a 4 year old technology becomes new by simply giving it a stupid name. I even love how the article fails to mention that its been around for 4 years. And i love how the grand parent gets modded flamebait by merely pointing out that it was a Microsoft invention.

      --

      Have you ever been to a turkish prison?

    11. Re:Correct me if i'm wrong but... by Anonymous Coward · · Score: 0

      maybe you should read the post next time

    12. Re:Correct me if i'm wrong but... by temojen · · Score: 1
      AJAX also works like this:
      this.adoc = document.implementation.createDocument("","",null) ;
      this.adoc.onload = adoc_onload;
      this.adoc.backref = this;
      this.adoc.onError = adoc_onerror;
      this.adoc.load("foo.xml");
      Which works for local files (when the document itself is local) and remote, at least in Firefox & Mozilla. It's all in the new standard, so it should be in other browsers soon too, but it doesn't work yet in KHTML or Safari (I don't know about Opera or IE, they're not required for my project)

      I wrote a little library that feels around for which method works, but it doesn't work for local files (tries XMLHTTPRequest), and belongs to my employer now.
    13. Re:Correct me if i'm wrong but... by zallus · · Score: 1

      Old technology: LISP. New name: XML.

      --
      I mod down pathetic posts.
    14. Re:Correct me if i'm wrong but... by ckaminski · · Score: 1

      Which AJAX library is this?

    15. Re:Correct me if i'm wrong but... by fbg111 · · Score: 1

      I don't get how a 4 year old technology becomes new by simply giving it a stupid name.

      It's obviously the combination of Google's cool and popular (among geeks) implementation of these technologies, plus the immediate coining of an easy-to-remember acronym for them. Lots of sudden attention, and an easy way to refer to the object of that attention.

      --
      Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
    16. Re:Correct me if i'm wrong but... by Vraylle · · Score: 1

      It's our in-house library, written from scratch. Pretty easy to put together, really.

      --
      Mutant Freaks of Nature: "Frighteningly Addictive"
  6. PSV by Anonymous Coward · · Score: 0
    AJAX is only second to PSV!

    Since the ajax fans thought of a funny acronym to popularize their club, I'll introduce to you

    PSV
    Potent Scripted Visuals
    1. Re:PSV by Anonymous Coward · · Score: 0

      Pretty Structured Vectures

      Now sing with me:
      ADO.NET!
      ADO.NET!
      ADO, ADO, ADO.NET!

      (In case you guys stop understanding this: Dutch footbal clubs)

    2. Re:PSV by Anonymous Coward · · Score: 0

      WHOOOOOOOOOOSH!

      It's funny, but you are *so* in the wrong place here ;)

    3. Re:PSV by KinkyClown · · Score: 1

      Please guys. This site is for computer nerds not footbal vandalists ;)

  7. Java... by Anonymous Coward · · Score: 1, Funny

    Like the Greater ajax - java embodies the virtues of hard work and perseverance when my browser tries to load it.

    1. Re:Java... by EnglishTim · · Score: 0

      Dang, I wish I still had my mod points...

  8. Asynchronous Javascript and XML? by MaestroSartori · · Score: 0

    Yeah, I meant that! No, really, I did! Honest! :D

  9. Re:Choosing language by Karma+Farmer · · Score: 2, Insightful

    You're smoking crack. Client-Side scripting has always been in JavaScript or languages that look exactly like JavaScript.

  10. Hah by Shaper_pmp · · Score: 0
    "A nice survey article from Infoworld interviews Javascript creator, Brendan Eich, who says that this is what he and Marc Andreessen planned from the beginning."


    Well yeah, that's what I'd say, too.

    Ok, Frist P05t candidate away - time to RTFA now ;-p
    --
    Everything in moderation, including moderation itself
  11. It's all about appearances. by deathcloset · · Score: 1, Funny

    Fry: [talking fast] These languages are on the fast-track to the it list; blastfax kudos all around.

    Leela: Uuh, hello! We haven't made one program since you two took over.

    "That Guy": Programming has nothing to do with the Programming business. buzzwords, people, buzzwords!

    1. Re:It's all about appearances. by FuzzyBad-Mofo · · Score: 1

      My only regret.. is that I have.. bone-itis!

    2. Re:It's all about appearances. by deathcloset · · Score: 1

      ¦D hehe

  12. Ruby on Rails and AJAX by mortonda · · Score: 2, Informative

    Ruby on Rails has been working on this for some time, at least since the 0.11 release back in March. This is a wonderful technique for speeding up web applications. Browse around the web site, or hang out in IRC, and you will quickly see what all the excitement is all about.

    1. Re:Ruby on Rails and AJAX by Anonymous Coward · · Score: 0

      AJAX: Oh yeah... now it's got it's own buzzword it'll take off. Can't you people think for yourselves?

    2. Re:Ruby on Rails and AJAX by PerlDudeXL · · Score: 2, Informative

      Correct me if I'm wrong, but Ruby on Rails is server based and AJAX is browser based and I see no way to compare those concepts!?

    3. Re:Ruby on Rails and AJAX by Anonymous Coward · · Score: 0

      Oh you're right, alright. Just an excuse to pimp RoR. Log on to an IRC channel to see what's up? Jesus. Get a grip.

    4. Re:Ruby on Rails and AJAX by mortonda · · Score: 4, Informative

      True, RoR is server based, but AJAX requires an interaction between both client and server. RoR includes a javascript component called Prototype, which helps handle the client side of things. In addition, RoR includes many helper functions that help you write the appropriate javascript functions, without needing to know much javascript.

    5. Re:Ruby on Rails and AJAX by Anonymous Coward · · Score: 0
      The sad thing is that I've run into quite a lot of college grads that can't figure out the difference either. These are people who I let go after about a week when they turn in PHP projects consisting of a form, several PHP files for processing the data after the form, each one linked together by either printing an HTML document consisting entirely of a meta refresh to the next php file, before finally getting to an HTML file with "have a nice day" or whatever printed on it.

      For instance, to log in and update information, I would have
      Server Side | Browser Side (html)
      static | html login form
      check login display menu | html menu, press "update info"
      print info form | html form. Press submit
      form validation, display menu | html menu, press logout
      remove session | html thank you page
      While these people would write something like
      static | html login form
      check login | javascript window.location='loginok.php'
      print menu | press "update info"
      ... | window.location="update.php"
      print form | html form, javascript validation, asking ME why they have to use form tags, because setting button onclick to window.location="submit.php" doesn't seem to be working for some reason...
      store form without any validation beyond what occurred IF the user had js turned on | window.location="menu.php"
      ... you see where this is going. A lot of people these days use javascript in all the wrong places. They basically double the number of HTTP transactions required to complete a task, when a single transaction and an include("menu.php"); at the end would have done the exact same thing in half the user's time.
    6. Re:Ruby on Rails and AJAX by Anonymous Coward · · Score: 1, Interesting

      So, in essence, it's not really all that much different than what ASP.Net does, but unlike ASP.Net, with Rails, you can very easily not only supplant whatever JavaScript the server side app is sending to the client, but you can easily look at it as a developer and quite trivially override it if you need/want to.

    7. Re:Ruby on Rails and AJAX by lullabud · · Score: 1
      hang out in IRC, and you will quickly see what all the excitement is all about.
      Whoa! Hanging out in IRC really did get me excited! I've never been able to download so much pr0n in my life!! That Ruby girl is HOT!!!
  13. Slower than Java by HeroreV · · Score: 0, Flamebait

    Too bad it's so sloooooooooooowwwwwwwwwwwwwwwwww...........

    Having to go back to the server again and again and again to get tiny amounts of data doesn't sound too nice to me.

    1. Re:Slower than Java by mortonda · · Score: 1

      Actually, it's quite faster than reloading the entire page. It avoids quite a few database calls, and simplifies the data flow, and reduces the amount of bandwidth used.

    2. Re:Slower than Java by natrius · · Score: 4, Insightful

      Having to go back to the server again and again and again to get tiny amounts of data doesn't sound too nice to me.

      That's what you do each time you click on a link to go to a different web page within a site. With AJAX, you only get the data you need. It's not slow. Have you used Google Maps? GMail? That's what's going on behind the scenes, and it makes the experience far better.

    3. Re:Slower than Java by Anonymous Coward · · Score: 2, Informative

      You don't have to do that. Just add a little more data in the initial page load and make the browser do all the work. Once you reach a milestone, then post back to the server. You have to add some server-side validation to keep the script-kiddies at bay, but the performance cost of that is negligible. Also, if you do have to trip back to the server for data, its a lot quicker to just return the data that you need rather than refreshing the whole page.

    4. Re:Slower than Java by buckymatters · · Score: 1

      I never though of using Java to update a paragraph of text. I'll get right to work on that. Thanks.

    5. Re:Slower than Java by Anonymous Coward · · Score: 0

      In your dreams. I've never seen an example where it eliminates a significant bottleneck by reducing database calls and if bandwidth is an issue, use gzip.

      Still looks like a solution looking for a problem to me.

    6. Re:Slower than Java by ciroknight · · Score: 3, Insightful

      I'd rather go back to the server every time for a small, 2k object than go back to the server for 14k of HTML, and 160k of images/flash/multimedia/etc. For most application's, it's even a smaller object than that. Just look at Google Maps vs Mapquest. Every time you change zoom, Mapquest has to refresh the entire page, whereas G Maps, it's entirely seemless, and doesn't even seem like it's going to the server at all.

      It's got some other potential uses I've been investigating as well. Brings back the whole HTML-based video game idea, now that you don't have to refresh the entire page to change one variable to something useful...

      --
      "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
    7. Re:Slower than Java by Politburo · · Score: 1

      Just look at Google Maps vs Mapquest. Every time you change zoom, Mapquest has to refresh the entire page, whereas G Maps, it's entirely seemless, and doesn't even seem like it's going to the server at all.

      If you use Mapquest on IE, it does not go back and load all the ads, etc., again. It updates just the map portion of the page. I'm not sure why it doesn't do this in Moz/FF.

    8. Re:Slower than Java by Tom · · Score: 1

      Brings back the whole HTML-based video game idea,

      *cough* see footer *cough*

      It's not like we didn't have games back when Telnet was all the hype, did we? Of course you have to design the game with the limits of the medium in mind. Being able to do that is what makes the difference between the "hey, I have a cool game idea" kids and the actual game designers who end up actually making games instead of just talking about them.

      What I really use for the game I'm currently working on (much more advanced GUI than BattleMasteR) is CSS. There's a lot of stuff where I will need Javascript, but if I could use only one of the two, it'd be CSS, no doubt.

      --
      Assorted stuff I do sometimes: Lemuria.org
    9. Re:Slower than Java by Anonymous Coward · · Score: 0

      i currently use javascript and the xmlhttp object to dynamicly make calls to php scripts on my server then a simple write innerhtml and poof. Almost all the stuff happens with php i am using javascript to simply provide the dummy interface. This saves ALOT of time on the users end and has signifigantly reduced the ammount of bandwith used.

  14. widget set by oever · · Score: 2, Insightful

    What we need now (and Google has shown that it's feasable) is a Javascript based GUI.

    Gnome and KDE can conquer all desktops once they are ported to this AJAX framework.

    Where's the first javascript based window manager? Personalized Google is the first step in that direction.

    --
    DNA is the ultimate spaghetti code.
    1. Re:widget set by Anonymous Coward · · Score: 0

      Gnome and KDE can conquer all desktops

      bwahahahahaa! oh man. haahahahahaha!

      ok, seriously....

      haahaahahahahahahaha!

    2. Re:widget set by Anonymous Coward · · Score: 0

      That's the last thing we need. KDE and Gnome are already so slow; having to interpret a load of bloated buggy crashy javascript just to open a window doesn't really appeal..

    3. Re:widget set by Anonymous Coward · · Score: 0
    4. Re:widget set by kfg · · Score: 1

      "Google has shown that it's feasable. . ."

      As well as showing about the only place that its viable.

      KFG

    5. Re:widget set by los+furtive · · Score: 3, Informative

      Try domapi, it has a very polished set of JavaScript widgets and version 4 is currently in beta.

      --

      I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

    6. Re:widget set by mmkkbb · · Score: 3, Insightful

      Well, that answers the age-old question: what do end-users need 4 GHz processors for?

      --
      -mkb
    7. Re:widget set by hey · · Score: 1

      It would be neat of Gnome had a option "[X] allow web access via port [88]" and it did it with AJAX.

    8. Re:widget set by xiphoris · · Score: 2, Insightful

      It exists and it's called XUL, used on the Mozilla platform.

    9. Re:widget set by MartinG · · Score: 1

      What, like this?

      http://www.nextapp.com/products/echo2/

      echo2 is still under development, but echo1 (its non-ajax predecessor) is excellent. Its api will seem very familiar to anyone who has coded swing apps. You don't need to know any html or javascript at all.

      Try the demo of echo2. It's pretty amazing considering its still in alpha.

      --
      -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    10. Re:widget set by rossifer · · Score: 1

      Echo's server round-trips are agonizing. We spent weeks trying various ways to reduce the number of fully synchronous server requests and page redisplays. We eventually gave up, and at this point, Echo is a four letter word in our organization and the inside joke for a completely unusable UI framework.

      If Echo2 is AJAX, perhaps they can recover some credibility around here...

      Regards,
      Ross

    11. Re:widget set by MartinG · · Score: 1

      If Echo2 is AJAX, perhaps they can recover some credibility around here...

      I think they can. Echo1 is fast enough for our purposes. Most of the slowness is caused by our application itself or developers using over-rich components which slow everything down too much. From the demos echo2 is blindingly fast. Give it a try.

      --
      -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    12. Re:widget set by misleb · · Score: 1
      Why are all these JavaScript UI libraries so darn ugly? I'm sorry, but I can't see many people writing rich applications with these. What is needed is something like Mozilla's XUL that runs on all browsers. The file layout can be a pain, but it really is a nice way to build applications using a browser and Javascript. Get AJAX functionality from JPSpan and you are set.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    13. Re:widget set by los+furtive · · Score: 1

      You were probably looking at version 3.x. All components can have themes applied to them, and if you take a look at the user gallery you'll find some nice stuff.

      --

      I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

    14. Re:widget set by misleb · · Score: 1

      Well, it is not XUL, but it certainly looks better than standard HTML. Thanks for the link. I'll give it a try.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    15. Re:widget set by Goaway · · Score: 1

      Here's one that actually does something useful.

      My own, still kind of early in development, but fully usable for remote web administration. Try not to Slashdot it too badly, OK?

  15. What I'm hoping for by Anonymous Coward · · Score: 0

    Perhaps it will really provide a solid way to distribute software seamlessly

    I'm just hoping this will encourage development tools to make it easier and more standardized in the way it is used. Slowly, but surely I'm building my own API to exploit "AJAX" (since before the term was invented). Unfortunately because of IP/NDA agreements I can't release any of the nice Visual Studio add-ons I've built :(

  16. AJAX Won't Deliver... by NardofDoom · · Score: 4, Insightful
    ... until every browser does things the same. A lot of the current applications for Google Maps (like this one) don't work in Safari.

    Unless standards are complied with fully there can never be "one programming language" for web scripting. Anyone who's had to debug Javascript in IE that works in Firefox knows this.

    --
    You have two hands and one brain, so always code twice as much as you think!
    1. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Firefox runs on every major computing platform. Linux, Windows, Mac. If everyone used it, we wouldn't have a problem. The problem is all the damn people who insisist on using non-standard browsers.

      Obviously, I'm not serious. But it's something to think about.

    2. Re:AJAX Won't Deliver... by NoMoreNicksLeft · · Score: 1

      If it's already working on firefox, why bother with IE? Just make sure it's working for safari and opera and be done with it.

    3. Re:AJAX Won't Deliver... by md17 · · Score: 3, Informative

      This is why people are building component frameworks around AJAX. Component frameworks hide the messy browser specific details. This gives a developer who uses these components "one programming language" that works universally and provides a RIA experience.

      AJAX's fate does not rest on all browsers being in full compliance to the standards, it rests more on the implementation of AJAX components. You can read more about my view on this on my blog.

    4. Re:AJAX Won't Deliver... by neoform · · Score: 2, Interesting

      yeah, well i'm developping a web forum using all JS..

      http://www.cslacker.com/

      works fine in IE, Firefox and Safari.. but IE's retarded CSS handling makes things dicey..

      --
      MABASPLOOM!
    5. Re:AJAX Won't Deliver... by HyperBlazer · · Score: 1
      A lot of the current applications for Google Maps (like this one) [chicagocrime.org] don't work in Safari.

      Erm, that one works for me in Safari 1.3. Of course, your link tells me that I've been a "naughty slashdotter," but that has nothing to do with Safari!

      Point may be right; example isn't.

    6. Re:AJAX Won't Deliver... by petermgreen · · Score: 1

      it depends

      do you view the browser and web as something that should be standards based to the end or do you belive its ok to build a web site for one client app just as you might build a client app locked to one gui toolkit?

      or to put it another way do you wan't to build a website or an app that happens to use firefox as a client.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:AJAX Won't Deliver... by Jeff+Hornby · · Score: 2, Insightful

      why bother with IE?

      Are you kidding? Are you out of your mind? Are you trying to lose money?

      These are the things that my clients would say to me if I even asked: why bother with IE? IE still has ~90% of the browser market. If you decide to ignore IE, 90% of the world will ignore you, and you therefore reduce your revenues by 90%.

      You'd be better off ignoring all other browsers and focusing solely on IE than not supporting IE.

      --
      Why doesn't Slashdot ever get slashdotted?
    8. Re:AJAX Won't Deliver... by poot_rootbeer · · Score: 1

      If it's already working on firefox, why bother with IE?

      You mean besides the fact that upwards of 80% of the audience of just about every website in the world uses IE?

      If your AJAX code is based on the W3C-approved DOM, there's really not all that much you have to do to make it work properly across all four modern render engines: Gecko, Safari, Opera, and IE.

      If you're still using 4.x browser hacks like "if (document.all)", well, that's another story entirely.

    9. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      nice & fast... but wtf is "refesh?"

    10. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Everybody sings along:


      We don't give a shit about Safari

      All those rich kids with their macs

      Won't enjoy the fun of open source

      Firefox they refuse to use

      Let them lick their GUI

      And complain everytime they get the chance that their lame-ass browser wont work.

    11. Re:AJAX Won't Deliver... by neoform · · Score: 1

      refreshes the current page (since it uses a lot of local variables, if you hit refresh in the bowser it kills the app and has to reload everything)

      --
      MABASPLOOM!
    12. Re:AJAX Won't Deliver... by masklinn · · Score: 0, Troll
      That, sir, is completely retarded since it prevents visitors from:
      • Using any legacy browser, or text browser, or anything but mainstream browsers for that matter
      • Browsing with JS desactivated
      • Bookmarking or linking a specific thread or post since you're so retarded that you were retarded enough to not provide any permalinking mean
      On top of that you've managed to put a fucking permanent refresh spam every 10 seconds or so.
      AND you're using fucking frames.
      Your forum sucks man, badly, it ranks even lower than PHPbb as far as forum quality goes.
      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    13. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Or you have 90% of your customers finding a new browser.

      Remember when everyone started making IE only pages when Netscape was still king? I sure do... Look how fast everyone switched.

    14. Re:AJAX Won't Deliver... by MightyMartian · · Score: 2, Insightful

      Well hopefully 4.x browsers are going to be in a rather sharp minority nowadays. I don't do a lot of fancy Javascript, mainly just form validation and the like, and I actually haven't had a compatibility issue in two or three years now. I don't even think about the older browsers. If someone is still running IE 5 or Netscape 4, then that's tough for them.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    15. Re:AJAX Won't Deliver... by Darren+Winsper · · Score: 1

      So why is it called "refesh"?

    16. Re:AJAX Won't Deliver... by neoform · · Score: 1

      i've tried my forum with computers that are more than 8 years old and the site works. i'd say that's legacy enough.

      try visiting ANY major site with javascript disabled..
      gmail, yahoo, hotmail see what happens.

      and as for the bookmarking, well hey, would you be complaining if i turned hotlink protection on my site? everyone does that. get over it.

      spam every 10 seconds? it's an IM that refreshes user status every 10 seconds. ranking mine lower than phpbb shows you're the retarded one since my site takes about 1/50 the server time that a phpbb site would take. i designed my site with speed in mind and that's what it does. don't like it? don't use it.

      --
      MABASPLOOM!
    17. Re:AJAX Won't Deliver... by neoform · · Score: 1

      uhm, cause it refreshes the info?

      what word would you find more appropriate?

      --
      MABASPLOOM!
    18. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      "Or you have 90% of your customers finding a new browser."

      You don't know much about customers, do you?

    19. Re:AJAX Won't Deliver... by NatteringNabob · · Score: 1

      Exactly right. Right now, we have numerous incompatible implementations of Javascript, DOM, and CSS, and now we are going to fix that by dumping another layer of stuff on top that isn't supported by Microsoft or Apple, so basically it will also be non-standard. If Microsoft does adopt it, they will do everything they can to make sure that their implementation isn't compatible with everybody elses. Finally, the software developments environments for Javascript are primitive and not nearly as usable as mature as those built around Java. Let's face it, being Turing equivalent and all that, there is nothing here that you can't do right now with a Java Applet, and Java Applets have not exactly taken the world by storm.

    20. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Yeas it refreshes the info, not refeshes it. So the button should say refresh, not refesh. The fact that you didn't even spot it when it was pointed out to you really does highlight how unobservant you are.

    21. Re:AJAX Won't Deliver... by rnd() · · Score: 2, Interesting

      I'm sorry but your comment is so off base it deserves a rebuttal.

      IE was around for a long time and the FF developers explicitly decided not to support nonstandard features that not just IE but tens of thousands of websites were using.

      The standards jihad has held back the Mozilla project big time. Why not just display a "non compliant code" icon on the status bar somewhere... even display a security risk popup.

      There was "one programming language" for web scripting back when MS had 95+% of the browser market share, and FF and Moz decided to go on a jihad instead of realizing that the specifics of the standard aren't that important and a de-facto standard is good enough for most people.

      --

      Amazing magic tricks

    22. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      And yes, I am observant enough to spot that I wrote "yeas"...

    23. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      The linked-to site in the blog looks nice, but like with most people impressed with their own design skills, they leave out that fixed layouts just don't work all that well in practice. They may look great at 640x480 or 800x600, but not in a non-standard window size.

      Sorry.

    24. Re:AJAX Won't Deliver... by IamTheRealMike · · Score: 1

      Ignore him, the forum is really cool. One thing - the alpha blending in the loading screen is a bit dubious, you might want to investigate having a semi-transparent PNG (with the IE DirectX magic) instead of dithering. I'd also seriously consider fixing the permalinking thing. Being able to link to forum threads is useful. Also try allowing guest postings to one of the forums....

    25. Re:AJAX Won't Deliver... by Tony+Hoyle · · Score: 1

      It's common practice to have javascript disabled (especially in companies due to the security issues). I've rarely seen a site that doesn't work with it because good ones are written in *standard* HTML.

      Requiring javascript to work at all is just retarted. Use it to add bells and whistles but don't depend on it otherwise you'll just piss off a lot of your audience.

    26. Re:AJAX Won't Deliver... by Tony+Hoyle · · Score: 1

      btw. it's damned slow even under a fast machine running firefox.

      I currently have a screen saying 'Loading' and it's up to 70 seconds & still rising. People just won't wait that long.

    27. Re:AJAX Won't Deliver... by Sparr0 · · Score: 1

      This site best viewed in a Browser That Works Better than Internet Explorer.

    28. Re:AJAX Won't Deliver... by Peter+Cooper · · Score: 1

      Well I think I like it, but it seems to randomly jump back to the front page using the latest Safari here. Guess I'll try with FireFox.

      But bookmarking is an issue. Lots of people use services like del.icio.us now, and this is how a lot of knowledge is maintained. I bookmark threads that have information that interests me, etc, which is why although these systems are really cool.. they're not ideal for certain applications (as with anything, of course).

    29. Re:AJAX Won't Deliver... by eDogg · · Score: 1

      The URL you provided works just fine for me in Safari v2.0 (412) on OS 10.4.1 Maybe this isn't quite the issue you think it is.

    30. Re:AJAX Won't Deliver... by NardofDoom · · Score: 1
      Netscape was around before IE, and IE added Javascript functions that were incompatible. Was that wrong of Microsoft?

      Not to mention the fact that ActiveX is how XMLHttpRequest was implemented in IE, and therefore wouldn't have worked for Mac or Linux.

      "There was 'one operating system' back when MS had 95%+ of the desktop market share, and Linus and Apple decided to go on a jihad instead of realizing that the specifics of the operating system aren't that important and a de-facto standard is good enough for most people."

      --
      You have two hands and one brain, so always code twice as much as you think!
    31. Re:AJAX Won't Deliver... by masklinn · · Score: 1

      Gmail? Everything can be used flawlessly with JS desactivated
      Yahoo? sorry, don't have a Yahoo Mail account, the website works flawlessly though
      Hotmail? the inbox can be reached, even though trash and other folders can't, you need to copy/paste parts of the JS to actually reach the mails themselves but it can be done

      That's one unknown, one useable with some trouble and one fully useable. Your forum, on the other hand, is fully unusable, it's as bad as MSHTML websites with browser check on front page.

      On the bookmarking issue, there is a slight difference between bookmarking and hotlinking, bookmarking allows you to find informations of days gone by that you found interresting, and smart people designing smart AJAX webapps use permalinks whenever it's possible, because not being able to bookmark a page/thread/post/information is one of the most annoying and retarded things one can find.

      Wanna see one of the most interresting AJAX applications i've seen to date? Adactio Elsewhere, and guess what? it's fully browseable without JS activated, and even without both JS and CSS.

      BTW, as a final note, I didn't say anything about "legacy" computers, I talked about legacy browsers, aka Lynx/Links, old IEs and NS (2-4), operas 6 and below, ...

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    32. Re:AJAX Won't Deliver... by FrangoAssado · · Score: 2, Interesting
      IE was around for a long time and the FF developers explicitly decided not to support nonstandard features that not just IE but tens of thousands of websites were using.

      IE's nonstandard features are mostly hacks, and IE has only brain damaged support for CSS. If you ever try to build an actual application in javascript, you can't fail to notice this. Mozilla's decision of supporting whe W3C standards was done in order to have a truly powerful tool for web developers (i.e., people who want to build real *applications* in the web, not just homepages -- for these, i.e. is mostly OK). That, and the fact that it enables the applications themselves (Mozilla, Firefox, Thunderbitd, etc.) to be built in the same platform -- XUL, XBL, javascript and CSS.

      The standards jihad has held back the Mozilla project big time. Why not just display a "non compliant code" icon on the status bar somewhere... even display a security risk popup.

      Mozilla has adopted some nonstandard features from IE, the most used ones are XMLHttpRequest and innerHTML. They are adopted when they are useful and make sense. There are discussions about adopting others, like document.all, but this can't be done easily, because many sites assume that if one nonstandard feature is present, then all of IE's quirks can be counted on: I can't tell you how many times I have seen this:

      if (document.all) { /* IE stuff */ }
      else if (document.getElementById) { /* Mozilla stuff... */ }
      else { /* tell the user it won't work... */ }

      The fact is, Mozilla trying to copy IE's quirky behaviour would most likely fail, because Microsoft would be free to make IE a moving target (the same way they have done countless times before) as soon as they felt threatened (which seems to be happening now -- witness the next "revolutionary" release of IE 7).

    33. Re:AJAX Won't Deliver... by rnd() · · Score: 1

      Microsoft added new functions, it didn't leave out functions that were in common use by tens of thousands of web sites.

      It doesn't matter how XMLHttpRequest was implemented. For most people it could be implemented in about a dozen lines of Python code, which works on both Mac and Linux.

      Your statement about operating systems doesn't hold for 3 reasons:

      1) the objective of Apple was to make a profit
      2) the objective of Linus was to create a free operating system along the lines of Unix. Other have attempted to create free versions of windows.
      3) the goal of Moz/FF should be to create a fantastic browser that people want to use. Goals such as standards nit-picking are secondary and probably shouldn't be on the list at all. Why didn't most people use Mozilla until Firefox? Usability. Why don't more people use Firefox today? Incompatibility with "must have" sites. I personally choose to use both (mostly FF) but not everyone is willing to do that.

      Making the success of a standards jihad a prerequisite to full adoption of one's browser project (Moz, FF) is just putting a roadblock in place that is hard to overcome. Web standards are (and should be) a moving target, so why don't the Moz developers relax a bit and let people use Moz/FF for 100% of their surfing?

      Even though the cost of developing a site for IE and FF is now cheaper than ever before, I've already seen one fairly large public website make FF compatibility a "nice to have" feature rather than a "must have". Why? Because at its current market share levels and with the upcoming release of IE7, it's not worth the extra effort coding everything twice. If the FF developers had simply included the non standard stuff, then all sites would work in FireFox... wouldn't that be nice?

      --

      Amazing magic tricks

    34. Re:AJAX Won't Deliver... by rnd() · · Score: 1

      Those are some good points, but I think Moz could go further to copy the IE "de facto" standard. There is also nothing wrong with supporting both simultaneously, such as the correct CSS and the MS version.

      The objective should be for developers not to have to include the if then else construction in order to build a site that just works. MS has a vested interest in manipulating the standard to meet its needs (as you correctly point out) but Mozilla has a vested interest in lowering the cost of adopting Mozilla for developers and end users, which in this case entails accomodating the de facto standard that Microsoft created.

      --

      Amazing magic tricks

    35. Re:AJAX Won't Deliver... by alucinor · · Score: 1

      Maybe some Mozilla proponents would like to pretend that it's a pure w3c implementation, but it still has plenty of propriety extensions itself.

      However, one strong advantage Mozilla's proprietary stuff has over IE is that it gives you the ability to prototype first-class DOM objects, so you can build an IE-emulation layer for completely cross-platform scripting without a lot of browser-version-checking tangled into your code.

      Here's an example of a simple (and incomplete) IE-emulation layer:

      http://webfx.eae.net/dhtml/ieemu/

      --
      random underscore blankspace at ya know hoo dot comedy.
    36. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Its not Googles fault that Safari has shitty bugs that prevent it from being used with some Ajax, tell the KDE and Safari devs to work better on fixing their mistakes.

    37. Re:AJAX Won't Deliver... by NardofDoom · · Score: 1
      So what you're saying is that Firefox (and Opera and Safari and KHTML) should implement ActiveX just so the "tens of thousands" of websites that use it (which are generally poorly constructed), ignoring security concerns and the fact that ActiveX is Windows only.

      I use Firefox as my primary browser, Safari as my secondary, and IE for when people tell me things don't work. I don't visit sites that require IE because I don't want to use it. And when I develop web applications, I make sure things work cross platform. And, no, that doesn't mean coding things twice, it means doing it right the first time.

      --
      You have two hands and one brain, so always code twice as much as you think!
    38. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      If i had mod points i'd mod you down.

    39. Re:AJAX Won't Deliver... by neoform · · Score: 1

      what does it have?

      speed. click on any section and the page will refresh in under a second.

      --
      MABASPLOOM!
    40. Re:AJAX Won't Deliver... by drew · · Score: 2, Insightful

      There was "one programming language" for web scripting back when MS had 95+% of the browser market share, and FF and Moz decided to go on a jihad instead of realizing that the specifics of the standard aren't that important and a de-facto standard is good enough for most people.

      ahhh... right. so should they have followed the de facto standard as implemented in IE 5.0, IE 5.5 or IE 6.0? And how do they verify that they are compatible with whichever defacto standard they chose without visiting every site that uses the de facto standard in some way?

      --
      If I don't put anything here, will anyone recognize me anymore?
    41. Re:AJAX Won't Deliver... by tiptone · · Score: 1

      to quote you:

      "If the FF developers had simply included the non standard stuff, then all sites would work in FireFox... wouldn't that be nice?"

      What "non standard stuff" are you talking about specifically? If by that you mean Active-X, then hell no without question it absolutely should not have been implemented, it's a nightmare.

      What I don't like about IE, as a web developer, is the fact that it renders improperly. Once again, I'm glad they left that out of FF.

      --
      Please don't read my sig.
    42. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Good points as well, but "lowering the cost [...] for developers and end users." My emphasis I'd have to object to.

      The users wouldn't have any reasons to *switch* to a (much more) *standards* compliant browser.

      Plus, the cost for Mozilla (and others) of maintaining (and playing catch-up with) an MS-set of functionality/buggy behaviour would drain valuable, nay *critical* resources from them. Resources needed to develop *new* (standards compliant) functionality.

      Remember that MS have a *lot* more people/man-hours at their disposal to throw at 'gaming' the other developer teams (Opera, moz, safari, konqueror, et al.).

    43. Re:AJAX Won't Deliver... by NutscrapeSucks · · Score: 1

      The standards jihad is over. Mozilla is now adding many IE6 DOM methods. You will have to ask them how tney check compatibility (in most cases, I'm sure the functionality is obvious.)

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    44. Re:AJAX Won't Deliver... by NutscrapeSucks · · Score: 1

      You missed the news -- Mozilla does support document.all! The trick is that the support is "silent" -- document.all==false, but the object still works.

      [document.all is kind of a crappy example because it's a legacy feature from IE4.0 and is only used in old scripts and those written by numbskulls. It also never really worked as a browser sniffer because of IE/Mac and Opera.]

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    45. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      it's not phpBB.

      That should be enough.

    46. Re:AJAX Won't Deliver... by Emetophobe · · Score: 1
      "A lot of the current applications for Google Maps (like this one) don't work in Safari."
      "Sorry, slashdot users aren't allowed. You've been too naughty.". It appears we've upset chicagocrime.org
    47. Re:AJAX Won't Deliver... by neoform · · Score: 1

      you're an idiot.

      you tell me my site is unusable, by whom i ask?

      people who use Netscape 2? what are you running? a P1 75mhz? get a fucking life dude, 90% of users on the web today have minimum 500mhz computers with DOM 2 compliant browsers. all of which work with my site. but hey, why bother convincing you, i really don't care if you think my site's unable.

      --
      MABASPLOOM!
    48. Re:AJAX Won't Deliver... by rnd() · · Score: 1

      That depends on what the project's goals are. If the goal is market share, then yes. If the goal is a project that a small number of people will love (such as yourself) then no.

      --

      Amazing magic tricks

    49. Re:AJAX Won't Deliver... by rnd() · · Score: 1

      It's not tough to figure out what IE does... in fact, there's good documentation and there are even emulation layers available! see here

      --

      Amazing magic tricks

    50. Re:AJAX Won't Deliver... by shutdown+-p+now · · Score: 1

      It doesn't work with Opera.

    51. Re:AJAX Won't Deliver... by Anonymous Coward · · Score: 0

      Hah! And I've got a clan of gingerbread men.

      (Besides, I failed the Turing Test. Damn Slashdot.)

  17. So what's the big deal? by Anonymous Coward · · Score: 2, Insightful

    This has been possible for years. I've personally been using this type of scripting in web applications since 2001. Why the big fuss all of a sudden? Is it just because of the new XhtmlhttpRequest object (or whatever the hell its called)? You can do the same thing with an iFrame. Sure, its not as elegant, but it gets the job done. And it registers in your browser history.

    1. Re:So what's the big deal? by LnxAddct · · Score: 1

      You can have AJAX (I prefer JSON-RPC, but same idea) register in the browser history, at least on mozilla platforms. The trick (and there are a few ways to do this, the way I'm explaining here is the simplest but I use a different method) is that before you go modifying the DOM with your script, just set document.innerHTML = document.innerHTML. In mozilla, whenever innerHTML is modified it treats it as a new page despite no reload (this causes wierd affects with Google's footer when running Greasemonkey scripts, FYI). You can verify this just by hitting the back button on your browser and seeing the page go back to how it was. I know it is usually recommended to treat innerHTML as read only, but this is one of the areas where it's worthwhile to write to it. I'm not saying the iframe technique doesn't work (I've used that technique plenty of times), but this tends to be more convenient and it seems that the web in general is moving away from frames (thank god).
      Regards,
      Steve

    2. Re:So what's the big deal? by Anonymous Coward · · Score: 2, Interesting

      XhtmlhttpRequest isn't new, its been around since 2000 and IE 5.0. What is new is that another browser supports it(firefox) and is no longer and IE only feature.

    3. Re:So what's the big deal? by blakespot · · Score: 3, Interesting
      I've been using XMLHttpRequest to wonderful effect in developing Dashboard widgets for Mac OS X. Seamless, behind-the-scenes data grabs - nothing akin to a page refresh.

      Here's a demo in a proper web page:

      http://www.blakespot.com/xml.html

      Good stuff.



      blakespot

      --
      -- Heisenberg may have slept here.
      iPod Hacks.com
    4. Re:So what's the big deal? by Anonymous Coward · · Score: 0

      Nice font tag :)

    5. Re:So what's the big deal? by sonofagunn · · Score: 1

      It's only a big deal now because someone thought up a buzzword with the letter "X" in it, and because Google is using this technique.

      Many people have been doing stuff like this for years.

    6. Re:So what's the big deal? by LarryTheGeek · · Score: 1
      You're missing the point completely. Take a look at some real applications using AJAX. These are all apps that were developed by 37Signals. I'm not affiliated in anyway, other than as a happy user.
    7. Re:So what's the big deal? by kanweg · · Score: 1

      I can push a button only once. The second time a window pops up with an error. Bert

  18. this is good, and here's more material by yagu · · Score: 5, Informative

    For me, the crux of the usefulness and eventual adoption and finally complete embracing of AJAX lies in the article's paragraph:

    Some of the buzz surrounding AJAX has been generated by Web designers as well as programmers. AJAX?s flexibility is invigorating for Web designers because JavaScript can control any aspect of any images or type on a page. Fonts can grow or shrink. Tables can add or lose lines. Colors can change. Although none of these capabilities are new to programmers accustomed to building client applications -- or, for that matter, Java applets -- they are novelties to Web designers who would otherwise be forced to rely on Macromedia (Profile, Products, Articles) Flash.

    I've seen what Google has done with AJAX (e.g., Google suggest), and it's stuff I never imagined could be so repsonsive in a web context. For me it starts to make programming fun again, and web programming an acceptable form of application development.

    When browsers and web first emerged I could see the writing on the wall, but I wasn't happy about it. Browser application writing from the programming perspective was probably the single most giant leap backwards in technology for me (not including technologies introduced by Microsoft)....: you mean, all the years I've spent honing skills writing applications no longer apply? You mean I no longer have "state" as a tool for maintaining sanity in my application???? Hwaahhh??? I have to do what to change the web page???

    While there have been some technologies (ASP, JSP, etc) to help with these issues, none have addressed the responsiveness issue with the web page round trip message loop. AJAX comes close. Now all I have to do is learn it.

    For a great example of the responsive nature of this (I've referenced this before), go to Google Personal Home, set up your own home page, and play... Configure your modules by dragging them around... open and close your g-mail previews. This all starts looking alot like programs actually running locally on your own machine. (I'm assuming all are familiar with and have played similarly with Google Maps.)

    Additionally, here are some very good resources to learn more about AJAX:

    That's it, I'm done.

    1. Re:this is good, and here's more material by grassy_knoll · · Score: 1

      Thanks much for the links.

    2. Re:this is good, and here's more material by coldcanofbeer · · Score: 1
      For the WebPasties AJAX example, you might want to send them to the start page of the tutorial so that they will not miss the introduction.

      Guide to Using XMLHttpRequest (with Baby Steps) from WebPasties
      http://www.webpasties.com/xmlHttpRequest/index.htm l

    3. Re:this is good, and here's more material by killjoe · · Score: 1

      I hate to say this but....

      The fact that AJAX even exists points to the massive failure of Java to save us from stateless applications. Everything people do with AJAX was supposed to get done with Applets and done even better.

      The fact that the humble and lowly javascript has continued to flourish while java applets died a screaming and painful death is sad for the industry. BTW, I don't give a crap about java, in fact I dislike it on many levels but I would have swallowed hard and made it my best friend if it would have kept it's promise to free me from the bondage of stateless applications, browser incompatibilites and the lame HTML gui widgets.

      --
      evil is as evil does
    4. Re:this is good, and here's more material by Anonymous Coward · · Score: 0

      Between CSS, javascript, and flash, I think the web will do pretty much anything except 3D gaming. I'm currently building a php-based web app that wraps a flash component to mimic a windows application used to view, navigate, and modify floorplans. It will look and behave almost identical to the windows app, and it will work across browsers and platforms. There's really no reason web apps couldn't become as powerful as desktop apps. Most things you can do with AJAX, and the rest you can do with flash.

    5. Re:this is good, and here's more material by Anonymous Coward · · Score: 0

      AJAX?s flexibility is invigorating for Web designers because JavaScript can control any aspect of any images or type on a page.

      No it can't. Image manipulation on the web is either server-side or is limited to proprietary Microsoft DirectX filters at the moment.

      Fonts can grow or shrink.

      Huh? Welcome to the early 90s, this has been true of plain HTML since the first GUI browsers.

      Tables can add or lose lines.

      AJAX doesn't do that, the DOM has been doing that for seven years or so.

      Colors can change.

      Also possible without AJAX, since Netscape 2.0, IIRC.

      Although none of these capabilities are new to programmers accustomed to building client applications -- or, for that matter, Java applets -- they are novelties to Web designers who would otherwise be forced to rely on Macromedia (Profile, Products, Articles) Flash.

      If anybody thinks that this stuff is a novelty or required Flash until recently, then they have no business calling themselves a web developer, because they are simply incompetent and completely out of touch with the technologies that everybody else uses.

      you mean, all the years I've spent honing skills writing applications no longer apply?

      Yes, that's right, programming experience suddenly disappears the second the word "web" appears... </sarcasm>

  19. Re:Choosing language by Anonymous Coward · · Score: 0

    Uh, sorry dude but I don't want 50 languages taking 100 MB in my browser. Just ask get your favorite script to compile *into* javascript, a bit like f2c is a Fortran to C translator.

  20. Planned from the beginning? by kevin_conaway · · Score: 1

    Then where have you been for the last 10 years? Seriously, those comments reek of those guys coming out of the shadows to hop onto the glory boat.

    1. Re:Planned from the beginning? by Pflipp · · Score: 1

      It's a little bit hard funking HTML up if people all around you make those little inventions called "font" and "blink" tags and start fighting about what's the real standard.

      Now that people have finally figured out that HTML is this structured, manipulable thing, then maybe, just maybye, Javascript can start to do what it was supposed to do.

      Too bad we've at least two versions of the JS object model already.

      --
      "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
    2. Re:Planned from the beginning? by Anonymous Coward · · Score: 0

      Dude, AJAX has been around for over 5 years now - it works in IE 5.0 on Windows. You just didn't know about it.

    3. Re:Planned from the beginning? by Brendan+Eich · · Score: 1
      Oh, more blink whining -- the sign of an insecure position. Get over it. It has been over ten years. What two versions of the JS object model do you mean? Are you sure you're not mixing up the DOM (never fully standardized by w3 members) with the core language?

      /be

    4. Re:Planned from the beginning? by Brendan+Eich · · Score: 1
      And where have you been? What exactly have you done? I created JavaScript and the DOM, then co-founded mozilla.org and helped it get to the current, over-hyped (but welcome anyway) poster-child-for-open-source status that all the herd of independent thinkers who used to dump on the project have now bestowed on it.

      My comment to the reporter was the truth: at least marca and I spoke explicitly about people building web apps in the browser, in JS, that didn't make whole-page round trips to the server; that had advanced graphics (via Java, we thought -- oh well); that had a rich set of HTML and other UI primitives.

      See web.archive.org and look for hidaho.com from late '95 through '96.

      As I posted elsewhere, any fool with half a brain could see that potential future. It wasn't prescience, but it apparently looks like so amazing a prediction to you, that you presume I'm faking it to grab "glory".

      Here's a clue for you: AJAX is a bogus term which I reject, or at least try to ignore so as not to waste even more time debating its meaning and merit. I don't give a rat's ass about glory attaching to my name from it or anything else so hype-ridden. When a reporter asks an obvious question with an equally obvious answer, I don't feel the need to lie so you'll feel less outraged, or insecure, or whatever's wrong with you.

      /be

  21. goodbye javascript! by asr_man · · Score: 2, Funny

    Processing threads running in the background preloads page content..

    Browsers load AJAX applications automatically. Customers are often reluctant to install custom applications, but most people can be convinced to visit a Web site.

    Finally, the reason I was looking for to disable Javascript is here.

    1. Re:goodbye javascript! by Anonymous Coward · · Score: 0

      You mean you don't already disable Javascript? With Javascript off, the World Wide Web is a lot like hypertext documents instead of a bloated bastardized application that pops up dialog windows and slides images around the screen.

      When replying to this message, please confirm you're not a script by typing the text shown in this image: [iarejzn/\/\/\]

  22. Re:In other news.. by Anonymous Coward · · Score: 0

    Don't forget it is Darth Jobs who is carrying out Order 66.

    Intel chips?...all part of the Master's plan.

  23. See by Anonymous Coward · · Score: 0
    the world is just now discovering what he imagined back in 1995. He says, We [Marc Andreessen and I] always intended JavaScript to enable client-centric apps that did not have to reload pages from a server.

    If we had only known... We could have avoided ActiveX! :-)

  24. Seamless... LOL by orderthruchaos · · Score: 1

    If by seamless, you mean heavily hacked to get around platform/browser compliance/implementation... then yes, I agree.

  25. Javascript? by Umbral+Blot · · Score: 1, Insightful

    Quite honestly javascript is a very poor language. The reason it is used so much is that it is basically the only alternative to client side scripting without Java. I would be excited by a more robust replacement for javascript, but this just seems like taking a bad idea and running with it.

    1. Re:Javascript? by Anonymous Coward · · Score: 0

      Sadly I see this as nothing more than further commercialism of the web. Soon going to a page to look at data will force the user to sit thru a [at least] 30 second commercial before rendering the page.

      This is progress ?

    2. Re:Javascript? by telbij · · Score: 5, Informative

      Quite honestly javascript is a very poor language.

      Actually, Javascript is surprisingly robust. Probably you're referring the platform inconsistencies, which have long been a showstopper. But with recent versions of browsers supporting the javascript standard (ie. ECMAScript) increasingly well, a lot of the major wholes are closing, and you really can write cross-platform javascript with a minimal compatibility layer.

      Javascript is not meant to be a large-scale programming language... it doesn't have strong-typing or other features that you want when developing million-line applications. However, it is still an extremely powerful language providing things like full object-orientation (everything is secretly descended from the window object), comprehensive hooks to HTML, functions as data, regular expressions, flexible data access (eg. objects as hashes), and robust event handling.

      I used to think of javascript as a toy language, but when you get to down to it, it does what it needs to do very cleanly and efficiently without imposing unnecessary overhead on the programmer.

    3. Re:Javascript? by masklinn · · Score: 1

      Not really.
      As far as scripting goes, it's a good language that's been badly implemented and abused far too much for it's own sake.
      JS isn't a really complex language (even though it goes as far as providing classes and objects), but it's streamlined and all in all not THAT badly thought.
      It would be better if it wasn't that permissive, but... oh well...

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    4. Re:Javascript? by owlstead · · Score: 1

      You must have met the management team of the company I work for. Avoid confusion and do not use the word "showstopper". Actually, I would not use "mayor wholes" either, but that might have been a typo.

      Main Entry: showstopper
      Pronunciation: -"stä-p&r
      Function: noun
      1 : an act, song, or performer that wins applause so prolonged as to interrupt a performance
      2 : something or someone exceptionally arresting or attractive <the gold crown was the showstopper of the exhibition>

    5. Re:Javascript? by Anonymous Coward · · Score: 0

      Wait a few years. I'll bet the management definition will be appearing in dictionaries very soon.

    6. Re:Javascript? by iserlohn · · Score: 1

      Javascript is a prototype based language which actually goes beyond the typical class/instance OO paradigm.

    7. Re:Javascript? by Anonymous Coward · · Score: 0
      Like most replies indicate, the language itself is not very bad at all. It's simple, yet surprisingly advanced (in way of being dynamic; runtime polymorphism, can change "inheritance" [prototype] configuration on-the-fly; can redefine and overload methods of core classes ec. etc.).

      What has been bad has been DOM presentation of the context (page etc); and especially those being incompatible between browsers. This is not the fault of Javascript the language, but most people just lump them together. Bit like how "Java applets cause my Netscape to crash, Java sucks!" statements affected perception of Java as the language.

    8. Re:Javascript? by Anonymous Coward · · Score: 0

      JavaScript is robust. Think Firefox. Think all the other Mozilla apps using XUL. They are coded in JS. Mozilla source tree is several millions of lines, and a good chunk of that is JS.

      And strong-typing isn't a requirement for million-line applications. Large applications are written with weakly typed languages, of which there are several besides JavaScript.

    9. Re:Javascript? by gedhrel · · Score: 1

      You're trolling, right? JavaScript is a great language, and far more powerful* than you might imagine. Have a look at Dave Crockford's javascript stuff. Alternatively you might be interested in knowing that Javascript also supports (for some values of) goal-directed logic programming as a paradigm, too: js prolog

      * if you're about to say anything using the words "Universal" and "Turing": yeah, right, but that's not what I'm talking about and you damn well know it.

  26. Thank you Microsoft by ad0gg · · Score: 0, Flamebait
    Microsoft'sIE was the first browser to offer XML capabilities using activex with microsoft xmldom and XMLHttpRequest object. This same concept was copied by other browsers and made famous by gmail.

    The Ajax concept is based around something called the XMLHttpRequest component. All you Microsoft haters get ready to yell because this was a Microsoft creation! Yes, Microsoft got something right, and did so before anyone else! Microsoft first implemented the XMLHttpRequest object in Internet Explorer 5 for Windows as an ActiveX object (ok, so they didn't get it QUITE right!).

    Source

    --

    Have you ever been to a turkish prison?

    1. Re:Thank you Microsoft by FriedTurkey · · Score: 1


      Microsoft actually had Remote Scripting before with "classic" ASP. If you look carefully at the document you will notice it uses a Java applet to communicate to ASP pages.

      I used this a long time ago when I did "classic" ASP pages and it worked OK. It had firewall and browser issues. We really had no other options at the time and page refreshes weren't an option.

      I wouldn't be suprised if Microsoft wanted to get rid of it simply becuase it used a Java applet.

    2. Re:Thank you Microsoft by 0kComputer · · Score: 1

      Yeah, I posted this earlierhttp://it.slashdot.org/comments.pl?sid=1505 60&cid=12624375 , mine was marked as flamebait thanks to some stupid ass moderators

      --
      Top 10 Reasons To Procrastinate
      10.
    3. Re:Thank you Microsoft by ckaminski · · Score: 1

      Why is using a client-side activeX component any worse than using the same component built into IE? In the case of a segregated component, you can concentrate on building a featureful application that does what it needs to (and no more) without worrying about whether it breaks the master controller (IE).

      In fact, I'd be willing to bet that the Javascript engine in IE 6 is still using the ActiveX object under the hood. Why bother making such a complex integration when you can just alter your JS interpreter.

  27. Javascript is not java by bharlan · · Score: 1, Redundant
    "Perhaps AJAX will finally deliver what Java promised."

    Javascript and Java have nothing in common but four letters in their name, from a silly marketing decision by Netscape and Sun long ago.

    Unfortunately, the alternative name that could have cleared up the confusion is impossible to pronounce: ECMAScript.

    --
    (Reality reasserts itself sooner or later.)
    1. Re:Javascript is not java by DARKFORCE123 · · Score: 1

      If they would have stuck with the original name LiveScript that would have been okay too. It still is.

    2. Re:Javascript is not java by Conspiracy_Of_Doves · · Score: 1

      impossible to pronounce: ECMAScript.

      Ek-ma-script?

    3. Re:Javascript is not java by Surye · · Score: 1

      What are you talking about? Java promised portable client side web applications, applets. They've been slow to catch on at best, and now AJAX has allowed Javascript to be used for portable client side web applications. Think before you speak, this sounds like the knee-jerk response a Highschool teacher tells the website design class. A response which does not belong here.

    4. Re:Javascript is not java by Anonymous Coward · · Score: 1, Funny

      A response which does not belong here.

      Which site do you think you're on again? Have you looked around at all?

    5. Re:Javascript is not java by P3NIS_CLEAVER · · Score: 0

      thank god they didn't. IMHO mixing acronyms with regular words is bad form.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    6. Re:Javascript is not java by FriedTurkey · · Score: 1

      When reading Microsoft documentation, it is always called JScript. At first I was really confused and tried to go out and learn the new language.

    7. Re:Javascript is not java by Tony+Hoyle · · Score: 1

      They also share a common syntax, similar security issues and appeared on browsers at pretty much the same time... there's a lot more history there than just the letters.

  28. Google maps problem by Anonymous Coward · · Score: 0

    I can't get images from google maps to show up in mozilla. Either on windows or linux. Anyone know why?

  29. Re:Choosing language by Cmdr+Whackjob · · Score: 1

    It would be better if there weren't all these languages for web site developing. What we need is browsers to run EXE files natively without a sandbox, so designers have a bit more flexibility.

  30. Java by HRbnjR · · Score: 4, Insightful

    People keep talking like Java has failed and is now dead and gone.

    I have been programming primarily in Java since 97, and if you ask me, it's just *starting* to pick up steam.

    The language itself is just becoming mature - with big strides (generics, etc) in Java 1.5. And only now are we seeing alternate implementations to Suns, with GNU Classpath approaching a million lines of code, and GCJ compiled applications shipping in Fedora Core 4. Java applications such as Eclipse are also just starting to become popular, and Java API's for things like GNOME are just appearing on the horizon.

    So quit calling Java dead :)

    1. Re:Java by ThreeE · · Score: 1

      Who said anything about Java?

    2. Re:Java by afabbro · · Score: 0

      One problem I see is that Slashdot posters apparently can't tell the difference between JavaScript (our topic in this article) and Java.

      --
      Advice: on VPS providers
    3. Re:Java by poot_rootbeer · · Score: 2, Informative

      So quit calling Java dead :)

      Okay, fine.

      Java applets embedded in webpages are dead.

      But on the other hand, J2EE is heading towards becoming the de facto standard language for server-side web development, as is J2ME for handheld development.

      On the whole, Java is alive and well.

    4. Re:Java by ciroknight · · Score: 1, Insightful

      Maybe dead is too harsh, but "failed to live up to its promise as a client side application's framework", is still a fair assertion if you ask me. When I first heard about and learned Java, it was preached to me by everything I read as the future of everything; life as we knew it would end and this whole beautiful future of Java running everything would take over. Bunk.
      Where Java excelled was code-once locations; cell phones, nifty watches, machines of different archetectures that want to run the same program. Now with Java coming back into the personal computer, I can't help but to gag; Microsoft realized it's out of the game and .Net became the next end-all, be-all application framework, and the open source goons jumped on it just as fast as they did java, only they came out with something that worked much faster.

      So now I sit asking myself what I should be coding in, and I more and more find that the answer is as same as always, good ol' C++. Piece of shit language, but at least I know it'll still be around in 5 years, and everything should be able to compile without fighting a million version changes.

      --
      "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
    5. Re:Java by benjj · · Score: 1

      Uh - the story says "Perhaps AJAX will finally deliver what Java promised."

      Either the story poster means that AJAX could fill the same niche as Java applets, or he got confused between Java and Javascript, which I doubt.

    6. Re:Java by ThreeE · · Score: 1

      I have no doubt the poster got confused between Java and Javascript.

    7. Re:Java by Anonymous Coward · · Score: 0

      And this on the day when Piggy Bank beta was announced. And it uses Java. http://www.betaversion.org/~stefano/linotype/news/ 89/

    8. Re:Java by Anonymous Coward · · Score: 0

      Piece of shit language, but at least I know it'll still be around in 5 years, and everything should be able to compile without fighting a million version changes.

      Are you joking? Being able to compile a C++ program five years from now? Haha!

    9. Re:Java by Espectr0 · · Score: 2, Insightful

      The language itself is just becoming mature - with big strides (generics, etc) in Java 1.5

      Big strides? How is a broken design and implementation of a feature become a big stride? Generics in Java 2 version 5.0 version 1.5 suck big time. The implementation does NOT guarantee type-safety. It DOESN'T eliminate casts, they are still being done, with a processing cost, it's just syntactic sugar.

      To try to somewhat fix this horrible implementation, they did autoboxing, a.k.a the worst feature in C#. You would think that adding the int value "8" to a list would make the list a list of ints. But no, they are a list of objects, and old-fashion conversions are done, very slowly.

      The correct implementation would let using primitives types directly, just like C#. It is sad when a virtual clone of Java is better than Java itself, and sad also because Microsoft did it.

      Back on topic, people think another language like javascript is going to succeed? It won't. Javascript works differently in all browsers. At least Java is "mostly" compatible between all vendors.

    10. Re:Java by alernon · · Score: 1

      "The language itself is just becoming mature - with big strides (generics, etc) in Java 1.5." - emphasis mine

      It's funny you should use that word. Last month the creator of rails wrote a posting on the very subject. Read more at http://www.loudthinking.com/arc/000434.html

    11. Re:Java by Deagol · · Score: 1
      Perhaps for programmers in specific domains, Java is coming of age these days.

      For me as an experience Windows/PC/Unix/Linux user, I *hate* it. Whenever I puruse apps on Freshmeat or Sourceforge, I always ignore Java-based apps because I hate trying to get the environment to work. I can download tarballs for odd apps, compile the required libs from source, and get everything working with very few problems. But I *dread* trying to get a Java app running.

      For example, I recently tried to get a popular P2P app installed on Fedora Core 3. I *think* it was Limewire. I didn't realize it at the time of download, but it required a JRE. I already had the gcc Java thing installed, but it bombed. So I installed Sun's -- and it bombed. So I nuked the Limewire install from my machine and ended up installing it under a Windows XP VM in VMWare.

      I really hate Java apps. Every time I've given in and said "okay, maybe things have improved in the 1+ years since I tried a Java app" the experience has made me more bitter.

      Maybe it's a bias of my years in the industry. But I never conceptually liked Java from the beginning, and I've never seen an implementation that seemed really usable or impressive.

    12. Re:Java by jallen02 · · Score: 1

      I have a lot of Java programming experience and I have no problem getting Java programs running on pretty much any environment there is a sane JRE. I also have no trouble getting this or that program compiled from source. Its really not that hard. You need a JRE, usually higher than some version as specified by the program. Then you need to have an environment variable or two set up (some time) and thats about it. Most Java programs come WITH most of their library dependencies. These dependencies are VERY easy to separate from other Java programs eliminating library versioning issues as well.

      It can be a little daunting at first. If you spent half the time you spent learning to compile and manage programs from source you would think Java was pretty easy to set up as well.

      Jeremy

    13. Re:Java by Tim+C · · Score: 1

      Well, I've been writing web apps in Java for 5 years, so perhaps I'm a special case.

      That said, I have had zero trouble getting Java apps working for the last few years. That's not zero as in "it was easy, I just installed $foo, set $bar and $baz in the environment, recompiled the widgets and was good to go", that's zero as in "I downloaded it, ran the installer/unzipped it and there it was".

      It probably helps that I already have a recent version of Sun's JVM installed, but I can't think of a single Java app that's given me any trouble in a good few years. True, I'm not big on downloading random stuff from freshmeat, so perhaps I'm spoilt by my choice of apps. That said though, I remember having hellish problems getting random (and not so random) C and C++ apps compiled and running a couple of years ago...

      Basically, stick to well-written, well maintained apps and you'll have no problems. Download any old crap and well, what do you expect?

    14. Re:Java by Tim+C · · Score: 1

      Microsoft realized it's out of the game and .Net became the next end-all, be-all application framework

      MS got its ass handed it in court by Sun for breaching the terms of its licence and adding its own classes into the java.* package hierarchy in its VM. So, MS took its toys away and went home and developed C# to try to piss on Sun's parade.

      *That* is (at least part of) why MS dumped Java. For what it's worth, Visual J++ still exists, and is supported in VS.NET at least as of the current release (I'm not sure about the upcoming release). Iirc it's stuck at v1.1.4 (thanks to the court case), which means its essentially just a curiosity. Too much has been added since then to make it worthwhile using.

      So now I sit asking myself what I should be coding in, and I more and more find that the answer is as same as always, good ol' C++. Piece of shit language, but at least I know it'll still be around in 5 years, and everything should be able to compile without fighting a million version changes.

      I have Java code from 5 years ago that still runs in recent JVMs without recompilation. I really don't see that being a problem over that sort fo time scale.

    15. Re:Java by Tim+C · · Score: 1

      or he got confused between Java and Javascrip

      I've worked in the web for 6 years now, and you'd (apparently) be amazed how many times I've seen people make exactly that mistake.

    16. Re:Java by Anonymous Coward · · Score: 1, Insightful

      Sounds to me like you're having trouble getting the Java environment, i.e. JRE, running properly on your OS, not getting Java applications running. Myself, I've been able to install the JRE on both Windows and Suse without a problem, and once that's installed, it's fairly brainless to run most Java apps.

      Maybe it's a bias of my years in the industry.

      Excuse me but, (a) if you have so many years experience you should be able to realize the real source of the problem and stop blaming all Java apps out there, and (b) I have 15+ years experience from Algol to C++ to Java and PHP and I have no bias, in fact I'd say bias is an awful thing to have in this industry, you better lose it fast.

    17. Re:Java by Anonymous Coward · · Score: 0

      What about all that classpath shit or whatever it is? You can't just start a java program in any simple way.

    18. Re:Java by Dominic_Mazzoni · · Score: 1

      People keep talking like Java has failed and is now dead and gone.

      Java as a language is far from dead - it's more popular than ever, no question. However, Java as a tool for delivering interactive web applications is nearly dead. Why? Internet Explorer doesn't include a recent version of Java by default, and it's way too large for most people to download. Not only that, but Java's widgets are still flaky and subtly different than native ones, and there's very little browser integration. So there are very few web tools for which Java is the best solution, even though the language itself is good and getting better.

    19. Re:Java by Ulrich+Hobelmann · · Score: 1

      People keep talking like Java has failed and is now dead and gone.

      Nobody is talking about Java. Your post is so off-topic I can't understand how it got +5 Insightful.

    20. Re:Java by curunir · · Score: 1

      Maturity has nothing to do with actual age and everything to do with having a history of being used successfully. The more people have found that a project/product helps them successfully solve a problem, the greater the chance that it can be used to solve your problem provided your problem is similar in nature to the problems of others.

      Java's maturity comes from having millions of people run into, enumerate and complain about it's shortcomings. In early versions, Java was slow. Newer versions have JIT compilers which make it very competitive speedwise for most applications. Generics are another example. Programmers complained about how ugly it is to always have to cast objects coming out of collections. Java evolved to include syntactic sugar to avoid all those ugly casts.

      It's the little tweaks that make things mature. Java has had quite a while now to find what needs tweaking and fix it. More importantly, the platform has shown itself to be pretty stable and unlikely to change drastically from version to version. It is valid to say that Java is a proven technology that is very likely to remain stable for the forseable future. There may be very good reasons to use Ruby and rails for webapps, but a long history of successful deployment isn't one of them.

      Mature isn't nearly as vague as the blog posting contends.

      --
      "Don't blame me, I voted for Kodos!"
  31. Gah by American+AC+in+Paris · · Score: 2, Insightful
    Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly.

    All "AJAX" is going to do is sell a bunch more four-color glossies to those IT types with more stars in their eyes than substance in their heads. It's just another vaguely-defined acronym with a catchy ring to it.

    For anybody who actually writes code, things like Google Maps are simply a happy marriage of time-honored techniques and modern browser tricks. They're cool, they're novel, they're useful, they're quite well-written, and they're letting us do things in the browser that used to require plugins--but there's nothing terribly eye-popping about the techniques themselves.

    --

    Obliteracy: Words with explosions

    1. Re:Gah by Scroatzilla · · Score: 1

      This new "AJAX" thing reminds me of why I eventually gave up and started listing "JavaScript" and "DHTML" seperately on my resume.

  32. AJAX stronger than DIRT by Anonymous Coward · · Score: 0

    http://zeldman.com/goodies/dirt.m4a.zip

    Zipped AAC file from Zeldman (requires iTunes)

  33. This is new? by stlhawkeye · · Score: 1
    Some of the buzz surrounding AJAX has been generated by Web designers as well as programmers. AJAX's flexibility is invigorating for Web designers because JavaScript can control any aspect of any images or type on a page. Fonts can grow or shrink. Tables can add or lose lines. Colors can change. Although none of these capabilities are new to programmers accustomed to building client applications -- or, for that matter, Java applets -- they are novelties to Web designers who would otherwise be forced to rely on Macromedia (Profile, Products, Articles) Flash.

    I've never build web pages with any Macromedia project, and yet through the magic of style sheet and JavaScript, I've had all of these capabilities in my pages for years upon years. Am I misunderstanding the point? I assume I must be.

    (insert flawed analogy here that will be mercilessly seized and picked to pieces by responding commenters)

    --
    "I have never won a debate with an ignorant person." -Ali ibn Abi Talib
    1. Re:This is new? by tomstdenis · · Score: 1

      This is just another cycle of rediscovering old technology and calling it new.

      Next thing you know XML will be replaced with the .ini file ;-)

      Why people get all excited to the point of jizzing buzzwords over something as simple as XML is beyond me... It's a text file with HTML like tags...

      At least ASN.1 specifies encodings "on the wire" which is a bit more useful. I mean you may see

      <keyword> TOMBOT </keyword> but how are those chars actually sent on the wire? XML doesn't address this. It's just a fucking syntax for tagging stuff..

      Granted what Google is doing is cool it's not "new technology" that enables them todo that. It's just hiring smart people with enough creativity.

      What I would love to see are DVI webpages... e.g. end the browser war and replace HTML with TeX once and forall ;-) That way your page will render the same ANYWHERE and not just where a given vendor decides to put a client. ...

      mmm standards that are actually encompassing...

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:This is new? by Anonymous Coward · · Score: 0

      You mean besides the fact that authoring a UI in Flash is generally a lot faster and can be built to look a lot better than trying to do the same in JavaScript & DOM? I guess not.

    3. Re:This is new? by Anonymous Coward · · Score: 0
      I've never build web pages with any Macromedia project, and yet through the magic of style sheet and JavaScript, I've had all of these capabilities in my pages for years upon years. Am I misunderstanding the point? I assume I must be.

      maps.google.com, put in an address, and now move the map around with your mouse.

  34. widget set-XUL by Anonymous Coward · · Score: 0

    It's called XUL.

    Curl is another alternative for doing things client-side.

  35. Open up AJAX by iamthesamurai · · Score: 5, Insightful

    There is a need to standardize (as much as possible) the way that AJAX will work in the browser. There are a lot of code-writers and code-copy-n-pasters out there. When you visit one of these sites, you know because the browser may act funny due to poor programming/hacking of Javascript interacting with the server. AJAX is much bigger than just XML messaging, it's an opportunity to bring a more traditional application model to the browser via Event handling and dispatching. Notice that if you have an engine or framework that is well built, it's quite simple to add event handlers like key presses or mouse clicks or even drag-n-drop. If one was to script each element on a page, that gets heavy and can slow the browser. Which - btw, is why AJAX hadn't caught on until recently: computing resources were not sufficient in many cases.

    That being said, everyone should look at http://www.sourcelabs.com/ajb/AJAX Mistakes. There's also a nice list being compiled at http://www.openajax.net/OpenAJAX .net. This combination of technologies has been around for a while, however, as people find them more useful and interesting, there is a need for good information and a solid foundation for folks to work off of.

    1. Re:Open up AJAX by Slime-dogg · · Score: 1

      Actually, I see AJAX as an effective way to kill off the casual javascript copy & paste web developer. Sure, they'll be able to still do things like mouse trails, but I'm doubtful that they'll know how to handle something on the order of Google Maps.

      Any time that you require a round-trip to the server, you introduce one more peice of complexity to the application. The market created by these new apps will be limited to those who know what they are doing, finally.

      --
      You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
    2. Re:Open up AJAX by Anonymous Coward · · Score: 0
      There is a need to standardize (as much as possible) the way that AJAX will work in the browser.

      Huh? Why? Beyond standardization of the simple core building blocks (the xml request object and its handling), I see no need or benefit from formal standardization. Libraries will (and need to) be built; but evolution in that front should happen just like with all succesful technologies, by adoption by developers. No one had to "standardize" in Java world to get people to use Hibernate (over EJB ugliness, or JDO), or Springs; they just happened to be good enough and attracted most app developers. Likewise, as long as simple basics are compatible, let all the flowers bloom.

      This is very different from the real need to standardize CSS, for example. Ajax is just a general term (or paradigm if you prefer) -- it's not an API.

    3. Re:Open up AJAX by Anonymous Coward · · Score: 0

      There is a need to standardize (as much as possible) the way that AJAX will work in the browser.

      MSDN documentation. The only difference between browsers is that Internet Explorer has to instantiate the object using ActiveX and that Internet Explorer doesn't implement the DOM event model.

      If one was to script each element on a page, that gets heavy and can slow the browser.

      "Script each element on a page"? What does that even mean? Create the elements via script? Attach event handlers? Something else?

      Which - btw, is why AJAX hadn't caught on until recently: computing resources were not sufficient in many cases.

      AJAX hasn't caught on until recently because until recently, it's been an Internet Explorer-only ActiveX object.

  36. AJAX really helps for dialup users by vishbar · · Score: 1

    As a dialup user, I can say that AJAX is a massive improvement over a standard Javascript page. GMail's web uses AJAX, and, though it takes quite a while to load the page initially, not having to go through the server for something as simple as clicking on a thread is highly preferable to reloading the page each and every time a link is clicked. Hopefully, we'll see more Javascript applications that run on the client side as opposed to old-fashioned form-based applications.

    --
    Ride the skies
    1. Re:AJAX really helps for dialup users by Anonymous Coward · · Score: 0

      Uh, the point of Ajax is that these calls still go to the server. You're just not seeing a page refresh.

  37. Still lacks decent security by Anonymous Coward · · Score: 1, Insightful

    Running script direct from arbritrary servers is not acceptable from a security standpoint. Inline scripts (aside from event handlers) need to be depreciated and the end user permited to audit signed scripts on a site by site basis before running them.

  38. WANTED - AJAX DEVELOPER by BillsPetMonkey · · Score: 5, Funny

    * Bluechip client
    * Excellent Package
    * London, Engliand Offices

    Requirements -

    * 5 years of writing AJAX apps for enterprise clients
    * 5-10 years .NET Experience on Linux
    * At least 15 years Linux experience

    Call now or apply online by clicking here!

    --
    "It's not your information. It's information about you" - John Ford, Vice President, Equifax
    1. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      lol, considering the buzzword AJAX has only been around since about february, asking for 5 years experience is a bit... optimitistic.

    2. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      Funny you missed the rest of the joke:

      * 5-10 years .NET Experience on Linux
      * At least 15 years Linux experience

      Those are hard to fulfill as well.

      Reminds me of the time I reviewed a resume that listed "5 years Java experience", in 1994!

    3. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      I think this is required for a H1B slave application.

    4. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      I have an excellent package!

      Can I have the job?

    5. Re:WANTED - AJAX DEVELOPER by KarmaMB84 · · Score: 1

      How about 5 years of experience with Windows *95* in 1997?

    6. Re:WANTED - AJAX DEVELOPER by mini+me · · Score: 1

      AJAX has been around since IE5. It just wasn't called AJAX.

    7. Re:WANTED - AJAX DEVELOPER by temojen · · Score: 1

      Ummm... I've been doing AJAX-y stuff since Netscape 4 was a new browser. Even without Document.implementation.createDocument or XMLHttpRequest (ActiveX or core), you can still load a document with hidden data in another frame and walk it's DOM tree. Actually, my CGI made pages with embedded dynamicly generated JavaScript to insert the data into my structures, but It could have been done via DOM. So yeah, I've got about 7 years of AJAX experience.

    8. Re:WANTED - AJAX DEVELOPER by kkovach · · Score: 0

      You've recently sustained prefrontal brain damage, haven't you? ;-)

      - Kevin

      --
      The less confident you are, the more serious you have to act.
    9. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      I did an client side HTTPxmlfetcher app that's primative AJAX back in late 1999, so yeah, it could be done except for the .NET stuff :-D

    10. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      Since when does the number after Windoze have anything to do with how long it's been out to developers in really beta form? :)

    11. Re:WANTED - AJAX DEVELOPER by Anonymous Coward · · Score: 0

      Woohoo! Finally a req that dont need no "Excellete communciations skills". I'm so applying 4 this one!

  39. Re:Thank you Microsoft (again) by dmh20002 · · Score: 1

    Microsoft also has had DHTML+Time for years, which let you script actions based on timeouts, greatly facilitating animation and periodic update.

  40. I've been seing this pop up on job postings by hey! · · Score: 2, Insightful

    Of course, most people developing web applications have a little experience in the main technologies in AJAX, particularly DHTML and DOM, which are the critical ones. Only now we have a buzzword that HR an latch onto.

    On the other hand, if they're looking at people who can architect something like Google maps, well, they're going to have to wait until the frameworks catch up. I've got my eye on Echo.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  41. All the great technologies have... by Anonymous Coward · · Score: 0

    2 syllables including X, I expect this is why the HURD is still unfinished and VRML petered out, X3D is clearly a foolish attempt to sound like mp3 and has too few vowels to take off.

    Flash will fall by the wayside defeated by this superior floor cleaner, er web technology.

  42. curiously resource-intensive by Anonymous Coward · · Score: 0

    i have noticed in my own js/DOM hacking that somewhat simple operations are costly. simple resource allocation tools indicate firefox really starts hogging memory and cpu when i engage what i would consider straightforward DOM manipulation. has anyone else noticed this?

  43. Ajax and Java deliver the same promise by davide+marney · · Score: 3, Insightful

    Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly... (emphasis mine)

    The "promise" of Java (write once, run anywhere) is exactly the same as Ajax. A big implmentation difference is in the runtime. Ajax's runtime is native to the browser; Java's runtime is not.

    If what you need to do can be done with Ajax, then Ajax delivers on the promise, today. Java? Sure, it delivers big-time, if you can live with Web Start and deploying the runtime to every desktop.

    Ajax should be welcomed by Java advocates everywhere. The marketplace are finally "getting it" regarding write once, run anywhere. The limitations of Ajax are substantial, so it won't be long before people need more muscle.

    --
    "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
    1. Re:Ajax and Java deliver the same promise by badmammajamma · · Score: 1

      "Ajax should be welcomed by Java advocates everywhere. The marketplace are finally "getting it" regarding write once, run anywhere."

      Uh...no. I don't think so. Why should I support of a hack on top of a hack? Please, oh please explain that to me.

      Also, you contradict yourself with "The limitations of Ajax are substantial, so it won't be long before people need more muscle."

      Again, I should support AJAX why? You can argue it's all we got right now but the bottom line is I don't like what we have from the start. Sorry, you won't get any support from this Java advocate, not that Java really has anything whatsoever to do with the real issues.

      --
      Any man who afflicts the human race with ideas must be prepared to see them misunderstood. -- H. L. Mencken
    2. Re:Ajax and Java deliver the same promise by NeoBeans · · Score: 1

      I thnk you missed his point... he's saying that by welcoming AJAX, which does have some limitations that Java (applets) can address better, it may open folks up to the idea that applets != pure evil.

    3. Re:Ajax and Java deliver the same promise by davide+marney · · Score: 1

      The point is that Ajax and Java are technologies on the same trajectory, going away from the platform-dependent, fat clients of today, towards the "write once, run anywhere" clients of tomorrow. Ajax is on the lightweight, easier-to-deploy end of this arc, and Java is further along towards the more muscular, but harder-to-deploy end.

      As a Java devotee, you should support the adoption of Ajax because it validates the "write one, run anywhere" principle. The more people adopt the principle, the more they will be open to Java-based clients.

      Ajax is not a "hack on top of a hack", in any case. It is simply an extension of remote procedure calling. Remote scripting has been around for decades. The concepts behind Ajax are hardly new.

      --
      "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
  44. Re:widget set - Try Konfabulator by spookymonster · · Score: 2, Interesting

    Try www.konfabulator.com. It's free to use (nagware, actually) and versions are available for Windows and Mac.

    With Konfabulator, you can build cross-platform (no Linux yet) desktop widgets (similar to OSX Dashboard widgets, but more functional), using XML and Javascript. You can define the different components of your widget in XML, and then write the event handlers in Javascript. Optionally, you can have Javascript dynamcially create the components in the onLoad event handler. It uses the Spidermonkey Javascript engine, also found in Mozilla/Firefox.

    If you give it a try, Check out my widget, ClipDrop (a clipboard manager), in the Gallery.

    --
    - Despite popular opinion, I am not perfect.
  45. Re:Choosing language by Jeff+Hornby · · Score: 3, Funny

    Great idea.

    I've got an .EXE on my site that does some really cool things including encrypting your hard drive. But that's OK, you can pay me $200 and I'll send you the decryption key.

    --
    Why doesn't Slashdot ever get slashdotted?
  46. AJAX is a stupid, stupid name. by Anonymous Coward · · Score: 0

    Ugh! "AJAX" is misleading (and rather dumb sounding too). I use the "XMLHttpRequest" object both in syncronous and asynsconous modes, and I DON'T USE XML..ever! Why parse all that garbage when I can send JSON (JavaScript Object Notion) or even plaintext back and forth? It's lightweight and does the job.

    1. Re:AJAX is a stupid, stupid name. by Darby · · Score: 1

      Why parse all that garbage when I can send JSON (JavaScript Object Notion) or even plaintext back and forth? It's lightweight and does the job.

      Because you can return a result set and immediately perform an XSL transform on it to generate HTML properly formatted for whatever section of the page you plan to display it on.

      That way you don't need to explicitly parse the XML, you can just use the mature toolset available for handling it in 3 or 4 lines of code.

      This is, of course, just one example, and it might not fit your needs. I've used that method quite a bit and it really makes things simple if you already have stylesheets set up for it.

      If you're returning data that you then need to pull out and use in calculations and/or decision making before displaying any output to the browser, then it might not be worth the trouble.

  47. Google isn't writing in Javascript by Animats · · Score: 1, Interesting

    Google has people coding in something new, which they aren't saying much about. It's then compiled to Javascript and DHTML. They're not just writing Javascript by hand.

    1. Re:Google isn't writing in Javascript by Anonymous Coward · · Score: 1, Interesting

      Source on this?

    2. Re:Google isn't writing in Javascript by Anonymous Coward · · Score: 0

      XUL. Seriously.

    3. Re:Google isn't writing in Javascript by warriorpostman · · Score: 1

      Yeah can you confirm that? Or is that speculation on your part, from looking at the javascript that you believe to be "auto-gen'd"?

    4. Re:Google isn't writing in Javascript by Anonymous Coward · · Score: 0

      how do you know? is it the source code, maybe they are obfuscating it, or post processing it... but do you really think it is first wirtten in a different language? or maybe a special editor?

    5. Re:Google isn't writing in Javascript by neoform · · Score: 1

      no kidding, i went i poked around and downloaded the source code for gmail's front end (the 500kb JS file) and it was totally unreadable. all variable names and function names were 2 characters long with hundreds of seeminly pointless functions. blah. what a pain in the ass to reverse engineer..

      --
      MABASPLOOM!
    6. Re:Google isn't writing in Javascript by veg_all · · Score: 1

      Google has people coding in something new, which they aren't saying much about. It's then compiled to Javascript and DHTML. They're not just writing Javascript by hand.

      I think this is bullshit. De-obsfucate and unfurl, say, the google maps javascript library and there's no evidence it would have been necessary to use anything other than human programmers to write it. It's just code. Unless you have some source on that assertion.

      --
      grammar-lesson free since 1999. (rescinded - 2005)
    7. Re:Google isn't writing in Javascript by mshiltonj · · Score: 1

      where's your evidence?

    8. Re:Google isn't writing in Javascript by follower-fillet · · Score: 1

      > what a pain in the ass to reverse engineer..
      I recently used a tool I developed (http://libgmail.sourceforge.net/googlemaps/de_obf _helper.py) on the Gmail code. An example result of it being run on the Google Maps code can be seen here: (http://libgmail.sourceforge.net/googlemaps/maps.j s.html)

      It's pretty rough and not exactly fast, but I've found it better than nothing. (The "Javascript Shell" bookmarklet is also indispensible for reverse engineering.)

      --Phil.

    9. Re:Google isn't writing in Javascript by Anonymous Coward · · Score: 0

      thanx for the link to gogle maps js code dude, any chance we can find the same for gmail?

  48. I don't recall remembering Javascript by netglen · · Score: 1

    I don't recall remembering Javascript with my Lynx and the first Mosaic browsers. Funny that.

  49. Wow... by pdevor · · Score: 1

    ...never heard about AJAX before... ...seriouly, at this point, how is this newsworthy?

  50. AJAX? How bout mozilla by Bobbysmith007 · · Score: 1

    I would say that the popularity of Firefox and the fact that there is a good implementation of a javascript runtime which can serve as a reference from which to attack the shitty implementations(cough cough ... IE), that really made the difference. But hey we can blame it on a shitty acronym if you'ld prefer.

    1. Re:AJAX? How bout mozilla by Anonymous Coward · · Score: 0

      Thats strange - IE had the best Javascript implementation on the market up until Firefox was released. The Mozilla stuff like Netscape 6 and 7 was absolute rubbish - I know this because I developed a fairly complex web app (enterprise scale) with loads of client side scripting in it for a client. Any time you did stuff with the DOM in Netscape it would run like a total dog.

    2. Re:AJAX? How bout mozilla by Bobbysmith007 · · Score: 1

      Yeah...thats how things change... Now its IE that runs like a dog when you throw alot of DOM manipulation at it. (Read building tables and binding them to datasources on the client. It works but its just a lot harder to implement because it doesnt react correctly. The best example of this I can find is that setting certain attributes doesnt work (even if the element hasnt been rendered yet). This seems to be mostly related to styles (aka class and style are the ones that frustrate me the most). Overall Im just happy that there is an almost internally consisitent implementation. The next time an even better engine comes out we will all probably flock to that and decry how horrible SpiderMonkey /Rhino are.

  51. What AJAX is really about by Spy+der+Mann · · Score: 1

    (For those who didn't bother RTFA)

    Not having to refresh the frigging URL everytime you want to request some info from the server.

    Think of it as "DHTML+minor server requests".

    So, what car would you like to buy?
    (select: Volkwagen)
    (javascript then loads the currently available VW's from the server into a second combobox)

    Ta-da!

    1. Re:What AJAX is really about by Anonymous Coward · · Score: 0

      Also it should have the same functionality serverside, accessable using noscript tags on the client. Not all clients have javascript and not all users are foolish enough to enable it.

    2. Re:What AJAX is really about by Anonymous Coward · · Score: 0

      Then fuck the users who want the www to remain stagnant and stuck in 1995. In the end the number of people like you are not large enough to justify the coding required to cater to their Luddite-like view of the WWW.

  52. JavaScript based window manager by Anonymous Coward · · Score: 0
  53. Javascript's never really gone outta style by Mr.+Cancelled · · Score: 1

    I use Javascript for a lot of things, and I constantly hear things like "Wow! I didn't know you could do that kind of stuff with Javascript", which to me just goes to show how uninformed people are about the language.

    Additionally, anyone in the know is aware that a lot of the cool things you can do within OSX are attainable via Javascript(JS). Want to write a cool new Sherlock plugin? Use JS. Want to write a cool new widget for Tiger? Use JS.

    As the trolls have already started pointing, Javascript is not Java. And who would want it that way? Not to feed the trolls, but to me JS is a great way to quickly get something done. Java on the other hand requires a lot more code to do the same types of things - Simple things that is. Java can scale better, and do things that Javascript cannot, but to me they're for two different types of applications. Plus, there's a helluva lot more overhead to Java to learn than there is for JS, and while those skills might come in handy, if I don't have to learn it, I'm not going to. Java's never been an overly "friendly" language to me. PHP on the other hand is, and it's an ideal backend for use with todays subject: Ajax!

    But I digress... I was writing my own "Ajax" code until I came across this, which has allowed me to focus on my backend (typically PHP for me), and my front-end (The JS), and not have to worry about all the middleware that's making my dynamic app tick. I highly reccomend checking it out.

    Also, it's worth noting that althogh Ajax is intended mainly for small bits of data to be sent back and forth, it does scale fairly well. I built an Ajax based random image slideshow, which has a PHP backend feeding the images to the browser one at a time, and it works great with multiple users!

    Long story short, if you like the concept of Flash, but hate the overhead, and/or the spam/ad crap that Flash has given birth to, you should really check out the Ajax technologies... You can do a lot of the same types of things with Ajax as you can with Flash, but with the overhead of Flash, and without requiring that your users install Flash, and/or use a Flash-enabled browser. Not that everyone on /. doesn't just love their flash, of course. 8)

    1. Re:Javascript's never really gone outta style by saddino · · Score: 1
      Want to write a cool new widget for Tiger? Use JS.

      Exactly. Apple hasn't made much noise in the public that widgets are simply HTML + CSS + JS and many of the Apple default widgets use XMLHttpRequest (which the AJAX folks also love) to do client side request without reloading.

      In fact, Google's first hit for "xmlhttpquest" is this Apple page where its support in Safari 1.2 is touted for web developers:

      For years, advanced client-side developers have frequently wanted a clean way to maintain a "connection" with the server so that transactions can occur in the background, and newly updated data gets inserted into the current page. Many have tortured themselves by using techniques such as hidden self-refreshing frames and "faceless" Java applets.


      AJAX's promise and implementation may exist today in Google's tools, but the largest installed base of AJAX-like applications may turn out to be Apple widgets (hundreds are available for Dashboard now, though many sophisticated ones use Cocoa plugins or BSD system calls instead of XMLHttpRequest).

      --
      Shameless promotion: If you're a Mac user still on Panther 10.3.9, you can try out Dashboard widgets in Amnesty.
    2. Re:Javascript's never really gone outta style by avageek · · Score: 1
      In fact, Google's first hit for "xmlhttpquest"

      I know you meant xmlhttprequest but I couldn't resist...

      The thought XML HTTP quest brings up some interesting mental images!

  54. Fundamental re-architecture of the Web by Anonymous Coward · · Score: 0

    The #1 thing that will prevent the web from really replacing desktops as an application architecture has to do with the fundamental architecture of the web in terms of things being centralized away from the individual and internal organizations. What we really need is the concept of a "personal server" that serves as a starting point for all web applications running and personal information storage, where further interaction with other web sites can precipitate from this initial authenticated and private environment.

    Otherwise, going to one big mainframe in the sky where one assumes Google's "do no evil" policy will be enough to enable everyone somehow to shift to the web as a primary application domain is never going to happen. The model of "trust us first" was the same thing that doomed .NET My Services/Hailstorm, and it will definitely catch up with Google, Yahoo, Amazon, eBay and all others who want to do the same thing, but are just slowly creeping in the same process. Posession is 99% of the law, and having a stupid privacy policy that is all talk no substance is just stupid. There needs to be a base-line architecture that makes enabling and ensuring privacy feasible.

    Let me ask you this, as great web applications are from the standpoint of availability, development ease, flexibility, adaptability, code reuse, ease of use, maintenance, etc., are major corporations going to abandon Exchange and Outlook and somehow start using Gmail? Clearly not. Does that have anything to do with whether the web paradigm is better or worse compared to the desktop paradigm? No, but the desktop will continue to be a anchor as long as the privacy issue isn't settled.

    The semantic web or the web v 2.0 will run on a fully distributed and encrypted instant messaging-like network that blends a real-time messaging with a dynamic html display, where each person logs into their dhtml web interface running on distributed, personal dedicated servers.

  55. BONUS by Anonymous Coward · · Score: 0

    By doing so you're kissing goodbye to 90% of security vulns in any broswer product.

  56. Re:Choosing language by pthisis · · Score: 2, Interesting

    Client-Side scripting has always been in JavaScript or languages that look exactly like JavaScript

    Or Java.

    And a few niche browsers had alternatives (e.g. http://grail.sourceforge.net/ allowed client-side Python scripts), but none of them ever got anything approaching critical mass.

    --
    rage, rage against the dying of the light
  57. No buzzword, Webapps have been a goal for a while by Zergwyn · · Score: 1
    Web based applications, especially on at a LAN level (for instance, on a corporate or educational intranet), have had a lot of promise for quite a while. Current standards for Javascript, XML, and CSS, when used properly and to their fullest extent, can certainly make for very rich feeling applications on a thin-client like infrastructure. Google is simply one of the first really large and widespread applications of this. I should note that web applications will not be replacing general applications anytime in the foreseeable future; bandwidth is not the only issue either. For serious, professional applications like Final Cut Pro, Photoshop, and the like, interface is very important as well. This includes having an interface that meshes well with other applications and the OS. Obviously, heavy duty games are a more tech limited category - links will likely always be much faster at the local machine level, and games take advantage of that bandwidth and power. However, many other applications, including a large percentage of the most commonly used apps (like wordprocessors, email, etc), lend themselves well to translation to web applications. With this comes:
    Ease of maintenance. Having an application centrally deployed means bug fixes and new features can be rolled out instantly, transparently, and uniformly. This can also ease development of other features, because developers can count on every user having access to the same version. In addition, rollbacks may be made if necessary in a central way. Architecture independence Thanks to open source software development, all major operating systems support webservers of one kind or another, and additionally there exist at least as an option very functional and uniform browsers. This means that servers and clients can be swapped as an organization's needs dictate, rather then becoming locked into any single architecture. Scaling/Economy benefits Additional clients added to the network have instant access to all available web apps, without the need to perform any installations or updates. Software can be deployed very widely and cheaply. *Control While the other factors have been positive, it is debatable whether this is a benefit or not; however, it is certain to be something developers consider. Having a functional, centralized software repository opens the possibility for time renting of access, and then shutting people off when the money stops flowing. Depending on implementation, and of course the user, this may be boon or bane: a very cheap way to temporarily access software you need, and never have to pay for it again, or a way developers extract endless money.
    Personally, I always have wondered if Microsoft has purposely delayed adding features to IE for as long as possible in particular light of the second item, architecture independence. Microsoft Office is one of the cornerstones of their business, and enabling rich web languages would also allow a shift to be made away from requiring Windows. (This stance is also, incidentally, why so many of us who do professional web development are very frustrated with MS. I personally have to spend dozens of wasted hours for each big site coding up special versions for IE, in addition to standards compliant ones, and even then my possible feature set is much reduced. Cumulatively over the world, this must result in tens if not hundreds of thousands of wasted work-hours per year.)


    Web apps have a lot of promise. Issues like GUI integration remain, but I am excited that the scene is at last gaining steam after stalling for the last 4 years or so.

  58. Are we sure it's the buzzword? by twifosp · · Score: 4, Insightful
    I find it hard to believe that the buzzword itself breathed life back into Javascript like the title implies.

    I think maybe the slick apps like google maps is finally showing what good code CAN do, instead of the bloated bug ridden javascripting of yesterday.

    Or maybe I'm just not transcending expectations by thinking outside of the box, and therefore my toolset isn't capable of brigding the information gap causing a chasm with my ability to think forwardly.

    I'm struggling to identify which is worse: The day when we report that a buzzword has made progress, or the day a buzzword actually creates progress.

    1. Re:Are we sure it's the buzzword? by Khalid · · Score: 1

      I find it hard to believe that the buzzword itself breathed life back into Javascript like the title implies.

      So you don't know nothing about Marketing ;), Buzzwords is what has driven this industry (and many others) for decades.

    2. Re:Are we sure it's the buzzword? by Anonymous Coward · · Score: 0

      I find it hard to believe that the buzzword itself breathed life back into Javascript like the title implies.

      There are an awful lot of idiots out there. One comment even attributes credit for things like changing colours and font size to AJAX.

      It seems a lot of clueless people have heard the AJAX buzzword and every time they see something halfway neat on a website assume that it must be "this new AJAX thing they've heard so much about". So naturally, AJAX is being promoted as this wonderful new invention where previously we were getting by on monochrome displays and no client-side smarts whatsoever.

  59. Rambling reflections by kahei · · Score: 1


    It certainly seems as if the world is moving the microsoft way (you will recall that MS put powerful scripting in IE as a response to Sun's propaganda campaign about Java applets).

    Now, both companies seem to have abandoned the battle -- Sun found Java applets kind of embarrassing in the end (understandably), while MS declared the browser wars over and forgot about it (bizarrely). However, the conflict they started, between web browser as app host versus independant virtual machine + runtimes as app host, has continued to the present day.

    It's interesting to speculate as to why the MS alternative, browser as host, has done better.

    Well, it's not that interesting.

    But I remember when the choice first became clear and people rushed to learn about Java applets... and 8 or 9 years on, the buzzwords are pretty much exactly the same, but the vendors (like Macromedia) never seemed to play Sun's game.

    I think, in the end, I'd rather see a move back to 'proper' apps, Java or otherwise, and an end to seeing complicated interfaces implemented in text markup languages and browser scripting languages. Way too late for that, though.

    --
    Whence? Hence. Whither? Thither.
  60. No, not seamlessly. by sampowers · · Score: 1

    Ok, so the thinking goes like this:

    * All major browsers support HTML.
    * Most of those support XMLHttpRequest.
    * Therefore, "write once, run anywhere" works.

    It's not true. Browser implementations of javascript and DOM object manipulation methods vary wildly enough to make it easier to take your software to some other platform.

    That's not to say that I am not terribly impressed by gmail, google maps, and.. well, other stuff, but no one seems to be doing it as good as google right now. It's not like they have a monopoly on the slick web app.

  61. AJAX + JSON = Powerful combination by MarkEst1973 · · Score: 4, Interesting
    AJAX is great, but parsing XML always sucks. The XmlHttpRequest object also has a property called ".text", which returns the text value of the data.

    Set your content type to "text/javascript" and you can send data over the network and have it be perfectly legal and ready to use. NO XML PARSING!

    JSON (JSON.org) just happens to be legal Python syntax... which makes me think...

    hmmm.... Google has a huge server farm and is renowed for using Python... Google Maps talks client/server using Javascript, not xml... Python and Javascript shared JSON sytax for serializing objects... hmmm...

    It is a very efficient combo: Python, Javascript, JSON, mod_python.

    1. Re:AJAX + JSON = Powerful combination by stuffduff · · Score: 1
      I've been using LZMP for about three years. Linux Zope MySQL and Python. The whole thing results in a JavaScript rendering of the task that needs to be accomplished. The Client runs it in their browser and the server gets back the result. If a third party is involved that 'absolutely needs' XML we can accommodate them, but otherwise there has never been a compelling reason to go through the overhead of wrapping the data in XML just to unwrap it on the other end.

      I'm heavily in favor of having the client do the brunt of the work, and letting the server just dish it out and file it. Servers are still pretty expensive, and most PC's are above 1 GHz these days, so speed is a lot less of an issue. Another issue is that I like pushing the minimum amount of code and data out to the client that will get the job done. I hate it when someone has to load an XML driven ActiveX or Java client tools when all they need is an input field.

      And pushing all that 'fancy tool code' is usually where security becomes an issue. "Hey it was there on the toolbar, I just dragged and dropped it onto the layout of the web page and hooked it up to the database table field..." I've heard that one before. Notice there's no really effective version of Moore's Law for software? That is other than this:

      "While the hardware will be twice as capable and half the cost, the software will double in cost and be half as effective, so there's really no progress at all!"

      And you can quote me on that!

      --
      "Can there be a Klein bottle that is an efficient and effective beer pitcher?"
    2. Re:AJAX + JSON = Powerful combination by slimslam · · Score: 1

      > JSON (JSON.org) just happens to be legal Python syntax...

      Not quite right.

      There's one key incompatibility between the two: "key" values in Python dictionaries must be quoted. So, the Javascript/JSON expression:

      {key1: "value1", key2: "value2"} ... is equivalent to the following in Python:

      {"key1": "value1", "key2": "value2"}

    3. Re:AJAX + JSON = Powerful combination by Anonymous Coward · · Score: 0

      Why the fear of XML parsing? You do realise that the browser does all that for you, don't you? Or did you mean that you don't like accessing the response through the DOM? That's something entirely different to XML parsing.

  62. it's still Javascript by cahiha · · Score: 1

    Being able to make HTTP requests from a client-side language without redrawing the UI is nice, although it is perhaps depressing that such an elementary capability has taken more than a decade to make it into standard browsers and that people are so starved for anything working that they celebrate something so elementary.

    The problem is that the client-side language is still Javascript: a bad programming language and a bad target for compilers.

  63. Ajax Q&A... the real one by grangerg · · Score: 4, Funny
    Q.Did Adaptive Path invent Ajax? Did Google? Did Adaptive Path help build Google's Ajax applications? A.Yes. We wanted to call it HTTP, but that was already taken. Q. Is Adaptive Path selling Ajax components or trademarking the name? Where can I download it? A. Oops. Sorry; fooled you. It's not a product; cool acronym though, right? Q. Is Ajax just another name for XMLHttpRequest? A. Damn you kids are smart. Wait! I meant "No". We put "CSS" in there too, and "XML". Yeah; XML changes everything. Q. Why did you feel the need to give this a name? A. Two words: Midlife Crisis. Q. Techniques for asynchronous server communication have been around for years. What makes Ajax a "new" approach? A. Because I said so; I'm Jack Bauer! Q. Is Ajax a technology platform or is it an architectural style? A. Is using the BLINK tag a platform or is it an architectural style? Snatch the pebble from my hand, Grasshopper. Q. What kinds of applications is Ajax best suited for? A. Hmmm... That's a tough one. How about "web pages"? Does that sound nice? Q. Does this mean Adaptive Path is anti-Flash? A. Yes. If we liked Flash, why would we pull our hair out attempting something this complex in Javascript? Q. Does Ajax have significant accessibility or browser compatibility limitations? Blah blah blah... A. My sources say "Yes". ...but if you shake the magic 8 ball again, who knows? Q. Some of the Google examples you cite don't use XML at all. Do I have to use XML and/or XSLT in an Ajax application? A. Yes. We put "XML" in the acronym! Of course you have to! Why? ...because ...because SHUT UP! Q. Are Ajax applications easier to develop than traditional web applications? A. Duh. Are you stupid? Of course they are. We called it "AJAX"; isn't that teh ish? Q. Do Ajax applications always deliver a better experience than traditional web applications? A. Only if we make them. Everyone else sucks.

    And on a serious note: Who was the moron who made the onreadystatechange event handler? Why couldn't you just pass in a reference to the XmlHttpRequest object so people wouldn't be forced to use global variables to store the reference? Is that so hard?

    1. Re:Ajax Q&A... the real one by wootest · · Score: 4, Informative

      I do believe Microsoft was the moron that made the onreadystatechange event handler, along with the rest of the XMLHTTPRequest object.

    2. Re:Ajax Q&A... the real one by pHDNgell · · Score: 1

      Why couldn't you just pass in a reference to the XmlHttpRequest object so people wouldn't be forced to use global variables to store the reference? Is that so hard?

      I don't have any problem doing it without global variables. Look at the javascript behind this:

      http://bleu.west.spy.net/jwebkit/threads.html

      It's easy to get many asynchronous XML requests going on concurrently without a global variable in here. It appears to work for me.

      --
      -- The world is watching America, and America is watching TV.
    3. Re:Ajax Q&A... the real one by out+of+touch · · Score: 1

      Why do people always believe that something made for a specific purpose can be changed to be use as a general solution. Ajax will do some things well. It is not the answer to all problems. If coders force this into area where it does make any sense it will fail.

    4. Re:Ajax Q&A... the real one by grangerg · · Score: 1
      Weird.

      I tried something similar where, instead, I made an object to contain all the needed functionality. I hooked onreadystatechange up to a member function, but, when the event fired, the "this" reference didn't point to my object. From that, I figured that when the event fired, the context under which my function was running didn't know how to properly hookup the "this" reference.

      I'll try that approach. Thanks! =)

    5. Re:Ajax Q&A... the real one by Anonymous Coward · · Score: 0

      "And on a serious note: Who was the moron who made the onreadystatechange event handler? Why couldn't you just pass in a reference to the XmlHttpRequest object so people wouldn't be forced to use global variables to store the reference? Is that so hard?"

      See "XMLHttpRequest and Javascript Closures" - http://www.sitepoint.com/blog-post-view.php?id=171 725 - explains how to get round this.

    6. Re:Ajax Q&A... the real one by mjs · · Score: 1

      I don't understand why it's being called Ajax either; Ajax is an *approach* (like "environmentally friendly"), not a *thing*.

      Anyway, you don't need to save the request object in a global variable. Assign a closure to onreadystatechange:

      . // request is an XmlHTTPRequest object

      request.onreadystatechange = function() {
      if (request.readyState == 4 && request.status ==200) { // do something to request
      }
      };

    7. Re:Ajax Q&A... the real one by sugarboy · · Score: 1

      You can get around it this way:

      xmlreq.onreadystatechange = function() { someFunction(xmlreq,anythingelseyouwant); }

      Seems to work fine, but I'd much rather a nicer handler.

  64. ...why? by ciroknight · · Score: 3, Interesting

    The thing that's different about an AJAX application is that the application has no file system hooks. About the only things it could read datawise are cookies, and if you're that afraid of webobjects, you've probably already got them disabled and you probably have a hard time with even the simplest websites (read: slashdot).

    Note, this doesn't stop the annoyance factor. Those stupid flash ads will eventually become those stupid AJAX ads, as SVG matures into something usable, and people code more SVG-AJAX apps. But we've still got some time.

    Besides, AJAX could do some good. I could think of it as possible to build a quick and dirty AJAX application to check if the packages on a system are out of date (yes, re-inventing the wheel is bad, but if you're changing the whole framework, sometimes you have to). Or any of the other millions of applications Dashboard widgets are already doing today.

    --
    "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
    1. Re:...why? by asr_man · · Score: 1

      the application has no file system hooks

      How soon will it be before someone proposes that? CLICK...

      application to check if the packages on a system are out of date

      ...CLICK. Elapsed time, 13 seconds.

    2. Re:...why? by ciroknight · · Score: 1

      Difference between a client, web based application, and a client, client based application. My idea was a program like a Dashboard widget. AJAX is ***only*** web-based and will never have file system access.

      --
      "Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
  65. XML?? by Anonymous Coward · · Score: 0

    Why does everything these days have to involve xml??

    I am writing a website that searches bookings made, I have used this method to enable the results to be shown without reloading the page.

    My first attempt was using XML as the data returned from the server, then parsing this using javascript's DOM. Slow does not even begin to describe it....Then add in all those Mozilla/IE differences (in parsing DOM), and you have a horrible mess.

    I ended up sending out plain ol' csv to populate the tales, I know this is not applicable to every situation but 90% of them are better served with non-XML formats. Parsing the csv with 2 split() calls is very quick.

    Please please can we forget XML for everything but inter-business communication.

    I have told the PHB that it is XML because they want it sooooo much

  66. Why is JavaScript used instead of Java? by 3770 · · Score: 1

    Can someone enlightened tell me what the advantage is of using JavaScript over Java (with the assumption that Java would be installed on all machines)?

    And don't flame me for using Java and JavaScript in the same sentence. I know that they are two different languages.

    I'm guessing that the reasons are:

    1) Java is actually not installed everywhere.
    2) JavaScript is easier to get going with. You can use your existing web authoring environment and just add a few scripts that you copy paste from somewhere.
    3) JavaScript is more light weight.

    While, I understand these reasons, I think that they could have been overcome.

    I feel as if VHS beat Beta.

    --
    The Internet is full. Go Away!!!
    1. Re:Why is JavaScript used instead of Java? by davide+marney · · Score: 1

      Java offers a far richer programming environment than Ajax. Assuming that a suitable Java runtime is already installed on all machines, Java is an excellent choice for client application development.

      Ajax has traction now because it offers the same premise as Java ("write one, run anywhere"), and Javascript is deployed in a whole lot more applications than the Java runtime. Ajax is not nearly as robust as Java, but there are a surprising number of client applications that can be done with it, even so.

      For me, the boundry line is drawn around local write/execute access. If you need to write or run anything on the local PC, then Java's security model can handle the job, but Ajax cannot. Other people draw the boundry-line differently.

      I see Ajax as essentially a precursor to Java. It enables highly interactive interfaces, is simple to write, and runs everywhere. It works as long as all the data needs to stay on the server.

      Hope this helps.

      --
      "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
    2. Re:Why is JavaScript used instead of Java? by Anonymous Coward · · Score: 0

      they are completely different in how they work, you can't compare the two. in fact they only similar thing is the syntax.

      use javascript when you want to manipulate the client (webbrowser) directly, use java (applet) if you want to run an application in the browser (sim. to flash)

  67. Libraries? by Anonymous Coward · · Score: 0

    I read TFA, as well as O'Reilly's thick "JavaScript: The Definitive Guide", and I programmed a lot of JavaScript in the late 1990s.

    But I am still not sure how to start with AJAX. Is there a good codebase, library or framework from which to begin work? Or do I have to go back and read all those line-by-line analyses of Google Suggest JavaScript that made their way around the Web?

    In other words: Is there any way to get started with AJAX besides with a blank text doc and a browser?

  68. AJAX Usability Mistakes by skyhawk133 · · Score: 1

    AJAX is great and all, but it is going to turn in to the next Flash, being misused and abused by anyone and everyone. Alex Bosworth wrote an article a few days ago regarding the dangers of AJAX. The article can be found here. I agree with several of his points including problems with linking and the back button.

    Google did a great job using this technology, I have seen many others fail. Just cause it's there to use, doesn't mean it should be used.

  69. Ajax mistakes by afd8856 · · Score: 4, Informative

    Just today I was looking at this page It's a list of ten easy to do mistakes in Ajax apps. Some of them are not that easy to avoid...

    --
    I'll do the stupid thing first and then you shy people follow...
  70. Re:Choosing language by masklinn · · Score: 1

    You should stop smoking mate.
    HTML/XHTML are still the base languages of the web, Javascript should only be used to improve the user experience, and when it's well used the website is not supposed to break when javascript is not activated (*) (then again 90% of the websites out there use shitty javascript in a shitty way).

    Oh, and Javascript has always been the only scripting language that had a bit of cross-browsers compatibility (VBScript doesn't even come close), and the used server-side languages won't change.

    (*) This is the base law behind the Graceful Degradation principle, which is even extended in the theory of progressive enhancement design: nothing should be necessary but the base data [HTML/XHTML] of your website, you should be able to desactivate anything that is added on top (style, scripting, whatever) without any *major* drawback (aka loss of some ease/speed is okay, but inability to use the website is not)

    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  71. Yeah, But... by Greyfox · · Score: 4, Insightful
    You're still programming in a brain damaged environment. The browser provides a tiny fraction of what the entire system is capable of and a tiny fraction of the refinement of the programming interfaces that have been around since the '70's. The only way that programmers will be able to cope with these shortcomings will be to increase the scope of the browser until it pretty much becomes the OS. At which point we will have gone full circle.

    That being said, this does look like the least annoying of a lot of really annoying hacks to attempt to shoehorn stateful programming into an inherently stateless paradigm. Personally I think we should be rethinking the underlying infrastructure before we build too much on top of it.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Yeah, But... by Anonymous Coward · · Score: 0
      The browser provides a tiny fraction of what the entire system is capable of


      You can do just about anything you want GUI-wise right now. Anything that doesn't relate to the GUI happens on the server, where you are free to do whatever you want.
    2. Re:Yeah, But... by ClosedSource · · Score: 1

      "Personally I think we should be rethinking the underlying infrastructure before we build too much on top of it."

      I agree. Javascript was the first of many kludges invented to escape the limitations of HTML and HTTP.

      It would be much better if a new infrastructure were created that allowed browsers to implicitly handle common tasks that today require javascript programming.

    3. Re:Yeah, But... by Anonymous Coward · · Score: 0

      But perhaps the better way to look at it is that HTML and HTTP are kludges that are layered on top of regular network-based application programming that Javascript does well.

    4. Re:Yeah, But... by ClosedSource · · Score: 1

      Or you could say that network-based applications are kludges to allow applications to run remotely that would run better locally.

      But seriously, my point is that it doesn't make sense to write javascript code for nearly every application just because HTML and HTTP don't provide the needed functionality.

      Of course if we were going to skip the browser completely (as your comment hints) we'd better off using a compiled language than an interpreted one like Javascript.

    5. Re:Yeah, But... by drix · · Score: 3, Insightful

      You're missing the point: you don't need that complexity any more. Google Maps basically gives me the ability to use a $300 thin client to accomplish (some of the) tasks I do at work using a $5000 Xeon machine with $10000 worth of ESRI software to do at work. What's more, if Google comes up with some way to make Google Maps better, like, say, add satellite images, they implement that functionality overnight and have millions of users using it the next day. Compare with the release-patch-rerelease paradigm of old. I don't consider JavaScript and the browser and it to be a brain-damaged programming environment--you just have to remember that you are no longer expected to do any heavy lifting on the client side, and the majority of the GUI tasks are already handled for you by the browser itself. Most of the "refinment[s] in programming interfaces that have been around since the 70s" were to simplify those very chores. In that sense, the limited functionality provided by JS is really quite elegant.

      Also, emulating stateful-ness over the web is being handled at a much lower level than the browser these days, and to good effect. See Tapestry.

      --

      I think there is a world market for maybe five personal web logs.
    6. Re:Yeah, But... by scm · · Score: 1

      "You're still programming in a brain damaged environment. The browser provides a tiny fraction of what the entire system is capable of and a tiny fraction of the refinement of the programming interfaces that have been around since the '70's."

      It can't be as bad as VB.

    7. Re:Yeah, But... by Anonymous Coward · · Score: 1, Insightful

      But seriously, my point is that it doesn't make sense to write javascript code for nearly every application just because HTML and HTTP don't provide the needed functionality.

      Why? Behaviour is outside the scope of HTML and HTTP. HTML is meant to form documents into a structure and describe what each part of the structure means. HTTP is meant to transfer resources across a network. Neither of these things includes behaviour or interaction with users. Why do you want to glom it on?

      You might as well argue that HTML is redundant because HTTP should do everything HTML does, and HTTP is redundant because TCP should do everything that HTTP does, TCP is redundant because IP should do everything TCP does, and so on.

      Believe it or not, it does actually make sense to partition a particular problem space into multiple solutions. If we didn't do that, we'd have a single mega-protocol that nobody would ever implement.

      Of course if we were going to skip the browser completely (as your comment hints) we'd better off using a compiled language than an interpreted one like Javascript.

      Compile vs interpret is an implementation detail, not a property of the language. For example, Python is interpreted when you fire up the Python shell, but is compiled when you run an application from the command-line.

    8. Re:Yeah, But... by ClosedSource · · Score: 1

      "Behaviour is outside the scope of HTML and HTTP. HTML is meant to form documents into a structure and describe what each part of the structure means. HTTP is meant to transfer resources across a network. Neither of these things includes behaviour or interaction with users. Why do you want to glom it on?"

      If behavior was outside the scope of what people attempt with websites, I'd agree with you. The fact is that design of HTML and HTTP didn't anticipate the future uses of websites.

      "Believe it or not, it does actually make sense to partition a particular problem space into multiple solutions."

      Sure, but that's not what happened in this case. The problem wasn't partitioned into HTML/HTTP and Javascript. Javascript was added later to address the limitations of HTML/HTTP. That's why it's essentially a kludge: slightly ugly engineering that was added to address an unanticipated need.

      "Compile vs interpret is an implementation detail, not a property of the language. For example, Python is interpreted when you fire up the Python shell, but is compiled when you run an application from the command-line."

      We were talking about Javascript not Python. How many browsers support client-side compiled Javascript?

    9. Re:Yeah, But... by Anonymous Coward · · Score: 0

      If behavior was outside the scope of what people attempt with websites

      You've moved the goalposts. I was saying that behaviour is outside the scope of HTML and HTTP. I was not saying that behaviour is outside the scope of websites.

      The problem wasn't partitioned into HTML/HTTP and Javascript. Javascript was added later to address the limitations of HTML/HTTP.

      No. People made simple websites. People decided that they wanted to do more with websites. This expanded the problem area.

      We were talking about Javascript not Python.

      Do you understand the concept of an example? You said that Javascript was unsuitable because it was interpreted. I was pointing out that languages themselves are neither interpreted nor compiled, implementations are interpreted or compiled. In order to aid your understanding, I gave an example of Python, which is both compiled and interpreted.

      How many browsers support client-side compiled Javascript?

      You were talking about throwing away the browser altogether. Current browser implementations of Javascript are not relevent in the slightest in that respect.

    10. Re:Yeah, But... by ClosedSource · · Score: 1

      "You've moved the goalposts. I was saying that behaviour is outside the scope of HTML and HTTP. I was not saying that behaviour is outside the scope of websites."

      Actually behavior is not outside the scope of HTML and HTTP. If I click on a button in a form, the browser will perform a postback. That's behavior. If HTML included an optional attribute that allowed any element of a form to perform a postback without resorting to Javascript, it would be a behavior that would be essentially the same as clicking the button.

      "No. People made simple websites. People decided that they wanted to do more with websites. This expanded the problem area."

      It's a matter of opinion whether these additional capabilities should have been anticipated. But in any case you support my argument. If these additional capabilities were not part of the orginal problem area, than then those functions assigned to Javascript were not done for the purpose of good partitioning, but rather because HTML/HTTP were not capable of supporting them.

      Some common scenarios that Javascript is used for would be more effectively handled declaratively. It doesn't mean that Javascript is bad, only that if you were designing everything today, you probably would allocate functionality differently.

      "You said that Javascript was unsuitable because it was interpreted. I was pointing out that languages themselves are neither interpreted nor compiled, implementations are interpreted or compiled. In order to aid your understanding, I gave an example of Python, which is both compiled and interpreted."

      You take a rather narrow view of computer languages. Technically you can't perform I/O in the classic C language, but it doesn't matter because the standard library suppports it. So the line between a language and its implementation is not as clear cut as you may believe. I don't find this sort of argument to be of much practical value.

      If in theory a particular language can either be compiled or interpreted that's great, but implementations are required to do real work. The fact that Python is both compiled and interpreted and Javascript is only interpreted (in practice) is quite relevent to what language we might choose.

    11. Re:Yeah, But... by Brendan+Eich · · Score: 1
      we'd better off using a compiled language than an interpreted one like Javascript.

      Do you mean compiled to machine code, or to an interpreted bytecode? Do you know what you are even talking about?

      Clue #1: Traditional Python is compiled to an interpreted intermediate form, not to machine code.

      Clue #2: JS in Mozilla clients is compiled to bytecode, which is interpreted.

      Clue #3: JS in some browsers is compiled to IL which may be JITted. Does that make such a browser one whit better for end users? Time will tell, but I doubt the answer has anything to do with "compiled" vs. "interpreted".

      The JS interpreter in Mozilla has *never* been on the critical path of the schedule for any particular high latency user-initiated task.

      Do you have enough clues yet?

      /be

    12. Re:Yeah, But... by ClosedSource · · Score: 1

      I'm happy that you know so much about program translation and that I afforded you the opportunity to apply that knowledge to that most noble goal of computer science: insulting someone you disagree with on Slashdot.

      I will resist the temptation of implicitly insulting you by explaining what my statement meant when the meaning is quite obvious, because I believe you understood it the moment you read it.

    13. Re:Yeah, But... by Brendan+Eich · · Score: 1
      You wrote:
      We were talking about Javascript not Python. How many browsers support client-side compiled Javascript?
      Just answer the question: by "compiled" do you mean compiled to machine code? If so, then your "not Python" was nonsense, since the dominant Python implementation does not compile to machine code.

      Please say exactly what "compiled" meant in your earlier posts, and why it was important in your earlier posts.

      /be

    14. Re:Yeah, But... by ClosedSource · · Score: 1

      We weren't talking about Python Period. It doesn't matter whether it was compiled, interpreted or shredded.

      OK so I can keep the CS Gods happy I'll rephrase my original point:

      If we were starting from scratch, I believe it would be better to choose a language that has a compiled implementation and to use said compiled implementation instead of an interpreted implementation because at present the evidence indicates that compiled implentations run faster than the interpreted ones. JavaScript doesn't have any well-known (possibly not any) compiled implementations, so I don't think it would be a good choice.

      Now was that sufficiently pedantic for you?

    15. Re:Yeah, But... by Brendan+Eich · · Score: 1
      We weren't talking about Python Period. It doesn't matter whether it was compiled, interpreted or shredded.

      You can't even keep your own shoddy, fallacy-ridden argument straight.

      In http://slashdot.org/comments.pl?sid=150560&cid=126 36090, you wrote "We were talking about Javascript not Python" as if there were a difference. Since the dominant implementation of Python does not compile to machine code, it is not different in kind from JS.

      It's as if we were arguing about whether the internal combustion engine was too low-powered compared to a jet engine for a certain application involving roads and moderate speeds, and you said "we were talking about BMW not Saab". BMW and Saab both make cars that perform fine on roads at moderate speeds. The fact that both BMW and Saab can produce (or have in the past produced) jet engines proves nothing about whether the application we were arguing about requires jet engines.

      Then in http://slashdot.org/comments.pl?sid=150560&cid=126 47749 you wrote "The fact that Python is both compiled and interpreted and Javascript is only interpreted (in practice) is quite relevent to what language we might choose."

      This shows more confusion. Python is not used in a compiled-to-machine-code way by most people, and the existence of IronPython and other compiling or JITting implementations does not say anything about whether a browser scripting language must be compiled. What's more, JavaScript can be and is compiled to machine code in some settings (.NET). That too proves nothing one way or the other about the compiled vs. interpreted requirements on browser scripting languages.

      Now was that sufficiently pedantic for you?

      It was finally sufficiently clear and direct for me to conclude that you don't know what you are talking about.

      There is zero "evidence" (I invite you to produce some to the contrary) that interpreted languages are "too slow" for scripting tasks, including JS in web browsers.

      As I wrote earlier, the Mozilla JS engine has never shown up dominating the critical path of any user-level task. It can start to show up in heavy DHTML profiles, but even then it's almost always second to the DOM native code that it is calling, which is the critical path blocker. Thoughtful analysis of these DHTML profiles shows not that we need to compile JS, but that such DHTML hard cases need better graphics primitives, so they don't have to use div tags and scripted CSS positioning for lots of few-pixels-wide sprites.

      All other major browser implementations use the same level of JS interpretation (bytecode) or an even less efficiently-compiled level (parse tree walking), from what I have learned talking to closed source (MS, Opera) colleagues, and looking at other open source (Apple) browsers.

      The fact is (to return to the analogy you invited) that you don't need a jet engine to get from point A to point B in town, and asserting or implying over and over that jet engines are faster than internal combustion engines doesn't prove anything about the requirements of the application (getting around town, or browser scripting languages) over which we were arguing.

      Compiling can be faster than interpreting -- but may not be, for very short programs that execute zero to a few times. Did you ever consider this case, which arises often in JS embedded in HTML? Apparently not.

      Web browser scripting does not require compilation to machine code in general. Sophomoric arguments of the form "compiled is always faster than interpreted, faster is always better" are false on at least two counts.

      /be

    16. Re:Yeah, But... by ClosedSource · · Score: 1

      "you wrote "We were talking about Javascript not Python" as if there were a difference."

      So your argument is that there is no difference between Javascript and Python?

      There is zero "evidence" (I invite you to produce some to the contrary) that interpreted languages are "too slow" for scripting tasks, including JS in web browsers.

      Oops you used the phrase "interpreted languages" that I got dinged for. I'm not sure what you mean by "scripting tasks" so I could hardly be making any claims about them. Are those tasks that don't need to run fast?

      "Sophomoric arguments of the form "compiled is always faster than interpreted, faster is always better" are false on at least two counts."

      Of course I never claimed that as you well know. You have a talent for distorting arguments and setting up straw ones, but I'm tired of playing.

    17. Re:Yeah, But... by Brendan+Eich · · Score: 1
      Quoting from my post, the grand-parent of this one, in full:
      In http://slashdot.org/comments.pl?sid=150560&cid=126 36090 [slashdot.org], you wrote "We were talking about Javascript not Python" as if there were a difference. Since the dominant implementation of Python does not compile to machine code, it is not different in kind from JS.

      Now you have the nerve to quote selectively and try the freshman-law-school trick of putting your misquoted words in my mouth. I'll write this only once more: JS and Python do not differ in their commonly-used implementations being "interpreted" (not compiled to machine code) -- that's exactly what I said explicitly, quoted above.

      So *of course* I am not saying that there is no difference between two commonly interpreted programming languages. Somehow I doubt you are this dense, but the alternative interpretation makes you a troll. Give me a better choice.

      You certainly did claim, in the post at http://slashdot.org/comments.pl?sid=150560&cid=126 25420, that any programming language required where HTML and HTTP aren't sufficient should be "compiled". Here's the full quote:

      But seriously, my point is that it doesn't make sense to write javascript code for nearly every application just because HTML and HTTP don't provide the needed functionality.

      Of course if we were going to skip the browser completely (as your comment hints) we'd better off using a compiled language than an interpreted one like Javascript.

      True, you never bothered to say "speed" when going on in this and other posts (replying to an a.c. who grew as impatient as I have with your evasive vagueness), in answer to the question begged by your assertion that a language's practical implementation being compiled was "quite relevent to what language we might choose". If you were not saying "compiled" for speed, then for what other benefit of compilation over interpretation?

      /be

    18. Re:Yeah, But... by ClosedSource · · Score: 1

      "Now you have the nerve to quote selectively and try the freshman-law-school trick of putting your misquoted words in my mouth."

      You're half right. I didn't misquote you but I didn't quote everything you said either. I guess it wasn't entirely fair although I think the sentence I quoted cannot be entirely redeemed by what follows. It's also a well-known trick to make an absolute statement for effect and then water it down to CYA. Only you know if that was the case here. I'm done with Javascript vs. Python argument. You can delcare victory if you want.

      My original point was that there were common activities that take place in web applications that today have to be done through JavaScript becuase HTML and HTTP didn't anticipate their usefulness. For example, performing a post back on a change to an element rather than clicking on a submit button. It would be much better if you could use an attribute to add this behavior to an element rather than having to write Javascript code (or code in any other langauge). So a new suite of standards could over this kind of functionality.

      Then somebody implied skiping the browser completely and in that context I thought speed would be important and that a compiled language (I should have said a compiled implementation) would be better. I didn't say that speed was always better. Note in this context I'm not taking about merely implementing a GUI or initiating a postback, I'm talking about the entire application.

      I don't have any opinion frankly about Javascript's speed in the context of today's web browsers.

  72. Re:widget set - Try Konfabulator by Anonymous Coward · · Score: 0
    With Konfabulator, you can build cross-platform (no Linux yet) desktop widgets...

    Say that agine with a straight face.

  73. MOD PARENT UP by celerityfm · · Score: 0, Flamebait

    Yes mod the parent up. The confusion between Javascript and Java is never ending.

    There is one thing for sure though... nothing will finally deliver what Java promised. It's dead Jim.

    JavaSCRIPT on the other hand...

    --
    ...unfortunately no one can be told what The Mat^H^H^HGoatse is...they must experience it for themselves...
    1. Re:MOD PARENT UP by Surye · · Score: 2, Insightful

      Is all of slashdot completely retarded this morning? No one confused Java and Javascript as the same thing. They mearly compared the big picture of AJAX and Java, which is portable clientside applications.

      Oh, and "There is one thing for sure though... nothing will finally deliver what Java promised. It's dead Jim. JavaSCRIPT on the other hand..." So, you're saying Javascript on the other hand... may fill that promise? Like the summary says? =D Stop coming to Slashdot please.

    2. Re:MOD PARENT UP by celerityfm · · Score: 1

      NO U.

      Heh. No seriously, don't you think that samuel4242's comments might be read that way? I was merely suggesting the parent be modded up to insure that people don't take it that way and also to take an unfair jab at Java. :P

      --
      ...unfortunately no one can be told what The Mat^H^H^HGoatse is...they must experience it for themselves...
  74. Oh right. by kahei · · Score: 1


    Like in .NET.

    --
    Whence? Hence. Whither? Thither.
  75. Reinvigorates? by Schnapple · · Score: 2, Funny

    I guess AJAX reinvigorates Javascript. It's a perfectly cromulent term. It sure did embiggen Google Maps

  76. I guess you're living under a rock? by Anonymous Coward · · Score: 0

    Messing around with XMLHTTP has already been possible for several years.

    I don't see why this should be newsworthy. Is it that since Google uses it, XML with JavaScript is bright and shiny again? Or is it just that it finally has a name which can be pronounced by laymen?

    1. Re:I guess you're living under a rock? by swdunlop · · Score: 1

      No, it's newsworthy that the PHBs are noticing this. If it's in InfoWorld, it might mean when I mention this sort of thing to a client, they are less likely to start in with the "But it won't work on !"

  77. 'location' out of sync with view by ewg · · Score: 1

    One issue with Java or Flash applets that seems to also occur with AJAX applications is browser location getting out of sync with what the user sees as they manipulate the application.

    That doesn't matter in the context of a single usage session, but if the user attempts to save their place with a bookmark or share what they've found by linking, they may fail. Their bookmark or link may reflect the URL of their entry point rather than the information they were looking at when they tried to "save" their place.

    Google Maps has a special "Link to this page" link which resets the browser's location to reflect your manipulation of the map. If you bookmark/link without this step, your bookmark/link won't reflect your most recent scolling and zooming on the map.

    The Back button can also be problematic for the same reason, if people start using it as a kind of Undo.

    AJAX is extremely cool, but like anything else you need to know its pitsfalls and limitations.

    --
    org.slashdot.post.SignatureNotFoundException: ewg
  78. Thoughts on code security by Minute+Work · · Score: 0, Offtopic

    Not too offend the open source community, but how exactly do you secure your codebase if your web-applications functionality is downloaded to the client (browser)? One of the features of server side applications that are so common on the web is the fact that only your presentation layer is presented to the end-user and your applications business processes is handled on the server.

    Is it the same paradigm as applets in that your applet can still communicate with the server from whence it came to allow the server to handle business logic processing?

    Speaking of applets, I still prefer their structured code format. I never liked working with javascript because there were so many different ways to do the exact same thing in javascript and it made getting all the developers on the same page, so that you are writing consistently formatted code, a bit more difficult... which leads to hard to maintain code... which, of course, leads to the dark side.

    I looked at the generated Javascript for Google Maps and was completely daunted. Time to dust off the text books.

  79. A trivial Ajax example by davide+marney · · Score: 1

    Ajax is a very simple technique. Here is a trivial example, with an HTML Client, an Ajax class library, and a PHP-based server. Click the button, and the server tells the Ajax engine to redraw a portion of the page.

    The trivial Ajax HTML Client:

    <html>
    <head>
    <script src="AjaxClass.js" type="text/javascript"></script>
    <script type="text/javascript">
    function ajax(method,argv) {
    var session = new AjaxClass();
    session.getURL("server.php","method="+method+"&arg v="+escape(argv));
    };
    </script>
    </head>
    <body>
    <div id="componentA">
    <h1>This is Component A</h1>
    </div>
    <p>
    <input type="Button" value="Click Here" onclick="ajax('this_method','id=componentA');">
    to replace Component A with text from the Server.
    </p>
    </body>
    </html>

    The Trivial Ajax Class (AjaxClass.js):

    This class provides a wrapper for the XMLHttpRequest object, and handles some browser-specific implementation issues. It is a simplified version of the excellent DataRequestor Class, copyright 2005, Mike West, http://www.mikewest.org, Licensed under the CC-GNU LGPL, http://creativecommons.org/licenses/LGPL/2.1/.

    function AjaxClass() {

    var self = this;
    this.getXMLHTTP = function() {
    var xmlHTTP = null;
    if(typeof ActiveXObject!="undefined") {
    xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP")
    } else if(typeof XMLHttpRequest!="undefined") {
    xmlHTTP = new XMLHttpRequest()
    }
    self._XML_REQ = xmlHTTP;
    return self._XML_REQ;
    }
    this.getURL = function(url,qs) {
    self._XML_REQ.onreadystatechange = self.callback;
    self._XML_REQ.open("POST","server.php", true);
    self._XML_REQ.setRequestHeader('Content-Type','app lication/x-www-form-urlencoded');
    self._XML_REQ.send(qs)
    return true;
    }
    this.callback = function() {
    if (self._XML_REQ.readyState == 4 && self._XML_REQ.status == 200) {
    try {
    eval(self._XML_REQ.responseText)
    } catch (e) {
    alert("Error in returned JavaScript:\n\n" + self._XML_REQ.responseText);
    }
    } else if (self._XML_REQ.readyState == 4) {
    throw new Error("Data Request failed with an HTTP status of " +
    self._XML_REQ.status);
    }
    }
    if (!this.getXMLHTTP()) {
    throw new Error("Could not load XMLHttpRequest object");
    }
    }

    The Trivial Ajax Server (server.php):

    <?PHP

    $method = $_REQUEST['method'];
    parse_str($_REQUEST['argv']) ;

    /*
    Some processing would take place here ... */

    $response = 'document.getElementById("'.$id.'").innerHTML="<h1 >You called method \"'
    .$method.'\" on the Server</h1>";';

    header('Content-Type: text/javascript');
    header("Content-Length: " . strlen($response));
    echo $response;
    ?>

    --
    "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
  80. new age of ignoring standards + inaccessibility by Anonymous Coward · · Score: 0

    again. javascript should be confined to alter style NOT content. else you exclude old browsers, phones and text only browsers.

    just when i was feeling i could get to most sites in links safely - only one person arrested this year for donating to a charity in a text-only browser.

  81. AJAX (tm) by Teknikill · · Score: 1

    Ajax is a trademark held by Colgate-Palmolive. Any use of it will probably provoke the giant.

    It's ok that there's a new buzzword for everyone to use, but it's taken. Pick another! Perhaps Jesse Garrett should have used TESS the trademark search engine.

    1. Re:AJAX (tm) by bogaboga · · Score: 1

      Ajax is also a city in Ontario CANADA!

  82. Mozilla, XUL and Javascript is better than AJAX by tvlinux · · Score: 2, Interesting

    Mozilla/Firefox browser uses a XML interface that is better than HTML called XUL. All the extensions for Firefox use XUL and Javascript. But signed XUL&Javascript Apps can be server over the web also. Why not use a better interface language than HTML? Yes it is not compatible with IE, but for better specialized applications it would be work.

  83. AJAX is cool, but doesn' it seem hackish? by Anonymous Coward · · Score: 0

    I've played around with AJAX, and gotten it to do things I never though were possible, but I can't help but feel that it seems like a hack. I haven't been willing to put it into a production environment because I know that some customer will be using a browser that doesn't support it, or have javascript disabled. We keep adding layer upon layer onto HTTP to get it to do things that it was never meant to do.

    With as much clout as google has, I wish they would come up with some new thin-client technology built from the ground up to do the sort of stuff they're using AJAX for--something that's not proprietary (Macromedia anyone?), but instead an agreed upon standard that isn't a bitch to use or implement (like SVG).

  84. AJAX is not the end all... by eno2001 · · Score: 4, Funny

    ...and be all of client side scripting. There is another...

    BLEACH (Bloatware + Leanware + Emacs + (x86) Assembly + C + Heroine) has been working wonders for my development. I usually start the day by shooting up in my office, then I start up all of the Office apps (bloatware) on my co-worker's PC to slwo him down. After that, I load up ACIDWARP.EXE (leanware. No DLLs, libs, nothing, jst one EXE and it's small for what it does) on my boss' PC which stuns him for a few hours so he can't keep track of what's going on in the office (usually play Purple Haze in the background). I then open up Emacs on my box and set to work redesigning everything (Screw WYSIWYG. It's overrated.) I also write a lot of my CGI in assembly language to keep the resource usage low and the code tight. C, when it's needed, which is almost never because of how well I can do things in assembly. And finally, another serving of heroine to keep the Jedi Mind tricks fresh. So far, this plan has worked so well, that I've been shuffled through about 70 different companies this year alone. My talents are in demand!

    --
    -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  85. please be more specific by cahiha · · Score: 1

    Can you explain what you think Ruby on Rails does that is so great, and I don't see it. I looked at the web page, I looked at a tutorial, and it looks fairly cumbersome to me (starting with the fact that any RoR project seems to involve a minimum of 12 subdirectories).

    One aspect to RoR seems to be support for MVC and Ajax, but it doesn't seem to be implemented in a way that I would consider straightforward or that I would want to use.

    1. Re:please be more specific by Jellybob · · Score: 1
      I thought exactly that until last Thursday.

      I'm now about to finish my first commercial project on it.

      It's biggest features are ActiveRecord, which makes database interfacing so easy you'll wonder if you did something wrong - the following code is taken from the project I'm working on, and does everything needed to allow reordering of pages based on a position field, and which will refuse to save if it's missing things.
      class Page < ActiveRecord::Base
      acts_as_list

      validates_presence_of :name, :message => "has to be provided."
      validates_uniqueness_of :name, :message => "is already in use."
      end
      And this will display said page, format it, and provide an edit link that replaces the content with a form to edit it.

      <div id="main">
      <%= markdown(@page.text) %>
      <% unless auth? %>
      &ltdiv class="editlink">
      <%= link_to_remote "Edit", :url => { :action => "edit_text, :id => @page.name }, :update => "main" %>
      <% end %>
      </div>
    2. Re:please be more specific by swimmar132 · · Score: 1

      FYI,

      I found it useful to have a 'admin_edit' helper that checked to see if a user was logged in and had access to whatever they wanted to edit, and if they were, to display the edit/delete link. It helps a lot cleaning up the views.

    3. Re:please be more specific by ceejayoz · · Score: 1

      Can you explain what you think Ruby on Rails does that is so great, and I don't see it.

      You can have a basic database driven dynamic site up in five minutes with five lines of code - and only one of those typed yourself.

    4. Re:please be more specific by Anonymous Coward · · Score: 0

      In Visual Studio, I can get an MFC application up in 1 minute with no lines of code, and that still doesn't make MFC a nice or easy-to-learn toolkit.

    5. Re:please be more specific by cahiha · · Score: 1

      Isn't that basically like Zope without the web-based IDE?

    6. Re:please be more specific by LizardKing · · Score: 1

      You can have a basic database driven dynamic site up in five minutes with five lines of code - and only one of those typed yourself.

      And then you try to implement something non-trivial, and find your brain melting as you struggle with Ruby and RoR's syntax. At least I did.

  86. Stop Spreading the Meme! by clmensch · · Score: 1

    The Adaptive Path web consultancy is making good progress in spreading the "AJAX" meme. Please do not give them indirect credit for "creating" something that has been around for a while just because they came up with a freakin' buzzword. What is this, the 90's? This just reeks of a marketing strategy...so typical of consultants.

    (This is a repeat post...I hate it when this term gets greenlighted by Slashdot admins. It's almost as if they're paid to promote Adaptive Paths concepts.)

    --
    There is no gravity...the earth just sucks.
  87. Google maps by pair-a-noyd · · Score: 1

    or most any other google goodies just don't play
    in konqueror.

    You either get an "unsupported browser" message or it just locks up tight if you try to change the browser ID..

    I hope KDE gets this fixed. I hate to have to keep going back and forth between Konq and firefox.

    There are many things I don't like about each of the two browsers. If they could both work it out and take the best of both browser and combine them into one, they could slaughter all the other browsers..

    But for now, forget google goodies and konqueror...

  88. Standardization: Flash, Java, AJAX by arete · · Score: 3, Informative

    It's quite possible to build powerful crossplatform applications for the web now - in Flash, Java or AJAX.

    One way is AJAX. To make it work well, you essentially have to write a version of the page for each major browser - which is a lot of work. Of course, there are development tools that make this substantially easier. It is by far the most seamlessly integrated with the BROWSING experience, but is less suited than Flash or Java for real applications - like a game or any other datadriven mouse-interactive thing. I don't believe there is no OOP Javascript in a browser.

    Another way is Java applets. Java has the advantage that lots of programmers learn it to do nonapplet Java work. The big disadvantage is that a big part of the installed userbase has broken M$ Java engines, and it's generally impossible to install a Java engine without computer-admin privs (as opposed to "browser admin" privs)

    The final way is Flash MX 2004 or Flex. Like Java applets, it is a fully featured OOP programming language (Actionscript) It expects to deal with server information, and can innately request data from mostly-arbitrary SOAP Web Services. It also works innately on OSX, Windows and i386 Linux in most all browsers and on a variety of small devices. It doesn't work on more obscure platforms, however, and it's not OSS so it can't be ported by just anybody.

    Summary: If you want to a supercharged browser experience, use AJAX. If you want an application that "just happens" to be projected over the web, use Flash.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
    1. Re:Standardization: Flash, Java, AJAX by Paradox · · Score: 1
      One way is AJAX. To make it work well, you essentially have to write a version of the page for each major browser - which is a lot of work. Of course, there are development tools that make this substantially easier.
      One such tool is the ever growing and popular Prototype Library. Cross platform, has eye candy, Ajax and a good OO interface.
      but is less suited than Flash or Java for real applications
      Err, what? Unless you have some truly intense UI requirements (spreadsheet, for example), it's good for most online applications. Unless of course you want smoothly animated rollovers (eye candy) or punch-the-monkey games.
      - like a game or any other datadriven mouse-interactive thing. I don't believe there is no OOP Javascript in a browser.
      I can only guess at what your mangled sentance is saying. Either you're implying that browsers do not use OO methods in their JavaScript implementation, or you're implying that OOP is inferior for said applications (data driven or games).

      Both are false. JavaScript is a prototype-based language, which means it's as OO as a langugae can get. JavaScript is as OO as Smalltalk, Self, and Ruby, and moreso than Python, Java or C++. OOP is a sound technique for developing data-driven designs and for developing games. Don't believe me? Check out the game code for any modern game, especially around the physics and rules enginers. Objects everywhere.

      --
      Slashdot. It's Not For Common Sense
    2. Re:Standardization: Flash, Java, AJAX by Anonymous Coward · · Score: 0


      One way is AJAX. To make it work well, you essentially have to write a version of the page for each major browser - which is a lot of work.


      That's a vast overstatement First there's only two browsers on the market that most commercial sites care about IE and FF/Moz. And both support the DOM and XMLHTTPReqquest, the difference for the XMLHTTPRequest between the two browsers is literally about 3 lines.

      The old days of writing these types of apps completely differently for each browser are long gone.

      Java applets suck they're slow and ugly

      Flash is a good alternative. The difficult part is making them database driven and flexible. Development time is also an issue.

    3. Re:Standardization: Flash, Java, AJAX by Anonymous Coward · · Score: 0

      Know your English: sundance != sentence.

    4. Re:Standardization: Flash, Java, AJAX by tjmcgee · · Score: 1
      Both are false. JavaScript is a prototype-based language, which means it's as OO as a langugae can get. JavaScript is as OO as Smalltalk, Self, and Ruby, and moreso than Python, Java or C++.
      While I agree completely with the sentiment of the rest of your post. I have to sort of disagree with this line. One thing javascript is sorely missing is the ability to create and broadcast custom events from custom objects. This makes it difficult if not impossible to create object oriented applications using MVC and many other OOP design patterns.
    5. Re:Standardization: Flash, Java, AJAX by arete · · Score: 1

      I meant "real application" in the traditional programming sense generally of "a complete program that does a bunch of things, etc... " , not in the traditional nonprogramming sense of "a way to apply something usefully" plenty of AJAX stuff is useful.

      So "like a spreadsheet" is pretty much exactly what I mean.

      Sorry for the other typo. I'm definitely pro-OOP. I meant that to my knowledge browser-javascript OOP is difficult and broken where it exists.

      --
      Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  89. AJAX creates some interesting UI design issues by enrico_suave · · Score: 1

    this a pretty neat article about some things to keep in mind when designing a UI with AJAX

    It seems that user interaction activities like "saving", can run counter to the way people have been trained to use web sites. People don't believe an action took hold if it happened to quickly. The author of the article linked above actually had to slow down and give lots of visual response to indicate the user's data actually saved (or the user would repeatedly click "save" thinking nothing had happened).

    It's not a bad thing, it's just an example of some of the new user design challenges AJAX presents at the same time it gives us a new approach to getting near synchronous web-UI response.

    And just for giggles get your AJAX pixel fight on

    e.

    --
    Build Your Own PVR/HTPC news, reviews, &
  90. It's still a kludge by Anonymous Coward · · Score: 2, Insightful

    Even with AJAX, web-based applications are still giant kludges. HTML forms is a kludge put together quickly to make web pages interactive. It's still missing basic elements like combo boxes and modal dialogs. Javascript is the same thing, a kludge that some people try too hard to make into a real programming language while keeping it backwards compatible.

    If you want to make real applications using browsers, you need to come up with native support for many more GUI elements, and you need to come up with a scripting language that is robust and geared towards programmers, i.e. totally unlike javascript. Create these two parts with no concern for backward compatibility, stop asking web "designers" to implement interactive applications, and you will have the start of real web-based applications.

    1. Re:It's still a kludge by maxume · · Score: 1

      Lots of people say that modal dialogs are a mistake and that they shouldn't be used. I don't know who, but they are saying it.

      As far as javascript goes, it is really fairly modern and quite complete. The lack of any sort of standard library is a problem, but there isn't really any reasonable mechanism for one anyway. Check out: http://www.crockford.com/ and specifically http://www.crockford.com/javascript/little.html. Also see http://www.squarefree.com/bookmarklets/. Both of these sights are examples of good use of javascript, and both go quite beyond the hackish crap that comes to mind when many people think of javascript. Ok, so maybe the stuff on crockford.com isn't super useful, but it does serve to demonstrate what js is capable of.

      --
      Nerd rage is the funniest rage.
    2. Re:It's still a kludge by Anonymous Coward · · Score: 0

      Lots of people say that modal dialogs are a mistake and that they shouldn't be used.

      Hmm, considering that most browsers (if not all) use modal dialogs (hint Preferences/Options/etc), it's a bit hypocritical for them to not also provide the same facility to the programmer just because they believe it's a mistake.

      But then again, I don't think you have much of a reading comprehension replying to my comment with stuff about "good use of Javascript" and hacks. Who cares whether it can be used well or not, hell I've made good use of Fortran 4. The problem isn't the programs people write in Javascript, the problem is Javascript itself is a kludge.

    3. Re:It's still a kludge by NutscrapeSucks · · Score: 1

      Internet Explorer lets you create modal dialogs -- window.showModalDialog().

      [And before anyone says anything about extend-n-embrace, the entire window object is non-standard.]

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    4. Re:It's still a kludge by dubl-u · · Score: 1

      Create these two parts with no concern for backward compatibility, stop asking web "designers" to implement interactive applications, and you will have the start of real web-based applications.

      Sounds great. Let me know when you finish. In the meantime, I have things to ship.

    5. Re:It's still a kludge by Anonymous Coward · · Score: 0

      Hmm, considering that most browsers (if not all) use modal dialogs (hint Preferences/Options/etc), it's a bit hypocritical for them to not also provide the same facility to the programmer just because they believe it's a mistake.

      What kind of boneheaded comment is this? Browsers do a lot of things that websites shouldn't. For example, writing to disk. Is it also hypocritical to disallow websites from writing to disk when the browser does it itself? Of course not!

  91. Re:widget set - Try Konfabulator by Anonymous Coward · · Score: 1, Insightful

    More functional? Dashboard widgets have the complete OS X toolkit available - you can hook into anything. Konfabulator is javascript only. Try again.

  92. Javascript is the W3C's best friend. by Anonymous Coward · · Score: 0

    "You can do a lot of the same types of things with Ajax as you can with Flash, but with the overhead of Flash, and without requiring that your users install Flash, and/or use a Flash-enabled browser. "

    Except agree on standards. That's one of the reasons Flash took off. Anyway JS with all the other W3C standards is were the action is going to be. JS+XHTML,JS+SVG,JS+XFORMS,etc.

  93. Anyterm by krabbe · · Score: 2, Interesting

    Very cool demonstration of what AJAX can do for interactive web applications: Anyterm - an ssh-like web-based terminal that doesn't rely on a java applet. Needs apache2 to run, though. Also, have a look at "livepage," which is part of the asynchronous python web development framework called nevow.

  94. Java Web Start by thaneross · · Score: 1

    First of all, Java on the client-side tries to solve a completely different set of problems than AJAX does. Java's goal is to provide a platform independent way of running rich applications. It provides its own libraries, UI toolkit(s), client-side business logic, and is self contained inside a virtual machine. AJAX on the other hand is just a cleaver way for browsers to provide asynchronous communication with servers. It provides nothing that JavaScript can't do already, it just spares you from having to submit a form every time you need to push/pull data.

    Now, as for providing an easier method of deploying rich applications, take a look at Java Web Start. Applets are frankly awful; they're slow to load, have limited functionality, and sit inside a browser window (which is NOT where a desktop app belongs). Web Start solves this by providing an extremely simple deployment and update model, while maintaining the user experience only a rich app can.

    1. Re:Java Web Start by Anonymous Coward · · Score: 0

      Java's "goals" were embodied in applets for the longest time and jhtml then jsp version 1, servlets, etc. So please don't try to pretend that "Java on the client-side tries to solve a completely different set of problems than AJAX does" because that is attempting to re-write history.

      Java failed in attempting to solve those problems with those tools during that timeframe. JWS is an attempt to fix some of that; unfortunately most people see it as too little, too late. And I have release 3 JWS projects that were/are used in production.

    2. Re:Java Web Start by thaneross · · Score: 1
      ...please don't try to pretend that "Java on the client-side tries to solve a completely different set of problems than AJAX does...
      Sorry, but this is nonsense. You seem to misunderstand the problem each technology is trying to solve. The scope of AJAX is limited to making web-apps more responsive. It provides NOTHING DHTML can't already do except removing the need to submit a form. The real issue at hand here is web-apps vs. rich-apps which in the real world have different goals.
    3. Re:Java Web Start by Anonymous Coward · · Score: 0

      To be fair, "faceless" java applets have been used for async browser communication since the dawn of Java.

  95. ...what Java promised? by mnmn · · Score: 1

    "Perhaps AJAX will finally deliver what Java promised"

    Java IIRC promised something else.

    AJAX might deliver what Javascript promised.

    Lost count how many times I've had to explain the difference.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  96. Re:Choosing language by Jeff+Hornby · · Score: 2, Insightful

    The problem with the Graceful Degradation principle is that it makes the same assumption that the designers of HTML made: the only thing people are going to want to do on the web is publish books.

    When you're trying to create a full-fledged application on the web, base HTML just doesn't cut it. Hell, even for most websites, Basic HTML doesn't cut it.

    The problem is that HTML was never really thought through. Creating sites in HTML (or any derivatives like XHTML) just doesn't work. HTML is a good model for the Gutenberg project but a bad model for everything else.

    What we really need is a new language that has nothing to do with HTML that can create complex interactions. Unfortunately that doesn't seem to be happening. Even movements in that direction like XAML borrow too much from HTML.

    --
    Why doesn't Slashdot ever get slashdotted?
  97. iPod + AJAX = Buzzword Heaven by aftk2 · · Score: 1

    One thing I've found is that AJAX can be a very nice way to easily deliver random content to a user. Witness this:

    The iPod bartender shuffle.

    Choose your categories, and the notes are loaded seemlessly, and displayed onscreen. Then you can download a zip file.

    (Oh, and I do agree with the goofiness of this terminology. Flash remoting? Invisible iframes? Anyone remember these? Bueller?)

    --
    concrete5: a cms made for marketing, but strong enough for geeks.
  98. Re:Choosing language by larry+bagina · · Score: 1

    IE also supports client-side VBScript. The only time I've seen it used is in IIS's remote control pages and dynamic code generated by javascript specifically for IE (to check for Flash player, etc).

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  99. Re:JavascriptS is not java by celerityfm · · Score: 1

    "Slow to catch on" eh? No pun intended?

    --
    ...unfortunately no one can be told what The Mat^H^H^HGoatse is...they must experience it for themselves...
  100. Wrong (RTFA) by ad0gg · · Score: 1

    A ajax is based off of XMLHttpRequest which is not standardized, firefox cloned Microsoft's ActiveX XMLHttpRequest object. XMLHttpRequest will eventually make it into the DOM, well hopefully. There's been discussion on the mailing list about it.

    --

    Have you ever been to a turkish prison?

  101. Ajax portal by Anonymous Coward · · Score: 0

    A great site for Ajax is http://dev.fiaminga.com/ It is a Ajax portal with plenty of links.

    There is an article of the use of Ajax for distributed computing. Really refreshing.

  102. As a developer... by esconsult1 · · Score: 1
    ... it has been great for some of my sites.

    We've been able to add a "Live Search" to This food and nutrition database search that is extremely responsive (Swish++ used on the back end to conduct searches).

    We've also used it over at celebrity flicker for when visitors add tags to celebrity images, bookmark images to their account, and add comments to the discussion. It allowed us to make an interface that did not break the back button functionality while doing significant activity on the current page.

    The guys over at JPSPAN are to be commended for their work on an easy to use library that works well with PHP.

  103. Re:AJAX + JSON = Powerful combination Oh, and I by davidsyes · · Score: 1

    thought...

    Ajax and Jason combine forces to rid the world of evil SCUM... (like certain (among but not all of) politicians, world figures, rogue secular/organized religious zealots, baby snatchers, paedophiles, embezzlers, larsonists, arsonists, FUDmasters, ms, and others...

    Wow, "To confirm you're not a script,..."

    Now, that's reminiscent of the cleanser Ajax, hehe...

    --
    Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  104. Anyterm - a Javascript terminal by Anonymous Coward · · Score: 0

    Have a look at Anyterm for a fun "AJAX" application. It combines Javascript and an Apache module to provide a box on a web page that behaves like a terminal. So you get ssh access to your server from almost anywhere, even when there are firewalls etc. in the way. http://chezphil.org/anyterm/

  105. Ajax is just a buzzword by MemoryDragon · · Score: 1

    good ole javascript... add to that the asynchronous http request component for client server communication and you have ajax, the problem still persists, that basically you run into limitations of the browsers.

    To the worse the async http request component is not w3c conform and only works in some browsers (namely mozilla, IE, maybe konqueror safari..)

    So you run into the same old javascript problems again, you run into a simple mess of having to target the IE and everything else, which follows the standards (even teh http request component cannot be accessed similariy over browsers)

    So what is the difference? Well yesterday everybody hated javascript, today everybody loves javascript because it has a different name, but the same quirks.

  106. No Refreshes! by N8F8 · · Score: 2, Interesting

    THe "big deal" for a lot of web developers is that you can avoid annoying refreshes to update content. Using XMLHTTP you can retrieve your information in the background and use the XML DOM/DHTML to update only what needs to be updated - instead of redownloading an entire page (and flickering). I wrote a chat app a few year ago that worked this way and it was amazingly responsive.

    --
    "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
  107. Some n nice Ajax references... by Anonymous Coward · · Score: 0

    http://www.omnytex.com/articles/ is a nice little introduction to Ajax. It includes a Struts-based example app.

    http://struts.sf.net/ ... the AjaxTags project... if you are developing with Struts, this could be a nice thing to use.

  108. Did you try everything? by SuperKendall · · Score: 1

    So I assume that you updated the map, founda crime, clicked on it, and read the text? Because the last part at all does not work in Safari 2.0.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Did you try everything? by HyperBlazer · · Score: 1

      Eep! nope. I was just checking to see where, within a short walk of the UChicago campus, homocides tended to occur. Oops, my bad!

    2. Re:Did you try everything? by Drakonian · · Score: 1

      I could be wrong here, but I don't think that is a great example. I think the Chicago Crime hack is trying to use the Standalone Gmail Maps hack which is known to not work on Safari yet. Google Maps itself works fine, this is just someone trying to reverse engineer Google Maps and not having it figured out all the way. It's definitely not right to pin that on AJAX in general.

      --
      Random is the New Order.
  109. browser compatibilities? by slash.junkie.org · · Score: 1

    can any one venture a guess on the (testing) effort required to make ajax work seamlessly across all (reasonably recent) browsers?

  110. MS enabled its own doom by Dracos · · Score: 1

    IE first had the XMLHTTPRequest object (even though it is implemented via activeX *shudder*), and counts as one of MS' few legitimate innovations.

    Now that other browsers have implemented it, the web has the potential to do what MS may not be able to adapt to: make the OS less important. Rich web apps can't replace everything, but the more robust they get, the less software people have to install. What they do have to install will have another layer of resources available.

    1. Re:MS enabled its own doom by Blitzenn · · Score: 1

      lol, I think if you look back on MS's history, you will find this is exactly the future they have seen for themselves for years. Next, take a look at their patent portfolio, that is full of web enable application delivery tools and applications readied for such an event. I think if you had the opportunity to look under the hood at MS headquarters you would find them distinctly poised to 'corner' this market too, as they have others. I would not take MS's suppression of knowledge of such internal activities as a lack of preparation in that area.

  111. Forget AJAX, here's JAH by epeus · · Score: 3, Interesting

    The XML part of XmlHttpRequest is a bit misleading - you don't have to use XML and parse it in the client. If you use a server process that generates an HTML fragment, you can replace the innerHTML of a target id easily.
    I made a JAH example to show how easy this is.
    JAH stands for Just Async HTML

    1. Re:Forget AJAX, here's JAH by Anonymous Coward · · Score: 0

      Tanks mon, me cyan get wi' AJAX, Jah is I co-pilot!

      I and I Survive

  112. JSON legal Python? Almost by XNormal · · Score: 1

    After setting
    null = None
    true = True
    false = False

    There are two remaining incompatibilities:
    1. Comments
    2. \uNNNN escape sequences are legal in python strings only if string is a u"unicode" string. But the u prefix makes it invalid JSON.

    But it doesn't matter anyway - you'd never want to parse JSON in a Python server by passing it to eval() since it's horribly insecure.

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  113. Re:Choosing language by masklinn · · Score: 1

    Please, do tell me how vanilla HTML + good server side dev "doesn't cut it" for a web application or a website.

    The only things that HTML frontend + server handling lack are reactivity and interactivity. They're not fast, and you get loading inbetween two pages.
    And security, too, but you don't use webpages if you need security either.

    CSS or JS do bring things, but 95% of the time they're not *needed* to achieve the goal, they merely improve the user's experience (which is nice but far from necessary, aka the user may do without when he needs to).
    What else? Flash and Java applets? well, the needs of using them fit neither in "web applications" nor in "most websites".

    The only thing i'm wondering about is what you mean by "complex interactions", and why you'd need them in a regular website

    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  114. It's about time javascript comes to the fore by dpidpi · · Score: 1

    It is the nicest language I have ever programmed with and it can do wonders in the browser.
    XmlHttpRequest is handy, but the same could be done long ago (IE4/NS4) if you were ready to put your sanity in jeopardy.
    I developed a multiplayer online board game back in 2000 using only javascript. It is fully multi-threaded (yes) and the server-side is only for message passing.
    Check it out (click on the apple) (NS4/IE4|5|6 only. Sorry, it hasn't been updated since 2001).

    http://www.groupe-auffray.com/index2.html

  115. Javascript responsiveness in dynamic applications by thisisauniqueid · · Score: 1

    I have been working on a dynamic application in Javascript, and have run into a problem that I haven't seen a solution to anywhere.

    When animating something, it seems that modifications to the DOM are non-blocking, unless the previous changes to the DOM are still being layed-out, in which case the whole javascript engine (in fact the whole browser) ceases to redraw anything until the layout engine is idle again.

    What this means is that setInterval(fn,delay) causes the browser to lockup if any frame of animation takes longer than (delay) ms. setTimeout(fn,delay) called after the animation frame to schedule the next frame of animation doesn't work either, because DOM changes don't block on page layout completion.

    Any ideas of how to fix this?

  116. The Interview by lullabud · · Score: 3, Funny

    Interviewer: "I'm here with Brendan Eich, the creator of Javascript. So, Brendan, it looks like some companies are doing some pretty awesome stuff with Javascript these days! Word has it this was what you envisioned for Javascript from the beginning."

    Brendan: "Yeah... um, this is exactly what we envisioned! Awesome tools like what Google is doing with the maps thing, and the... uh... craigslist + Google maps thing! Yeah.. these companies are finally doing exactly what we had originally planned, so... just wait until they come up with--I mean finally catch on to our big picture and we'll let you know what else we had envisioned! You'll just have to wait and see what we take credit fo--I mean, the other ideas of ours they catch on to!"

  117. TRIGLAV by cr0sh · · Score: 1
    If you want to see a really cool Javascript/AJAX/XMLHttpRequest application (alright - Google Maps and associated "hacks" and applications are excellent, too) - then TRIGLAV is it.

    Personally, this game would be my favorite, except it doesn't work in Firefox/Mozilla (sorry, IE only) - I have tried to email the author about this, and I am sure others have as well - but either the problem is something he needs is IE specific, or he just doesn't give a damn. I hope it is the former...

    --
    Reason is the Path to God - Anon
  118. Seriously... How can slashdot editors allow this? by kjkeefe · · Score: 1

    Why is it so hard to understand? Java and Javascript are totally different. They have similar syntax and such, but Javascript has absolutely nothing to do with the Java foundation or Sun. It is merely a client side scripting language. You don't need a JVM to run it. It uses the Document Object Model of HTML pages to allow your browser to do fun things like the great stuff that google maps does. Seriously... Get it straight! (And shame on slashdot editors for not correcting the poster in the first place.)

    Anyway, AJAX seems pretty cool. I wish I could devote a few months to study it because I think it is the future. Technology like AJAX is what is going to make web-based operating systems (and useful thin clients) a reality. IMHO.

    --
    1, 2, 3, 4, 5... That's the combination on my luggage!
  119. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  120. CSS vs. JSSS by Anonymous Coward · · Score: 0

    Netscape had some cool demonstrations of this, and they were pointing that out you could do "style sheets" with this .. "javascript style sheets" or JSSS (or sometimes JSS).

    However, at about that time w3c and msft got together to push CSS style sheets instead, partly in order to torpedo netscape. (There was a lot of bad blood between w3c and nscp; I was at both CERN (on TimBL's team) and nscp, so I saw both sides.)

    But CSS sucks, so this whole thing fell off the radar for most people.

  121. Clientside JavaScript Redux... by Anonymous Coward · · Score: 0
    We've been through this before, but apparently the (HTML layout monkeys/clientside browser coders) didn't get the word:
    1. Clientside JavaScript has no standards, is different on each browser and can be bypassed/spoofed by the user. Clientside JavaScript is an unrelenting source of security problems. No secure system can use clientside JavaScript.
    2. We've always been able to do what AJAX does: issue a GET/POST from a hidden frame, then parsing the returned data and propagating to other frames.

    REPEAT!!! THIS IS NOT NEW!!! IT'S BEEN AVAILABLE FROM THE INCEPTION OF JAVASCRIPT!!! AAAARRRGH!!

  122. Uhuh, in what utopia is this? by t_allardyce · · Score: 1

    Yeah sure, considering cross-browser compatibility and web-standards compliance is at an all time low i don't think its going to happen. I've been writing javascript and its an absolute bitch to do anything that will work on a decent range of browsers while still falling-back neatly for non-javascript viewers, although it does have some decent features in that you can check if a particular object is supported with an if() it still has to much variance between implementations. This is why things like flash do so well, because you know that Flash, while not being a W3C standard in any way, does in fact have better consistency, rolled out, right now, than the W3C could ever even hope to achieve with the fucking crap browsers out there. Yes Flash isn't the best format, it's not as well structured, it has no text-based fall back, it's not easy to integrate or hack but it beats the alternative hands down if you want a platform independent program right now. If everyone dropped all these nonsense fads like 'KHTML'/'Safari', 'Opera' and 'IE' and started using Firefox then yes, maybe it could all work out, but as it stands, you simply cant rely on javascript.

    --
    This comment does not represent the views or opinions of the user.
  123. Bad Karma by lullabud · · Score: 1

    Perhaps it's because of the bad karma you get from posting offtopic tech support requests for a specific web page in a thread discussing programming techinques on a completely unrelated other web page? Just a guess...

  124. Ask and ye shall receive by MarkEst1973 · · Score: 1
    And behold there was a Great Light, and He saw that it was good.

    Of course you do not want to blindly eval() source from client-side javascript. Duh.

    The Python JSON parser I linked to is very small, very fast, and handles None/null and true/True for you.

    I did, however, have to edit the parser. I've found that client-side javascript does not like single quoted values when eval'ing a json string, so I modified the Py-JSON parser to change all values to double quotes.

    JSON is vastly superior for this task than XML parsing.

  125. hmmm. by temojen · · Score: 1

    In the days of NN4/IE4 it was called "loading another frame with dynamically generated pages containing data".

    1. Re:hmmm. by Anonymous Coward · · Score: 0

      not entirely, while that is a similar concept it is still orders of magnitude slower.

      I know, I had to build a hugely complex webapp based around that concept and the performance is still a lot slower than AJAX.

  126. Wake me up when JavaScript has error handling by GoatMonkey2112 · · Score: 1

    Give me a freakin try... catch block!

    1. Re:Wake me up when JavaScript has error handling by Anonymous Coward · · Score: 1, Informative
    2. Re:Wake me up when JavaScript has error handling by GoatMonkey2112 · · Score: 1

      Oh, nice. It was added in 1.4. Now I just need to know when I can actually use it. Lazy people need to upgrade their browsers more.

  127. Call me naive... by KZigurs · · Score: 1

    But what has Java (BTW Sun TM) got to do with A-J-A-X?

    Or is this some sick twist how slashdot editors enjoy their power over the dumb masses of !RTFAers.

    1. Re:Call me naive... by Anonymous Coward · · Score: 0
  128. AJAX will also kick your ass by argoff · · Score: 2, Insightful

    I don't know about you, but between all the nuances in the javascript, and all the newances in the DOM, and trying to figure out where one starts and the other begins, and have you ever tried to figure out which functions/properties work correctly for which object, and have you ever tried to figure out which DOM to use and how to make DOM's of different browsers compatable, or even simply trying to figure out which objects are really on your web page, and then trying to deal with things like XML parsing on top of that, and then now asynchronous communication, not to mention new things in the pipe like XUL, and franlky ....

    Forget the toilets, AJAX is kicking my ASS and I can't imagine that other people who want to do more than copy cutie javascript tidbits aren't having the same problem. What am I missing here?

    1. Re:AJAX will also kick your ass by Jellybob · · Score: 4, Informative

      The thing your missing is Prototype - a Javascript library which attempts (most successfully) to provide cross-platform objects to access common issues.

      It's worth the price just for the $() function, which does a document.getElementById() on the argument ;)

    2. Re:AJAX will also kick your ass by Ephol · · Score: 1

      The best DOM reference I've been able to find is at MSDN:

      http://msdn.microsoft.com/library/default.asp?url= /workshop/author/dhtml/reference/dhtml_reference_e ntry.asp?frame=true

      It's a slick layout and is comprehensive and consistent. It will tell you what versions of IE started supporting the particular object/property/method you're looking at, as well as the version and standard in which the thing you're looking at is defined. If it says it is not part of any standard, that basically means not to expect it to work in anything but IE. Stick to objects/properties/etc that are standardized and that site will help a lot.

    3. Re:AJAX will also kick your ass by NutscrapeSucks · · Score: 1

      Agreed about MSDN.

      If it says it is not part of any standard, that basically means not to expect it to work in anything but IE

      Actually, there's a lot of DOM that is commonly supported but has never been standardized. window.open() being an obvious example. I've cross-checked stuff against the Nutscrape 4 docs, which is close to the common baseline for most browsers. (except for layers).
      http://devedge-temp.mozilla.org/library/manuals/20 00/javascript/1.3/reference/frames.html

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    4. Re:AJAX will also kick your ass by ckaminski · · Score: 1

      Yup, but MSDN only works (well) in IE. Sucks to be a Mozilla user. :(

    5. Re:AJAX will also kick your ass by AstroDrabb · · Score: 2, Informative
      Huh? Why don't you look for a real DOM ref? That one is not standards compliant. So if you only care about crappy IE, you are OK, otherwise, you will get a bunch of crap.

      For example, click on the first link in your example. It takes you to "DHTML Collections". It lists "all" as a collection. "all" is not a DOM collection. It is MS specific crap that break compatibility between browsers and makes your web app only work in IE.

      Here is a _real_ DOM reference. This one is standards compliant and will work with the major browsers out there.

      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
    6. Re:AJAX will also kick your ass by cinaquoomba · · Score: 1

      all i know is that DOM Irrera does not work

    7. Re:AJAX will also kick your ass by rjshields · · Score: 1
      What am I missing here?
      Sounds to me like you're missing experience. Get a book like Javascript the definitive guide and it will all become clear.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    8. Re:AJAX will also kick your ass by rjshields · · Score: 2, Interesting
      It's worth the price just for the $() function, which does a document.getElementById() on the argument ;)
      $ = function() {
      return document.getElementById(arguments[0]);
      }
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    9. Re:AJAX will also kick your ass by insert_username_here · · Score: 1

      Funny... I just do this: if ((!document.getElementById) && (document.all)) { document.getElementById = function(id) { return document.all[id]; } } Works in Mozilla and IE just fine (although there's probably a few other browsers where it doesn't work). In 90% of my JavaScript programming, this is all I need to write cross-browser compatible scripts.

      --
      -- Dramatisation - May Not Have Happened
    10. Re:AJAX will also kick your ass by insert_username_here · · Score: 1

      Helpful Hint: Preview is your friend.

      if ((!document.getElementById) && (document.all)) {
      document.getElementById = function(id)
      {
      return document.all[id];
      }
      }

      --
      -- Dramatisation - May Not Have Happened
    11. Re:AJAX will also kick your ass by Saeger · · Score: 1

      Well, you'd also want to account for document.layers if you care about old Netscape 4.

      --
      Power to the Peaceful
  129. Good List! by simpl3x · · Score: 1

    I have to agree also! Javascript can seem so damn cludgy when implemented for worthless stuff, yet so useful at the same time. The quote from the "World's Most Misunderstood Programming Language" says it all, "Most of the people writing in JavaScript are not programmers."

    But, the problems are in developing applications based upon this scheme. Perhaps google should expend some effort in conjunction with Mozilla, to standardize some of this stuff. The mention of JackBe had intrigued me, with the possibilities of toolsets for developing across disparate platforms.

    Good post.

  130. A bitch to debug... by Anonymous Coward · · Score: 0

    I've built some tools that use XMLHTTPRequest object and I've found them to be complete hell to debug. As if javascript was easy to debug anyways. But with AJAX the only error message you ever get is InternalSeverError. Makes it not very enjoyable to work with at this point.

  131. Re:Choosing language by Karma+Farmer · · Score: 1

    Java client-side scripting works, but the LiveConnect object is undocumented, unsupported, and buggy on Internet Explorer.

    Actually, that's not a huge problem, because LiveConnect was poorly supported and buggy on Netscape 4.x series, too.

    I have no idea LiveConnect even exists on Mozilla/Firefox or KHTML.

    And yes... VBScript, PerlScript, PythonScript, etc. probably all work on Internet Explorer. I'm guessing you'll find very few developers who write pages that depend on them, though.

  132. Re:widget set - Try Konfabulator by snorklewacker · · Score: 2, Informative

    The Konfabulator site needs more categorization. If I took out all the clocks, countdown timers, single-purpose RSS readers, and webcams, there'd be like six widgets left. I've never seen so much useless junk in my life. Well I suppose I have actually, but not in this particular fashion.

    --
    I am no longer wasting my time with slashdot
  133. Re:Seriously... How can slashdot editors allow thi by Anonymous Coward · · Score: 0
    This horse was beaten early on in the comments, here is the summary:
    If you read what the sentence is saying - here is a paraphrase:
    "JS (in the form of the AJAX buzzword) may finally fulfill the promise that Java made" ie write once, run everywhere.

    You know that promise, the one that hasn't worked out for various reasons, including anticompetitive practices by MS.
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language. That said, have we ever taken a look at how long it would take Microsoft to build a cross-platform Java that did work? Naturally, we would never do it, but it would give us some idea of how much time we have to work with in killing Sun's Java."
    -- Exhibit 97 (MS7 026935) DOJ trial, Microsoft's P. Sridharan 9/1/97 email.
  134. Re:Ajax is in Ontario by Anonymous Coward · · Score: 0
    It's also:
    • the nickname for a blackjack starting hand consisting of an ace and a jack
    • the name of a mythical Greek warrior who fought against Troy in the Iliad
    • the name of a swiss car built in the early 1900s
    • an Italian word meaning "appropriate name"
    What's your point?
  135. [OT] GmailMaps - Gmail and Google Maps integration by follower-fillet · · Score: 1

    Here's one of the results of my reverse engineering so far:

    "Ever since I'd been working on various Google Maps hacks I'd been thinking, 'Hmmm, I've done Gmail hacks and Gmaps hacks, what could I do that would combine both?'. ... I decided to parse incoming messages for geographic locations and provide a way to view a map of the location...

    This page includes some very basic instructions for using an initial rough version of this functionality that only maps US State/Zip codes locations. (The current version is a bookmarklet, but it would be ideal for a GreaseMonkey script...)"

    -- http://stuff.rancidbacon.com/gmailmaps/

    --Phil.

  136. Re:widget set - Try Konfabulator by spookymonster · · Score: 1

    More functional? Dashboard widgets have the complete OS X toolkit available - you can hook into anything. Konfabulator is javascript only. Try again.

    Konfabulator can invoke the Unix shell scripts (on Mac and Win), as well as having a built-in AppleScript interpreter (Mac-only); anything you can access via AppleScript or a shell script can be accessed via Konfabulator.

    With Dashboard, you can either display your widgets, or display your active applications; you cannot do both. With Konfabulator, you can have any number of widgets and active applications on your screen as you want.

    You can't force a malicious widget upon a user under Konfabulator.

    Dashboard doesn't run under Windows.

    Konfabulator not only runs under Windows, but 99% of the widgets are platform-neutral and can be run on either Windows or Mac without any modification.

    Konfabulator can interact with COM objects.

    A Konfabulator 2-seat license costs only $19(US), even less if you don't mind nagware. Dashboard comes bundled in with a software package that'll cost you $140(US) per seat. Even then, it still won't run native on Windows.

    --
    - Despite popular opinion, I am not perfect.
  137. I know you're joking, but it's almost possible. by nobodyman · · Score: 1

    The XMLHTTP object was introduced w/ IE5, and that has been around for awhile (pretty sure since 2001, maybe longer). I can see how this might make the Microsoft apologists bitter now that this 4 year old feature is now in vogue, but I think at the time there wasn't the critical mass (in spite of IE's market share).

    Now that it's implemented on multiple browsers, and it has a Killer App (Gmail), developers are starting to see the potential.

  138. What the hell ever happened to.... by tweek · · Score: 1

    "Don't trust the client?"

    I'm still trying to sus the AJAX thing out but it seems like a horrible idea from a security perspective. I know the js is href'd from the server but there better be some serious validation server side.

    I know I wouldn't want to try and hack at this for any nefarious reason but it could be done.

    --
    "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  139. Excellent point, mod parent up. by nobodyman · · Score: 1
    In the rush towards "Ajaxifiying" their websites, a lot of developers are not thinking about the usability implications.

    I see a few sites that are replacing traditional navigation w/ Ajax components that update on-the-fly when users click on a link (for example, changing what's displayed on a multipurpose widget that appears beside your blog entries). Yeah, you're using ajax and that's neat, but once the user clicks the "back" button they go back to the site before they went to your site. Oops. Not what the user expects. It's 2005 and you've just implemented Frames. And not just the ugly Frames you see today, but the downright nasty frames of Netscape 2. Goodbye Back-button, and goodbye bookmarks.

    On the other hand, using Ajax as part of a stateful transaction could be well-utilized. In some cases it improves back-button behaviour because it avoids letting user roll back to a page that reflects a state that doesn't exist on the server.
    Soo... my humble opinion
    Ajax navigation: bad
    Ajax multi-staged transactions: good (maybe)


    The Back button's existence has long drawn the ire of web app developers, It's difficult to handle on the server side, and extremely diffifult to uphold the functionality that the user expects. For example, if user clicks "back" because they accidentally added something to their shopping cart... the implementation of the behaviour that the user expects ("if I click back, I won't have it my shopping cart anymore") could fill a book.

    Still, it's a good metaphor, and I think developers should try as best they can to preserve it in their apps.

  140. I see a new product From Microsoft by SQLz · · Score: 1

    AJAX.NET!!

    - completely incompatable with Mozilla and FireFox
    - executes arbitrary code on the client machine!
    - embraced AND extended

  141. AJAX is just NeWS without PostScript by SimHacker · · Score: 1
    AJAX is not a new idea. Here's what we were doing with NeWS, 17 years ago... Substitute "JavaScript" for "PostScript", "web server" for "NeWS client", "web browser" for "NeWS server". Sound familiar?

    The problem with "AJAX", compared to NeWS or OpenLaszlo, is that imaging model sucks, because it's limited to the lowest common denominator of HTML across all browsers. NeWS uses the PostScript imaging model to render interactive user interface components (buttons, sliders, pie menus, tabbed window frames, etc). OpenLaszlo uses Flash graphics to render interactive user interface components (all the widgets you expect, including a full widget set skinnable with Frash graphics, supporting animation, transparency, color tinting, etc).

    As a imaging model, Flash is nicer than PostScript in some ways, not as nice in other ways, but vastly superior to HTML. It's also interesting to compare Flash with SVG, which is also great for implenting "AJAXian" user interfaces, but doesn't have nearly the installed base. The best thing about Flash is that it's exactly the same across all platforms, and it's got a great installed base.

    -Don

    Newsgroups: comp.windows.news
    From: don@BRILLIG.UMD.EDU (Don Hopkins)
    Local: Sat, Feb 6 1988 5:38 am
    Subject: Comparing Display PostScript and X11/NeWS

    [...]

    NeWS has extensions to the PostScript language that allow for programs (light weight processes), running in the display server, to receive input events on behalf of NeWS clients (other programs running on the same computer, or at some remote site). They may process input locally (on the same machine and in the same process where the events are happening), without consuming any communications bandwidth. This is a big advantage, if you want fast, responsive graphical feedback.

    NeWS processes can communicate with each other by manipulating shared data structures, and by sending messages through the event queue. They can receive low level input events ("The left mouse button was released at location (X,Y) in window W at time T"), and give graphical feedback ("erase the old slider, redraw it at its new position, and fill the border with bright red"). They can translate input from the user into high level, application specific events, which are sent to the client ("set the volume of the CD player to 100%"). NeWS processes can run autonomously in the server, without a connection to a client, providing "desk accessories" such as a calculator, event journaling, menus, and control panels.

    According to the fellow from Adobe who talked at the PostScript BOF at the X conference, Adobe's Display PostScript provides output capabilities, but has no facilities for receiving input directly from of the X event queue. As I understand his explanation, the X server must send X events over the IPC link (network, shared memory, modem, or whatever) to the client, which must then translate the events into PostScript commands, and send them back over the link to be executed by Display PostScript. Because there is no way for PostScript programs to read events off of the X event queue, the client must process input events behalf of the display server. Messages must go on a round trip, from the X server, to the client, and back to the Display PostScript extension in the server, to produce any graphical output on the screen.

    [...]

    The NeWS "Lite" user interface toolkit is written entirely in PostScript. Menus, buttons, windows, sliders, scroll bars, and even terminal emulators, are implemented as device independent PostScript programs, in NeWS's object oriented PostScript programming environment. Since the toolkit can run in the server, clients can share the same code, and a copy of the toolkit does not have to be linked into each client. It's easy to mod

    --
    Take a look and feel free: http://www.PieMenu.com
  142. Well actually... by Anonymous Coward · · Score: 0

    I modded him as flamebait because he asked me to :)

  143. In Korea by Anonymous Coward · · Score: 0
    Only old people look up the meaning of words in a Dictionary.

    http://en.wikipedia.org/wiki/Showstopper

  144. Well, Safari's Javascript is pretty anemic ... by forrest · · Score: 1
    I never could get my Hanzi Quiz program to work under Safari, and that's just local javascript.

    It's possible the latest version has caught up by now, but I found quite recently that I couldn't use a function as the replacement in String.replace() (like perl's s///e).

    The only conclusion I could reach after banging my head against a wall a lot about that browser is that if to do serous Javascript programming, you just have to forget about Safari.

    One day they'll catch up, I'm sure ... but there need to be apps out there which people want to use before Apple realizes that their precious browser is broken. Let's go ahead and put them out there.

    --
    -- Only unbalanced people can tip the scales.
  145. Re:Ajax is in Ontario by Anonymous Coward · · Score: 0

    What's your point?

    I'm just getting tired of all the bogus IT slogans.

    What does it even stand for anyway? And why is that different than Slogan X? Really? Why? Why??? :P

  146. Ironic by certel · · Score: 1

    Sweet, sweet irony.

  147. Seamless malware distribution by hweimer · · Score: 1

    Perhaps it will really provide a solid way to distribute software seamlessly.

    Given how many of the recently discovered vulnerabilities were in the JavaScript or ActiveScript part of the browser, this indeed seems to be a good idea for seamless malware distribution.

    --
    OS Reviews: Free and Open Source Software
  148. Re:Choosing language by pthisis · · Score: 1
    I have no idea LiveConnect even exists on Mozilla/Firefox or KHTML.


    Yes/yes and yes (all 3 have liveconnect support).
    --
    rage, rage against the dying of the light
  149. EDITORS! by Anonymous Coward · · Score: 0
    Perhaps AJAX will finally deliver what Java promised.

    JAVASCRIPT IS NOT JAVA YOU DOLT! And it never will be, think ECMAScript
    EDITORS! Do your jobs!
  150. OpenLaszlo is the open source Flex alternative by SimHacker · · Score: 1
    Flex (which is tied to Flash) is a cool product and a great idea, but what inspired it? OpenLaszlo is a high level JavaScript/XML based language for programming "AJAXian" rich web applications that "just happen to" run on the Flash player.

    Laszlo used to cost about ten thousand dollars per license, but it is now fully open source and free. Flex costs more than ten thousand dollars per server license, and has restrictions on how you can modify and redistribute Flex components.

    Macromedia has a spotty track record supporting their server software over the long haul, and now that Adobe's bought them, Flex is in Flux. Laszlo is here to stay because it's available now, free and open source, and you're not restricted in how you can modify and reuse Laszlo and its components.

    Flex is a lot like Laszlo, because Flex is Macromedia's imitation of Laszlo, but Flex is intended to lock you into Flash instead of giving you independence from it.

    The most important difference between Laszlo and Flex, is that Laszlo is not tied to Flash, it "just happens to" use it right now, because that's the most practical target platform at this point in history. Laszlo is a high level JavaScript/XML based language which currently targets the Flash player as its initial platform, with more to come.

    Laszlo abstracts away Flash dependencies, so it will target other runtimes than Flash in the future, as they mature and shake out: Java (Rhino/Java2D), C# (CLR, GDI+, Avalon), C++ (SpiderMonkey, CGI+, Quartz, Cairo, AGL), SVG (Adobe, Batik, Firefox), DHTML (web browsers, JavaScript, AJAX).

    But right now Flash rules, and Laszlo is the best way to develop rich web applications that run on Flash.

    One really interesting possible target platform for Laslo is an open source Flash player, that can easily be integrated into applications and games, and uses OpenGL with hardware accellerated rendering.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
    1. Re:OpenLaszlo is the open source Flex alternative by arete · · Score: 1

      In principle OpenLaszlo sounds cool, even if it has a hard to remember spelling.

      I'll definitely check it out, and thank you.

      In practice, I hope that community back-ports compatibility for Flex-type development (MXML?). That would be a killer, because even though people who had already adopted Flex wouldn't have a reason to use it.

      --
      Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  151. Alternative client-side scripting languages by loqi · · Score: 1

    Wouldn't it be great if this worked:
    <script type='text/python'>

    So someone hurry up and write a Firefox extension to allow this or else I'm going to have to do it myself.

    --
    If other reasons we do lack, we swear no one will die when we attack
  152. Slightly Off-topic response by bjdevil66 · · Score: 1

    You're still programming in a brain damaged environment. The browser provides a tiny fraction of what the entire system is capable of and a tiny fraction of the refinement of the programming interfaces that have been around since the '70's. The only way that programmers will be able to cope with these shortcomings will be to increase the scope of the browser until it pretty much becomes the OS. At which point we will have gone full circle.

    Interesting point, and that's probably Google's long term business plan - the browser becoming the OS. And that's exactly what Microsoft is afraid of - removing the need for Windows altogether.

    I for one would love to see that come to pass - just to create some competition (and better quality) for your OS purchasing dollars.

  153. Writing AJAX should not mean writing javascript by trenton · · Score: 1

    If you're writing the javascript for this stuff yourself, you're already broken. You really need a framework which makes interacting with server-side stuff easy. Check out Direct Web Remoting (DWR). DWR allows you call methods ON YOUR SERVER within javascript, using the same names and classes as on the server side. Very cool.

    --
    Too big to fail? Does that make me to small to succeed?
  154. Re:widget set - Try Konfabulator by I+Like+Pudding · · Score: 0

    With Dashboard, you can either display your widgets, or display your active applications; you cannot do both.

    No, with Dashboard you can bring up your widgets without having to free up screen real estate or move windows, which happens to be about 1200% more useful. You hit f12, and its there! You hit f12 or click somewhere that isn't a widget, and its gone! As an added bonus, the widgets exit their run loop when they aren't active to free up resources.

  155. What about the impact of Greasemonkey? by MMHere · · Score: 1
    What about the impact of Greasemonkey? (Firefox is required.)

    I've been mostly ignoring JavaScript for some time now. With many useful [browser-side, modify web pages locally to suit your presentation desires] Greasemonkey scripts available, however, and the relative ease of creating my own scripts to customise web pages I view, I'm suddenly very interested in JavaScript.

    What about you?

  156. Re:Ajax is in Ontario by edrain · · Score: 1

    I think it stands for Asynchronous Javascript and XML.

  157. I know nobody RTFA by Anonymous Coward · · Score: 0

    Otherwise there'd be tons of lame Wheel of Fortune jokes due to the SAJAX mention.

  158. Call an apple an apple by jonasj · · Score: 1

    Great blog post by Ian 'Hixie' Hickson (of mozilla.org, Opera, W3C CSS-WG fame) on making new names for existing technologies
    http://ln.hixie.ch/?start=1111339822&count=1

    --
    You know, Microsoft's street address also says a lot about their mentality.
  159. Javascript! by Trinition · · Score: 1

    Why is JAvaScript a poor language? Is it because the language is so concise the spec for it is readable in one sitting? Is it because of how robustly simple it is?

    Perhaps what you're refrrign to is inconsistencies in browser's and old-skool problems from the days of Netscape and IE 3. NOw-a-days JAvaScript is the laymans name for ECMAScript which is a clean, standard, robust, simple but powerful language. It can be used in web pages, server-side components, embedded in dozens of other languages, etc. Heck, any WIndows guy worth their salt would prefer WSH with ECMAScript instead of batch files.

    Do not confuse the language with its origins.

    1. Re:Javascript! by Anonymous Coward · · Score: 0

      You'd think a prototype-based language without static typing would have to be simple, but ECMAscript is not. Its spec is 188 pages (for comparison, Revised^5 Scheme is only 50) and includes such bizzare design decisions as statement boundary inference rules (two and a half pages' worth!), distinguishing functions from methods, primitives and first-class objects representing the same semantic types, and magical object properties that are off-limits and/or invisible to user code.

  160. My current AJAX-ish platform: PHP, XUL, Javascript by TheLittleJetson · · Score: 1

    I'm developing a proprietary database application (back-office type thing) for a business. I am using PHP and the Smarty template engine to serve up XUL to Firefox. The client uses an XMLHttpRequest object to call certain server-side PHP scripts that will perform database (MySQL) queries, and reply back with a javascript code block, which the client executes with exec().

    For example, you might save a record. If the save was a success, the server replies with the javascript code to make the GUI un-editable again. If the save failed, it will reply back with the code to show an error message. Lots of flexability -- I'm certainly enjoying it, and would recommend it to others (even though its not proper AJAX or XUL usage!)

  161. Why not just use Flash? by edxwelch · · Score: 1

    If you want a responsive web application, would it not be better just to use Flash?
    I believe flash can communicate to the server as well, so it would be able to do anything that a Ajax application would be able to do, plus you have these pros:
    * Comprehensive debugging abilities (I think javascript only has debugging available in Mozilla)
    * No cross-platform worries - flash plugin is available for all platforms, usually installed by default.

    Multimedia support - you can make your apps a lot prettier with little effort in Flash.

    The only disavantage is that Flash has no clipboard support (i.e. you can't select and copy text like you can in browser apps).

  162. Solution to global variables with JS Closures by BradNeuberg · · Score: 1

    There's a nifty way to avoid having to maintain global references using JavaScript closures, which most people don't know about:

    xmlhttp.open("GET", "test.txt",true);
    var myObject = this;
    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState==4) {
    myObject.doSomething(xmlhttp.responseText);
    }
    }
    xmlhttp.send(null);

    So, the onreadystatechange function can access the 'myObject' variable like its a local variable, so that it could call back to that object when things are ready. JavaScript has full closure support:

    http://jibbering.com/faq/faq_notes/closures.html
    http://www.forum4designers.com/archive22-2004-8-10 9835.html

    Very powerful feature. Make sure to read a limitation of closures on IE:

    http://jibbering.com/faq/faq_notes/closures.html#c lMem

    Some boundry conditions of using them on IE can lead to memory leaks.

    1. Re:Solution to global variables with JS Closures by Anonymous Coward · · Score: 0

      Sssh! Closures are Javascripts best kept secret! Dont tell everyone or they'll all start using them and then where will we be? Back in the design department, thats where... :)

    2. Re:Solution to global variables with JS Closures by Anonymous Coward · · Score: 0

      Please don't like to that bogus "forum4designers" website. It's merely a Usenet archive that doesn't tell you it's Usenet. In fact, they infringe copyrights by fraudulently claiming copyright on other people's posts.

      Link to Google instead.

  163. Ajax rocks by Anonymous Coward · · Score: 0

    Ajax give much better user experience for the general public, but if you develop for a intranet, flash or Java are just fine. Here is an example of AJAX at work. It is infact modified after the APPLE example. www.mobilityreview.com http://www.mobilityreview.com/

  164. Gah! Java != Javascript by Hecatonchires · · Score: 1

    Really, it's not.

    --

    Yay me!

  165. Relevant links by Anonymous Coward · · Score: 0

    For those interested in examples of AJAX apps or interested in building them:

    - jpspan.sourceforge.net - PHP/Javascript object serializer
    - www.dojotoolkit.org - Rich Web Application toolkit for AJAX apps
    - www.feedtagger.com - AJAX based/tagging RSS aggregator
    - http://www.adaptivepath.com/publications/essays/ar chives/000385.php - comprehensive outline of AJAX for the beginner

  166. Whoa, dude, by abulafia · · Score: 1

    Like, think you can, um, like, view source? Man, that's the coolest. You can, like, see what your browser is, like, rendering and stuff. heh heh.

    --
    I forget what 8 was for.
  167. AJAX post is not complete without by phoebe · · Score: 1

    links to great time wasters like AJAX magnetic poetry, AJAX magnetic letters, and AJAX Weboggle

  168. Re:widget set - Try Konfabulator by Baricom · · Score: 1

    anything you can access via AppleScript or a shell script can be accessed via Konfabulator.
    Ditto for Dashboard. osascript can be used to run scripts from the OS X shell.

    With Dashboard, you can either display your widgets, or display your active applications; you cannot do both. With Konfabulator, you can have any number of widgets and active applications on your screen as you want.
    I concede your point, but humbly suggest that some people like this fact.

    You can't force a malicious widget upon a user under Konfabulator.
    This is a bug in Safari, not a feature. I'm sure it will be fixed shortly. Mac users who run Firefox or other alternative browsers will be prompted before running the widget. In any case, Dashboard widgets run under more restricted permissions than Konfabulator. A Dashboard widget has to show you a dialog box to get permission to access the network. Running a Konfabulator widget provides no prompts or other warnings.

    Dashboard doesn't run under Windows.
    Conceded.

    Konfabulator not only runs under Windows, but 99% of the widgets are platform-neutral and can be run on either Windows or Mac without any modification.
    Konfabulator's widget gallery shows 569 Windows widgets and 1,024 Mac widgets - slightly more than a 1% difference. Windows users cannot easily download .dmg files, meaning "modification" is required.

    Konfabulator can interact with COM objects.
    Dashboard can interact with OS X however it chooses (with user permission).

    A Konfabulator 2-seat license costs only $19(US), even less if you don't mind nagware. Dashboard comes bundled in with a software package that'll cost you $140(US) per seat. Even then, it still won't run native on Windows.
    Unregistered shareware is a violation of the terms of the license, hence illegal. I could just as easily argue that Tiger is free if you don't mind spending some time to find the torrents. That $140 is not exclusively paying for Dashboard. There are plenty of alternative licensing arrangements, including a family pack that drops the price to $40 per seat. One could also argue that Dashboard comes with the computer, while Konfabulator is an extra you have to pay for.

    Now, let me ask you:
    1) Which software do you think has more installed seats, Konfabulator or Tiger? Which has more brand recognition among the target audience? Which is more likely to gain developer support (hence more widgets) due to the larger installed base?

    2) It's dirt-simple to develop a Dashboard widget: it's a web page bundled with a simple instruction file. Konfabulator won't render HTML for you. You have to use their format and their JavaScript objects.

    3) Which interface is more polished? Flipping over widgets for configuration helps keep your attention on what you're doing, and it also provides an excuse for not updating the widget on-the-fly. I found myself wondering why the colors on widgets in Konfabulator didn't change as I tweaked the settings. The fact that I saw both the configuration and widget at the same time made me think that updating one should affect the other. On my computer, pressing F8 for Konspose took about a second to render - about the same time as the entire Dashboard animation - without the effect.

    I think Apple was wrong to copy Konfabulator, but that's over and done with, and they clearly have the superior product now.

  169. additional: Diff-HTML, XSLt by wdebruij · · Score: 1

    kudos! simply replacing part of the xhtml dom is exactly what is most interesting to many.
    Unfortunately, present online tutorials only show dropdown-menu exchanges, etc. as they are even simpler to implement.

    what I personally would prefer is to use XSLt to translate machine-understandable XML (e.g., rdf) to html at the last stage of the pipeline. I'm pretty sure it's possible, but as webdev is not my forte I haven't looked into it yet.

    It could seriously reduce bandwidth consumption at the cost of client-side CPU usage increase.

    The No.1 library I'd like to see is some serverside code that automatically generates diffs between pages and the clientside to automatically apply the DOM changes. Diff support in HTTP was proposed (forgot the RFC no.), but never implemented. This could implement differential updates through a backdoor

  170. Re:widget set - Try Konfabulator by spookymonster · · Score: 1

    Agreed. The gallery is a nightmare. Several users have mentioned this on the forums. The developers are in the middle of revamping their site for the new release (v2.0). I can only hope they plan on fixing the gallery as well (e.g., display widgets by # of downloads, popularity, date, etc.).

    --
    - Despite popular opinion, I am not perfect.
  171. Re:widget set - Try Konfabulator by spookymonster · · Score: 1

    With Dashboard, you can either display your widgets, or display your active applications; you cannot do both. With Konfabulator, you can have any number of widgets and active applications on your screen as you want.
    I concede your point, but humbly suggest that some people like this fact.

    Then you'll want to place all your Konfabulator widgets on the Konspose panel; this prevents them from appearing until you call up the panel.

    A Dashboard widget has to show you a dialog box to get permission to access the network. Running a Konfabulator widget provides no prompts or other warnings.
    A good software firewall will trap any outgoing connections and prompt you for confirmation first.

    Which software do you think has more installed seats, Konfabulator or Tiger?
    At this point, I'd say it's probably evenly split between existing Konfabulator users on both platforms and Tiger early-adopters. In the long run, Tiger will almost certainly have more users.

    Which has more brand recognition among the target audience? Which is more likely to gain developer support (hence more widgets) due to the larger installed base?
    Unless Konfabulator gets some heavy press in the near future, again, Tiger'll win hands-down.

    It's dirt-simple to develop a Dashboard widget: it's a web page bundled with a simple instruction file. Konfabulator won't render HTML for you. You have to use their format and their JavaScript objects.
    Konfabulator's XML is simpler and easier to use than HTML, frankly. If you want to set an object's position, you use object.vOffset() and object.hOffset(), as opposed to setting CSS properties via HTML. As for its inability to render HTML, that's what you have a browser for.

    I found myself wondering why the colors on widgets in Konfabulator didn't change as I tweaked the settings.The fact that I saw both the configuration and widget at the same time made me think that updating one should affect the other.
    Under Konfabulator 2.0, you can create a window to display HSL controls, allowing you to adjust coloring in realtime.

    pressing F8 for Konspose took about a second to render
    Check out Konfabulator 2.0. Performance has been improved.

    --
    - Despite popular opinion, I am not perfect.
  172. You're right. It's nice to see someone noticed. by Paradox · · Score: 1

    Well, you're right in that regard. JavaScript lacks the nice message-sending utilities of other OO languages like Smalltalk, Objective-C, Ruby and Python.

    But I disagree with, "This makes it difficult if not impossible to create object oriented applications using MVC and many other OOP design patterns." It's obnoxious, but it's certainly doable. This is one of the many reasons why the Command Pattern was invented.

    --
    Slashdot. It's Not For Common Sense
  173. Re:widget set - Try Konfabulator by Baricom · · Score: 1

    Check out Konfabulator 2.0. Performance has been improved.
    Really? I'd hate to see what 1.x was like...

  174. cool AJAX site by AJAX+Advoctae · · Score: 1

    here is a cool AJAX site... http://www.ajaxadvocates.com/

  175. I forgot by ClosedSource · · Score: 1

    By "compiled" I mean "converted to machine code" the primary meaning of the word for the last 50 years.