Why Microsoft and Google are Cleaning Up With AJAX 443
OSS_ilation writes "Google uses it, and Microsoft is pursuing it, so there's a lot of hype and hubbub surrounding AJAX (Asynchronous JavaScript and XML). AJAX brings together some hot properties, JavaScript, HTML/DHTML and HTML, according to Julie Hanna Farris, founder of Scalix, a Linux-based, e-mail systems vendor. Scalix is using AJAX in Scalix Web Access (SWA), a Web-delivered, e-mail application. AJAX enables advanced features like drag 'n drop, dropdown menus and faster performance capabilities, which are now making their way into Web applications, she said. These kinds of capabilities represent a significant leap in the advancement of Web apps."
Yet another "summary" lifted directly... (Score:2)
So it has DHTML/HTML and HTML? Wow, three HTMLs! Buzzwords ho!
Re:Yet another "summary" lifted directly... (Score:2)
Re:Yet another "summary" lifted directly... (Score:2, Insightful)
Not only that, but apparently, only Ajax creates Drag'n'Drop and drop down menus. You learn something new everyday! Here I thought that it was Javascript and CSS that did that.
The sad part of throwing buzzwords around is that people latch on to them and have no idea what they entail. "I want to use some ajax for my website. Do it." ??? Somebody just realized that they can use the XmlHttpRequest object and some server-side processing to save users from the need to refresh or load a whole new page. The rest
Re:Yet another "summary" lifted directly... (Score:2)
Sorry Microsoft (Score:2)
real reason why (Score:3, Insightful)
and charge "subscription fees" for it too.
Re:real reason why (Score:5, Informative)
Saying that AJAX will allow one to deliver desktop quality applications is like saying central heating will turn a mobile home into a mansion.
-matthew
Re:real reason why (Score:3, Interesting)
Re:real reason why (Score:3, Informative)
Re:real reason why (Score:3, Interesting)
Of course not. It delivers a desktop-LIKE feel to certain web applications. However, that is NOT the only point of it. Other advantages include:
#1 Immediate deployment - You can distr
Hype, Hype, Hype (Score:5, Interesting)
The truth is that the stuff we've seen in AJAX so far is nothing. I don't know about anyone else, but I've used it in regular webapps as nothing more than an interface enhancement. People don't even really notice the fact that the web pages work much smoother.
That being said, there's a massive untapped potential in this technology. I've got demos of Video Games in AJAX, as well as a full Desktop. I tried to get Google interested in the video games concept, but I'm afraid they ignored my communication.
Re:Hype, Hype, Hype (Score:2)
Re:Hype, Hype, Hype (Score:5, Insightful)
Re:Hype, Hype, Hype (Score:2)
Not everybody has JavaScript and the DOM, and it was never a crucial factor anyway. It's perfectly reasonable to write web applications that use AJAX when the user has the necessary technology available, and fall back to traditional operation when the user doesn't havethe necessary technology available. In fact, it's a legal requirement for many developers.
The big change is that big names like Google are starti
Re:Hype, Hype, Hype (Score:2)
Am I missing something? I've always thought that was part of why people didn't do this before - amount of coding needed to implement a simple app is vastly more than with something like
Re:Hype, Hype, Hype (Score:2)
Precisely. As I said in another post, the XMLHttpRequest is just icing on the cake.
I've always thought that was part of why people didn't do this before - amount of coding needed to implement a simple app is vastly more than with something like
It is true. However, the real reason
Thing is... i don't care (Score:3, Funny)
Do I care that I can get a full desktop application on the web? I don't because I already have one and free too. Video games? Nope, got'em and they're better too.
Do something I don't have. If it can get me laid all the better.
Re:Thing is... i don't care (Score:3, Insightful)
Actually, there's a huge market of "casual gamers" (a new term used to describe people who like to play web games and the like) that companies are having the hardest time reaching. One of the major obstacles in their way is the fact that these gamers are uninterested in installing Flash, Java, or any other plugin. If they don't get instant gratification, many of them simply leave. This means that all those super-APIs that companies like WildTangent and Unity
Re:Hype, Hype, Hype (Score:3, Interesting)
Funny thing is... (Score:5, Interesting)
Microsoft invented the XmlHttpRequest functionality, AND they've been using AJAX (before that's what it was called) in Outlook Web Access (OWA) for years. Nobody else in the company seemed to have caught on to it though.
Re:Funny thing is... (Score:2)
Re:Funny thing is... (Score:5, Funny)
Re:Funny thing is... (Score:5, Funny)
Re:Funny thing is... (Score:2)
Re:Funny thing is... (Score:5, Insightful)
Re:Funny thing is... (Score:2)
Re:Funny thing is... (Score:2)
Re:Funny thing is... (Score:4, Insightful)
Which comes as quite a surprise to everyone that's been doing the following since the mid 90s.
Create a frame driven page with one main frame and one tiny frame.
Whenever you want to perform an asynchronous action:
Load a page in to the small frame.
Have that page call an onload event that accesses a function in large frame.
All "AJAX" (which is just a dressing up of what was already there) does is use the request object which is just a cleaner way of what people have been doing for about ten years anyway.
There were also tricks for doing it with Java. But Microsoft had to supply an alternate mechanism because someone took Java out of the dominant web browser for a while. Can't think who might have done that though.
Re:Funny thing is... (Score:2)
But I agree with you, AJAX definately does the same thing in a much better and cleaner way.
-Rick
Re:Funny thing is... (Score:2)
Of course this makes sense as the primary purpose of exchange is to lock people into windows both on the server and client.
Re:Funny thing is... (Score:4, Informative)
Microsoft invented XMLHttpRequest because before that people were using tiny little java applets to accomplish the same thing. In fact the original version of remote scripting in IE also used a java applet. When MS decided that java was the enemy they figured a way to do it without java.
I for one see no need for AJAX, it's better to just write java applications or even applets (or thinlets).
Re:Funny thing is... (Score:2)
Re:Funny thing is... (Score:2)
Of course, we should probably not talk about this, as it pretty much destroys the typical slashdot
Microsoft pursuing it??? (Score:2, Informative)
Mod parent up (Score:2)
There's something very familiar about all this (Score:4, Interesting)
Anyway. Let's not fill this page up with 'Dupe' complaints. Macromedia are probably gonna have to re-think things (in the new Adobe environment, of course) since they were convinced that Flash would be the vehicle of choice in developing what they call Rich Web Applications. They'll now have to sell it on the basis that you can get a hell of a lot of functionality out of very few lines of Flex code.
It's gonna be interesting.
Well, duh (Score:4, Insightful)
Google uses it, and Microsoft is pursuing it, so there's a lot of hype and hubbub surrounding AJAX (Asynchronous JavaScript and XML). AJAX brings together some hot properties, Javascript, HTML/DHTML and HTML, according to Julie Hanna Farris, founder of Scalix, a Linux-based, e-mail systems vendor
What's next, summary teaching us what programming languages or computer is?
Bah, this is slightly annoying.
Re:Well, duh (Score:2)
Re:Well, duh (Score:2)
vs2005 (Score:2)
I've never used visual studio for web stuff, and I don't know if it can be used to do stuff like that without getting tied into asp or whatever, but it was impressive what they can do with it.
So what you're saying is... (Score:2, Insightful)
AJAX brings together some hot properties, Javascript, HTML/DHTML and HTML
So what you're trying to say is "AJAX brings together Javascript."
What my dog hears (Score:5, Funny)
"blah blah blah AJAX, blah blah blahblah AJAX!!1!. blahblahblah Google blah AJAX, blah Microsoft sux."
Re:What my dog hears (Score:3, Informative)
Wait, it's all a matter of time (Score:2, Insightful)
What i would like to see is the US goverment and other countries to force them to adopt clean, industry defined standards like the XML, HTML,CSS, AJAX and not an assimilated badly digest crappy way of doing things that breaks the WEB. They should be more humble since the WEB has given a good chance for all companies to develop and sell new products, and microsoft is no exception here, aldo they have wakeup lately to this.
The Big Question (Score:4, Insightful)
Who will be the first to try and patent something "using AJAX..."?
Incoming data (Score:5, Interesting)
This turns AJAX into more of an actual internet protocol, and I think it would really improve things.
Re:Incoming data (Score:2, Insightful)
I acknowledge that having all their users hitting gmail every 60 seconds may tax their system a bit more than they would like. I'm not sure I'm comfortable with having some sort of open port on my computer that accepts new mail messages. Isn't this the first step for a new kind of worms/viruses for our computers?
Re:Incoming data (Score:3, Insightful)
That would be nice but is unlikely to be a widespread solution. Huge numbers of ISPs do not allow incoming connections, many NAT boxes are outgoing only (there are some hacks to allow incoming connections but they aren't commonly implemented for corporate desktops), etc. IPv6 would be helpful in a move toward this kind of scenario..
But the best case right now is persistent conne
Re:Incoming data (Score:5, Informative)
Try this:
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
$|=1;
(print '.'),sleep 1 while 1;
2. With XMLHttpRequest:
var req = new XMLHttpRequest();
req.multipart=1;
and the server-side part uses content-type: multipart/x-mixed-replace
Subscription-based software (Score:2)
What you want to learn, then, is RPC or CORBA or any of its variants. You may already realize this, but you've simply described a typical client-server application.
I think it would really improve things.
Maybe. Maybe not. Do you like the idea of subscription-based software? That's where AJAX inevitably leads.
What AJAX p
*rolls eyes* (Score:2)
How is this any different from Java Applets? (Score:4, Insightful)
Sad that AJAX is the only way (Score:3, Interesting)
If nothing else, if we want to download clients and run them in the browser, having them talk to a backend server for the data, why not get a more appropriate language? Java would be perfect if Sun weren't a bunch of asshats, but just because it won't ever be truly Free or cross platform is no reason to reject other candidates. Tcl/Tk has had a fully sandboxed browser plugin for a decade and it is 100% Free Software. It runs on every known platform where IE or Mozilla runs and could be ported anywhere else needed. I'm sure it isn't the only one. Or do we continue shoehorning everything into html?
AJAX: Almost Just like an Application! (Score:5, Interesting)
It is funny to watch technology reinvent itself in fast-forward.
I work for a company that did AJAX long before it was called AJAX. And now that it is the next hot thing they are moving away from it. Why? Because they already learned the lesson that everyone else is about to figure out: AJAX is a b*stard to code and maintain. It is easier to write a client-server application in a traditional language and web deploy it than to write this crazy JavaScript + XML + HTML + DHTML + CSS stuff.
Java and
Re:AJAX: Almost Just like an Application! (Score:3, Insightful)
Yes, it's still a b*tch to code and maintain a browser, and Microsoft still hasn't done it -- not really -- but a lot of
AJAX = Suckjax (Score:3, Insightful)
Sure, browsers work on every platform, and AJAX apps don't need a download, that's great. But the same thing could be done with java if everyone had a JVM, or anything else.
AJAXs means reinventing the GUI, only with a more difficult to use, hacked together API
Re:AJAX = Suckjax (Score:2)
You could do the same stuff with XUL also, if everybody ran a Mozilla based browser, or if XUL became a standard and other vendors started supporting it...
Re:AJAX = Suckjax (Score:2, Insightful)
This can be unwanted behavior in some instances, but it's nice to be able to hook people into a system without an install disk or download.
AJAX is providing that, but a desktop application is a lot nicer to work with. Plug in some remoting and you have a NICE client. Unfortunately, remoting does not seem to be the way that computing is going.
My two cents.
Re:AJAX = Suckjax (Score:5, Insightful)
See, Java *could* do this. Sure. I'll give you that. In fact, most people until recently HAD a JVM in their browser. Java applets should have taken over the world.
Why didn't they? Why is AJAX getting all the press Java should have gotten?
Me, I simply look at 2 things: gmail, and Google Maps. They both work, work well, and work better than anything else. Apparently millions of people agree with me, just look at the buzz around them. Are we all brainwashed by Google? Could these have been done as a Java applet? Maybe.
The fact is, they WEREN'T. Or if they were, no one used them. The way I see it, AJAX is the end all and be all (for now) because it WORKS. Maybe Java is just too slow (and here come a dozen posts claiming it's not). Maybe the wait time to load a JVM into memory, plus download an applet is too long. I don't know why Java hasn't been used, but it's not like no one's thought of it before.
I get the hype, myself. It means that I can sit at virtually any computer, type a URL, and BAM! Instant application. I've yet to see another technology that works this well.
Re:AJAX = Suckjax (Score:3, Insightful)
1: thanks to the sun vs ms issue developing browser applets that will run without 3rd party software required working in a horriblly old version of java and you couldn't even use the swing classes without downloading them at applet load time.
2: also a lot of java applets wouldn't work if you were browsing from behind a http proxy as they used other protocols to talk back.
3: you can't exactly call awt or swing nice to program for ;
Re:AJAX = Suckjax (Score:3, Insightful)
Google maps is such a great example. You go there, it works, and it's a great interface. It's not as nice as google earth, but I don't want a client/server map ap
Be Careful (Score:3, Informative)
Of course, you usually don't know if a page is using XMLHTTPRequest in a hidden frame unless you look really hard, so I guess the bottom line is never type anything on a web page you don't want the world to see. On the other hand, AFAIK (which doesn't mean much) this hasn't shown up in practice, so maybe it isn't that big a deal.
Re:Be Careful (Score:2)
AJAX has accessibility problems. (Score:2)
Cleaning up with Ajax (Score:2)
From the department of redundancy department: (Score:2)
Translation: Asynchronous Javascript and (x)(ht)ml bring together some hot properties: Javascript, HTML and HTML with Javascript, and HTML, according to Julie Hanna Farris.
Clean Machine? (Score:2)
Maybe the writer means "tidying up". Like hiding software problems on a backend that is maintained without the users noticing upgrades or details of failures. Maybe just putting a thin-client cross-platfor
AJAJSON (Score:2)
I prefer AJASON - that is, replace XML with JavaScript Object Notation or, serialized javasacript objects. It parses much faster and easier than XML.
I have a JSON class for PHP which lets me serialze any PHP object into JSON. I can send the JSON to the client, eval() it with javascript and viola, my PHP object is now a JavaScript object.
The only problem with it is that there isn't an object serializer built into JavaScript (that I'm aware), so sending data back to the PHP script isn't as easy. I haven't
List of websites using Ajax (Score:5, Informative)
Why Java? (Score:4, Insightful)
Netscape, LiveScript and JavaScript (sic) (Score:2, Interesting)
JavaSript is not related in any way to Java. It was a cold day in November 1995 when Bill Joy, in contract negotiations between Sun and Netscape, told them "sure, go ahead and use the name JavaScript."
Sort of funny when you think about the current protection of the Java trademark, or whatever it is.
p.s. yes I was there
Accessibility (Score:5, Informative)
So you can't use it in software that might be sold to, for example US Government customers -- no national laboratories, no NASA, etc.
UNLESS -- you write your own accessibility aids and write your own UI framework that compiles into both an AJAX version and a web accessible version.
That's a tall order. However, there is help.
You can write your web pages in HTML with XForms and let XForms handle the dynamic page aspects, and then offer up the HTML+XForms as the accessible version. (See the DHTML Accessibility Roadmap [w3.org].)
Everything that the AJAX cloud of applications does with the XMLHTTP object and updating the DOM on the fly to display choices can be done with XForms.
Then, you can use one of these mechanisms to convert the server-side XHTML+XForms file into AJAX:
If you want to serve up the XHTML+XForms directly, and not rely on any AJAX technologies, try these:
So, try them out, and see how much easier it is to write accessible code and properly separate your data and presentation layers when you use XHTML, CSS, and XForms. Then, choose a middleware solution or a browser-based solution and go forward knowing that you can meet architectural requirements without getting bogged down in JavaScript toolkits.
Re:Accessibility (Score:5, Informative)
This irritates me. This is not true. And yet moderators without a clue have pushed it up to +5, Informative. And any newbie web developers who read this are going to think that they have to choose between AJAX and accessibility. Some of them are going to choose AJAX and not bother with accessibility. If your post had been down at -1, Wrong, they might not get that impression, and would go on to write accessible AJAX web applications.
You don't have to choose. You don't have to write "UI frameworks" that you have to "compile". That's nonsense. What you do is you write the non-AJAX version, and then you add the AJAX as an optional extra. When people have Javascript turned off, they get the basic version seamlessly. Perfectly accessible, none of the complicated nonsense you claim is necessary.
Please stop propogating this myth. If you want to promote your favourite technologies, then by all means do so, but don't lie about the alternatives to make them look bad.
Section 508 Compliance (Score:3, Interesting)
I don't think there are too many screen readers our there that can handle AJAX quite yet.
Hmm.. screen reader built onto Firefox? Notices when stuff changes. I could build that. Sweet.
Re:Ditch Javascript (Score:5, Insightful)
Re:Ditch Javascript (Score:4, Insightful)
Re:Ditch Javascript (Score:2)
-Rick
Re:Ditch Javascript (Score:3, Informative)
Re:Ditch Javascript (Score:5, Insightful)
You say that we're "trying to force documents to be applications", and I agree. However, with HTML we're also trying to force applications to become documents. We need access to both layout models, because the Web contains both documents and applications. XUL provides this. For example, the XUL menus in the FireFox "chrome" are freeform, and the main part of the box layout is a container for freeform HTML, while the rest of the chrome follows a box model.
Even "document" pages usually contain some "application" elements; navigation buttons, or a search box, for example. The page should be treated as an application containing content, and not forced to hold both the framework and the content in one file, with the same layout model.
AAX??? (Score:3, Insightful)
With out Javascript AJAX doesn't work.
-Rick
Re:AAX??? (Score:4, Informative)
Re:AAX??? (Score:2, Interesting)
Re:AAX??? (Score:2)
Python can't run untrusted code. There used to be a way [python.org] of doing so, but it was shown to be fundamentally insecure and abandoned. Nobody has found it necessary enough to replace it with something more secure. A web browser called Grail [sourceforge.net] was written in Python years ago that could run Python scripts, but obviously that's insecure too as it relied on the above mentioned functionality.
Re:AAX??? (Score:3, Informative)
Existing APAX solutions use py2js so you write client code in python which is translated to javascript automagically.
See, e.g., Crackajax (or use plain py2js if you don't want a big framework).
Re:AAX??? (Score:2)
With out Javascript AJAX doesn't work.
Basically right unless you're willing to limit your client base to people with browsers that support other embedded languages (e.g Grail had embedded Python--but you couldn't do APAX with it as it lacked the AAX support).
But you can do your development in other languages and then convert to Javascript. I've known a few people who wrote simulated client-side Python and used py2js successfully. Still requires Javascript, but you can do your dev work
A better web page scripting language? (Score:5, Insightful)
I'm not sure if your comment was intended as a pointed jab at the buzzword status of AJAX or a serious suggestion that JavaScript is crappy, but I'm assuming the second.
There are some things about JavaScript that are really annoying. First, the object orientation seems very odd. It is well-rooted in the language, but it is quite annoying not to have real object namespaces (yes, you can use closures, but they're annoying and kludgy), real constructors, and that sort of stuff. It's almost as bad as Perl's hash + namespace = object idea, and worse in some ways.
What I'd like, I guess, is a language that is very similar to JavaScript, but has a real object-oriented system and better support for things like loading code dynamically. It's clear that JavaScript or some future variant of it is finally being used the right way--to make pages dynamic instead of just annoying--but right now it's very cumbersome. Loading Gmail, for example, is quite slow, because it (IIRC) downloads a huge chunk of code at the beginning. Perhaps someone (maybe me) could write a wrapper system in JavaScript that uses XmlHttpRequest to load JavaScript code on demand. But some sort of modular functionality ought to be officially added to JavaScript, before it's too late and we end up with the next "___ Wars"... this time it will be the fight between JavaScript frameworks.
Re:A better web page scripting language? (Score:3, Interesting)
JavaScript is object-oriented. You only call it "odd" because it's not the usual C++/Java/whatever object orientation you are used to, it's prototype-based like Self [wikipedia.org], not class-based. That's no less of a "real" object-oriented language.
Don't blame JavaScript for the shortcomings of GMail, it's simple to dynamically load JavaScript on demand. There's a lot of really screwed up stuff about
Re:Ditch Javascript - AVBSAX (Score:3, Interesting)
Actually, my biggest problem with Javascript was (is?) trying to understand all the little (or sometimes not-so-little) implementation differences, and write cross-browser script that didn't turn into zillions of checks:
Re:Ditch Javascript (Score:2)
Java != Javascript
Re:What is ? (Score:3, Informative)
-Rick
Re:What is ? (Score:2)
-Rick
Re:What is ? (Score:2)
""Atlas" is not merely another implementation of AJAX. Instead, "Atlas" extends the AJAX concept in two significant ways. First, the "Atlas" client script libraries dramatically simplify the tasks of creating rich UIs and remote procedures calls by providing you with true object-oriented APIs and components for Atlas development. Second, "Atlas" extends the AJAX concept by providing a rich, integrated server development platform in ASP.NET 2.0. The "Atlas" server components include ASP.N
Re:What is ? (Score:3, Informative)
Here's an overview. [asp.net]
Re:What is ? (Score:2)
I believe that it is called jscript.net
And why is it tied to JavaScript?
1. It runs client side.
2. As far as I know their isn't a
3. Why not? JavaScript is used just about everywhere.
Re:What is ? (Score:2)
Re:Where? ajaxian.com (Score:4, Informative)
Re:Where? ajaxian.com (Score:3, Interesting)
1. A couple of guys from "The Iliad".
2. The name of a bunch of cars from the early part of the 20th century.
3. A major Dutch soccer team.
4. A toilet and bath cleaner.
5. A town in Ontario.
6. A character from the movie "Flash Gordon".
7. A "web technology" whose component parts have existed for ages, but marketing people believe makes them sound smart and "cutting edge".
8. Many other things.
It is NOT, and has NEVER BEEN, a mere "window cleaner"! Good god, man!
Re:Where? (Score:2)
Re:"Google uses it, and Microsoft is pursuing it"? (Score:2, Interesting)
Indeed. This story is absolutely unbelievable revisionist history and nonsense. I've written about my feelings [yafla.com] of AJAX (in fact I was honored to see that an AC already referenced it in this thread), and this article is exactly what pisses me off about the new-to-web-apps "AJAX" converts. This messaging expert is yet another dumb-ass trying to get in on the Web 2.0 action to earn some VC funding. She even used the word "paradigm" to really put up the fla
Re:Platform independent? (Score:5, Interesting)
It's almost platform independent. The main problem which primarily afflicts Microsoft's use of AJAX, such as in Outlook Web, is the way that the "A" in AJAX is "started".
Basically to initiate an HTTP asynchronous request, the Javascript code must create a special object which encapsulates the request and communication. Althought the interface and use of this object is for the most part standard, the way in which it is initially created is not.
So if you want a platform independent AJAX app, you pretty much need a bit of code which does things the Microsoft way when the standard ways don't work. Like:
Now, Microsoft-written applications which use AJAX only try the MS ActiveX methods, and not the standard XMLHttpRequest() function. Thus, although most of the application could have worked in any browser, this simple omission by Microsoft insures it only works under IE (and locks you into their technology).
It should also be noted that AJAX is a methodology and not a strictly defined API. For instance most AJAX apps rely heavily on the DOM API, which Microsoft mostly but not entirely adheres to. So there's lots of things that can cause platform independence problems if not coded carefully.