Building Richly Interactive Web Apps with Ajax 358
FalsePositives writes "Ajax: A New Approach to Web Applications (from Adaptive Path and via Jeffery Veen) introduces their experiences with what they are calling 'Ajax' as in 'Asynchronous JavaScript + XML' aka the XmlHttpRequest Object. It is used by Google (Google Maps, Google Suggest, Gmail), in Amazon's A9, and a few others (like the map of Switzerland spotted by Simon Willison). ... Is this 'The rise of the Weblication'?"
Weblication? (Score:5, Funny)
Re:Weblication? (Score:5, Informative)
Re:Weblication? (Score:4, Funny)
Re:Weblication? (Score:5, Funny)
right?
think of the infotainment value!
Re:Weblication? (Score:3, Funny)
- Tom Phoenix
Re:Weblication? (Score:5, Funny)
yeah, but what about... (Score:3, Funny)
Weblication? No, not web applications... Weblications.
Re:Weblication? (Score:2, Interesting)
Compatibility? (Score:5, Funny)
Re:Compatibility? (Score:3, Funny)
Re:Compatibility? (Score:2)
However by far the most important question is, was the lit class you probably took at some point worth the hassle of understanding the parent joke? :-)
new acronym (Score:5, Informative)
old technology, noob developers
remote scripting has been around since 1998 with Dan Steinmans DynAPI, then Brent Ashley published his remote scripting and a plethora of remote scripting projects popped up on sourceforge
the only thing new here are the developers/kids calling it Ajax when its nothing new or original at all, not to mention MS has had remote data binding on elemnts since IE4 !
sheesh
Wow (Score:5, Funny)
Re:Wow (Score:2)
And we didn't have any of this here fancy eethernet! We used Tokenized Rings! Now that was networking! And Arked-Nets!
Young kids today have no appreciation for all the hard work we did back in MY day! (humph!)
Re:Wow (Score:5, Funny)
Dilbert: You had ones? We had to use lower case L's.
Re:new acronym (Score:2)
Re:new acronym (Score:2)
Re:new acronym (Score:2)
Re:new acronym (Score:2)
Re:new acronym (Score:3, Interesting)
This is not really old technology. Pieces of it are old. What's new is the ability to really do it in the real world, thanks to some pretty decent standards support by all the major browsers, including the XMLHTTP object, which is what makes it possible to send a request dynamically.
The name Ajax? Well that's just what this guy is calling it, and it's not an altogether bad name. Call it whatever you want, but he's absolutely not wrong that this is a
I used it for a state wide web app. (Score:3, Informative)
I (and my business partner) used this technique 5 years ago to develop the budgeting system used by all Idaho state agencies. It uses IE5 with a few ActiveX controls (grid, custom combo boxes) bound to an XML data source. The result is a rich application-like experience within the browser.
The back end is IIS + SQL Server. The server runs in Boise. Hundreds of users from dozens of agencies around the state manage their complex budgeting process with this app.
XMLHTTP was a key technology in Microsoft's
Re:I used it for a state wide web app. (Score:3, Interesting)
Also check Professional ASP XML [amazon.com] - Chapter 12: Client-side Data Binding with XML. Copyright 2000.
Greeaaaat (Score:3, Funny)
Re:Greeaaaat (Score:2)
Are you implying that you actually have to learn stuff at your high school? Damn, I was cheated!
Is this the rise of (Score:2, Insightful)
Webplication? Please.
Re:Is this the rise of (Score:5, Funny)
I think what we need is an RFC on buzzwords to introduce some standards to the whole marketing process. Of course, then the new hyp could be labeled as buzzword-compliant.
XUL apps (Score:3, Interesting)
Caution (Score:2, Funny)
Java app (Score:5, Interesting)
Re:Java app (Score:5, Insightful)
First of all, almost any PC will have a semi-recent IE installed (or Firefox for the more enlightened), and that is already enough to run Google's stuff.
Compare that to the Java plugin requirement, which, sad to say, is pretty far behind in availability on most PCs.
Also, Javascript-based stuff is easier to program, trust me on this. Layout of elements is much easier - and it can be done in any decent HTML editor. Finally, there's no thread-related insanity that AWT/Swing bring to the table.
Re:Java app (Score:5, Insightful)
I think the point is that you don't need to insert an object or rely on a 3rd party enviroment. You can do it in Javascript.
Also, the reason this is so very cool is that it doesn't tie your applicaiton into a backend of any kind, you can scale your backend as long as it spits out XML. I think this is the reason so many of the big companies are going to it. They require a bit more flexibility on that end.
Re:Java app (Score:2)
Re:Java app (Score:3, Funny)
Flash + Java = Flava!
And we can get Flava Flav to promote it!
YES! Bow before the mighty marketing droid!
Re:Java app (Score:3, Insightful)
And Flash has 99% penetration, which is probably better than the numbers for browsers which properly support Google Maps.
Re:Java app (Score:2)
Every second line has to be a hack to cope with browser differences!
Re:Java app (Score:5, Insightful)
data = (!window.XMLHttpRequest)? (new ActiveXObject("Microsoft.XMLHTTP")):(new XMLHttpRequest());
data.onreadystatechange = readyStateChangeFunction;
data.open("GET",url,true);
data.send(null);
return data;
};
You were saying?
You don't need ActiveX objects (Score:3, Interesting)
You don't even need to use ActiveX objects in IE. You can use document.createElement("xml") and use Internet Explorer's built-in XML islands extention [microsoft.com] to load content, which seems to work even if ActiveX is disabled (at least for me) in IE6-SP2. Pimping my own stuff: I wrote a few journal entries on this topic a while ago. Check out the original article [slashdot.org] and its update [slashdot.org].
Re:Java app (Score:4, Insightful)
Can I say it again?
Bullshit Bullshit Bullshit.
I write these kinds of apps. I have been doing so for years now. I haven't written a browser-fork in code in AGES. I don't even use the hacks in CSS for chrissakes. They aren't needed.
Remind me never to hire you mmm kay?
Re:Java app (Score:4, Interesting)
Our stance with new contracts is that we write to standards only for web apps. We will NOT enter into ANY contracts that specify explicitly what browsers will be supported. Pick a standard or pick someone else is our current motto
Re:Java app (Score:3, Interesting)
-matthew
Re:Java app (Score:5, Informative)
1. Speed - It f'ing fast
2. Startup time - Instant
3. Footprint - small
4. Browser support - surprisingly consistent. Event models need some work, including Firefox.
Did I mention that it's fast? Check out google suggest, realize that there's a round trip to the server going on in the background, and you'll get the picture.
It also maintains suprisingly light code. You just register an event handler of some DOM element, and let the teensy bits of javascript pull up some fresh XHTML. This technique fits very well with simple event driven programming.
Another nice thing is that you can use most whatever as a callback. I'm using good old PHP, as PHP snippets are fast and lightweight.
I suspect we will be seeing alot much more of this.
Re:Java app (Score:2)
Not having a compiled language is a real pain when you do maintance because it is harder to trace throught the code or know when you broke it. (yah, you don't write comprehensive tests either!)
Joe
Re:Java app (Score:2)
Re:Wrong (Score:3, Insightful)
It couldn't. Its major advantage is that it works in a webbrowser. There's no need to develop a network client when a browser-embedded one will work. This is zero-install software at its finest - providing rich, feature-heavy applications that work using only that which is available in a cross-platform we
Re:Java app (Score:2)
If you stick to the standards and forego trying to maintain compatibility with very old browsers, you can write some pretty clean and functional apps with Javascript these days - and you can reasonably expect to run them on a variety of operating systems and platforms without the need fo
Re:Java app (Score:2)
DOM 3 Load and Save [w3.org] was published as a W3C recommendation almost a year ago, and works in Mozilla, Firefox, Konqueror and the latest Opera betas.
Re:Java app (Score:2, Insightful)
Also, many people are used to the concept of a "web-application" by now (CSS, tables, fun JS stuff, whatever). Being able to
Re:Java app (Score:3, Insightful)
2. The differences between platforms is way overstated. My apps run in Firefox, Mozilla, and IE for Windows, as well as newer versions of Safari.
Javascript is included in all browsers. Every platform that matters has an interpreter already. It's a great choice.
Re:Java app (Score:2)
In a previous job, I had to support NS 4.7. When users started calling to complain that they couldn't get to ESPN's website, I discovered that even the big boys will leave customers behind if it means slowing the train down.
Support as many users as you can. When you want to raise the bar of what you're putting on your site (or how you're putting, I suppose) then make 'em
Re:Java app (Score:2)
I suppose Java might be overkill for something like the Google Suggest and it is a shame loading the JVM takes so much time/resources. I think javascr
Re:Flash is cheating (Score:3, Insightful)
BTW, that ESPN example used Flash for the shot chart, but not the Game Updates.
Too skimpy? (Score:3, Informative)
Re:Too skimpy? (Score:4, Informative)
Very cool stuff.
I see a problem... (Score:2)
So if DOM is essential to the "display and interaction" (that is, the user interface), what does that do to non-Windows users? When they browse, do they just get nothing? Or do they get a crippled user interface?
Sounds a lot like JPSpan (Score:5, Informative)
-matthew
Mozilla? (Score:3, Interesting)
It would be very interesting to have these applications work better (faster, more smoothly) on Mozilla based platforms, and degrade into a portable Javascript-only implementation on other browsers such as IE.
could this be the death of flash? (Score:2, Funny)
Flash for Rich Web Applications (Score:2, Interesting)
If your interested I wrote a short white paper on why its the future of w
Because.... (Score:2, Funny)
And Flash is expensive to buy, IDE wise.
HTML, Javascript and XML can all be developed on whatever text editor you like.
Re:Flash for Rich Web Applications (Score:3, Insightful)
I don't understand why developers still look at HTML fix ups to make web applications rich. Especially when a tool like Macromedia's Flash allows a developer to build a rich web application with a clean interface that truly mimics a desktop application's.
Let me know when it works on my iBook running Debian (Google Maps behaves perfectly). And I'm sure people running BSDs and proprietary Unixes are equally thrilled by Flash. Clearly Macromedia doesn't care much for cross-platform compatibility, given th
Give it a name (Score:3, Interesting)
The cynic in me says that this guy took a good look at Google's innovation and gave it a name:
In this quote, read "doing our own work" as "invoking view source".
Re:Give it a name (Score:2)
Google's innovation? This technology has been around for years. Google are merely the first high-profile organisation to require it for public web applications. And requiring it is bad, the concept of "graceful degradation" is sadly lost on Google.
Re:Give it a name (Score:4, Insightful)
Which existing technologies? Google's use of remote scripting (that's the name it's had for years, I don't see the need to change it) uses HTML, CSS, Javascript and XMLHttpRequest.
Given that XMLHttpRequest has been used in relation to these technologies for just under six years, and that before that, invisible inline frames were used to do similar things, I fail to see how this is a novel combination of technologies. In fact it's hard to conceive of a use of XMLHttpRequest that didn't use these technologies.
GMail is the most complex example of it I have seen. GMail is the most popular example of it I have seen. But "complex and popular" does not mean "innovative" unless you are looking in a Microsoft dictionary.
Please go back and read what I wrote. I know this is impossible in those browsers. That's the whole basis for graceful degradation.
It is certainly possible to build a webmail application that works in Lynx and Netscape 4. It won't be very fancy, but it will work.
You can make it much more user-friendly for more advanced browsers in one of two ways.
Do it the Google way, and construct a Javascript behemoth that fails to function at all in browsers that don't support every feature Google wants.
Do it so that it degrades gracefully, so if a browser doesn't happen to have all the features you use, it falls back to less onerous requirements.
Quite frankly, I'm surprised that Google don't understand this better. If pages didn't degrade gracefully, the Google search engine itself would not be possible.
I should also note that we don't have to go back to browsers like Netscape 4 and Lynx when talking about this stuff - the latest releases of Konqueror, Opera and Safari have all had problems dealing with the GMail code.
fsck graceful degradation (Score:3, Insightful)
It appears they started with a UI design and worked backwards to figure out a way to implement it. If it couldn't be done in IE6/Firefox it got canned, otherwise they pulled out whatever tricks they could to get it working.
Google knows how to gracefully degrade. But the browser wars/innovation have been over for 5 years. They decided to focus on usability and leave the non-compliant browsers at the station.
The marketplace apparently
JavaScript ? I'm out. (Score:2)
Thanks anyway. You kids have fun. My browser will ignore your site(s) until I'm literally forced to use them.
Then, they won't work right unless I use the browser you developed it on... yea, G
Re:JavaScript ? I'm out. (Score:5, Funny)
Re:JavaScript ? I'm out. (Score:2)
Also, seriously, Javascript sucks eggs, IMHO... like I said, it's probably just a bad, unfounded personal bias I have based solely on historical issues ( security, bug-compatability across implementations, etc ) and just seeing lots of crap scripts, but... I'm not a fan. Most things Javascript are used for are either just annoying, or could be done server-side.
I'm generally of the opinion that, if what you really want is an active, full-fledged application, you should
Re:JavaScript ? I'm out. (Score:2)
What? XMLHttpRequest can grab an XML document in a few lines of code. What makes you think you need to "write an ungodly big JavaScript"?
Feel free to single Google out for screwing up compatibility, but it's a shortcoming
Re:JavaScript ? I'm out. (Score:3, Funny)
I guess you won't be responding again, once I point out that there are three sections of Javascript in this very page.
So basically what you're telling me... (Score:3, Interesting)
Hey look, a web framework that uses javascript to dynamically update itself! It's only been around at that website since 2002.
That dull roar that you hear... (Score:3, Funny)
Will this worry M$? (Score:3, Interesting)
The ability to deploy full featured apps hosted on AnyServer(tm) and usable on AnyBrowser(tm) can't make Microsoft very happy.
open source tool (Score:2)
nothing to see here... move along... (Score:2, Informative)
Search Engines (Score:2, Insightful)
web content developer toting new web design? (Score:5, Insightful)
Adaptive Path Services: "We evaluate your site and offer detailed recommendations." [adaptivepath.com]
wait wait, this is rich, let me get this straight: a web design company wrote a article saying what you're using now is the "old" sucky way and their new stuff is the way to go??
hold on! this is revolutionary! ;)
Not that AJAX isn't great, i'm sure it is, but this is like reading a article on how great a new car is that was written by the manufacture. Perhaps a more unbiased article needs to be submitted before I believe it.
oh and mod me +5 flamebait cuz i have so much karma i'm sniffing clouds.
I can see it now.... (Score:2, Funny)
Web developper needed, must have 5 years experience with AJAX
I love HR departments...
Hurrah! (Score:2)
What has been taken for granted in every client/server application (that the client and server can, well, you know *communicate*) can now be done in a HTML application. ...and there was much rejoicing.
It's a hack based upon unstandard JavaScript extensions, and even when it works, it still sucks for building applications.
However, even though unstandard it is supported by most browsers, and it sucks very much less the alternatives.
If you are forced to develop web "applications" this is probably a very goo
source please? (Score:2)
So, should I? (Score:2)
Should I do that? Or should I stick to using CSS/HTML + PHP and regular server-side coding, and then move to AJAX in version 2.0?
I love GMAIL, and the benefits of saving bandwidth and increasing the speed seem really enticing. As far as
Re:So, should I? (Score:2)
Implement this feature only when you have a problem with php->xhtml+css.
Also, there are things that break in the browser, like the back button, etc.
Also, it's harder to make changes to the interface unless you really modularize well, but that takes effort to implement.
Furthermore, recall that lynx and search engines don't use javascript.
Interesting enough, but I want to see more. (Score:3)
The article just doesn't SAY much. I want more links, more code, more examples. Yes, it looks pretty, but don't just show me the product, let me under the hood, let me test drive it.
That being said, I'd also like to know if this framework can integrate into others. If you could merge this into Mono, into STRUTS, etc. . . . then we've got something REALLY interesting.
Outperforming Desktop apps (Score:5, Interesting)
Here is an article [infoworld.com] by John Udell that I found fascinating when it was published a few months ago. It discusses the quasi-rich-client architecture that Google cobbled together to bring us GMail. The really incredible part is that interfaces built on this architecture, consumed in the browser, outperform commercial desktop apps:
I appreciate AP's efforts to assign some greater precision and clarity to this architecture. Up until now, realistically, I figured I had to be tethered to .net/XAML, Mozilla/XUL, or something like Macromedia Flex.
SVG 2.0 (Score:2)
We have been doing this for the last year (Score:2, Insightful)
I think the big deal here is not some much th
bad photos (Score:5, Interesting)
Their whole site reeks of late 90's marketspeak. Slightly interesting article, though.
Re:bad photos (Score:3, Funny)
So you noticed how they cropped the frame too close? That's cool. So is black on black. This guy is cool. That's the point.
If he had a darker complexion, dreds, and thick black-frame glasses he'd be even cooler. Especially if he was using a Powerbook in a park. But there's only so much you can do with a bald white guy.
Cool? (Score:3, Insightful)
Cool?
Developing applications using a particular technology because it's cool? Un-f*****g-believable. If you can get something on the web to interact almost as well as a client application it should be considered a miracle of design. The only advantage I see on web apps is that you don't have to install anything on the client PC, and even that's a stretch if you consider the apps that require flash, MSXML or all the different media players.
It's like calling lemmings cool because they invented base jumping.
PS: Yes, I have developed web apps with popout menus and using MSXML to generate SOAP requests for interactive content. It still sucks.
I Call Marketing Bull$hit (Score:4, Insightful)
Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year -- Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps -- are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon's A9.com search engine applies similar techniques.
I've been doing this for a while... (Score:3, Interesting)
(...but if someone says the word "Weblication" to my face I'll have to smack them.)
vk.
XmlHttpRequest The Easy Way (Score:4, Informative)
There you will be guided with baby steps on how to implement a city, state lookup based on zip.
Re:XmlHttpRequest The Easy Way (Score:3, Interesting)
For those reading, I recommend that you follow that tutorial with this one [xml.com] which then goes into more depth on generic request/responce scripts and XML handling.
Oh yeah, it took me a while to find these, so I'll add this list of pages that explained how to do the things that I w
Not First (Score:3, Informative)
Re:Also Check out Bits of News (Score:5, Interesting)
Basicly they found that you could make webpages update themself without completly reloading if you trow a lot of buzzwords at it.
You could do this a long time ago without xml....
I did it a while ago for a database app.. The page contained a piece of javascript that was started when a input field changed. This triggered the loading of a external
Jeroen
Re:Also Check out Bits of News (Score:2)
I don't know about others, but I've had problems with xmlhttprequest and security settings for some IE users, it's not all it's cracked up to be.
Re:Also Check out Bits of News (Score:2, Funny)
> XML itself it realy good if you use it the right way
You mean not as a marketing compliant TLA buzzword, eh?
Amazing what you can do with a text file, isn't it?
Re:Amazingly, mind blowingly new! (Score:2)
>
>It's like the marketing folks went plumb crazy generating this ad that was posted onto the slashdot front page.
Well, you see, by making everything in the ad a hyperlink, nobody can complain about our collective failure to RTFA. I mean, which clicky thingy in there was supposed to be TFA again? That " "--×oe" thing? 50 randomly spidered links on de
And when I tried... (Score:2)
Re:AJAX? (Score:5, Informative)
Re:erm (Score:2)
Instead on the pc I have to download yet another program. Use that program to convert it to an ISO, and then mount it.
That's great.