Building Richly Interactive Web Apps with Ajax
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'?"
No more cutesy terms, please.
Is Ajax compatible with the Odysseus web security tool or will it just cause Ajax to die a horrible death?
I Am My Own Worst Enemy
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
Even more stuff to learn. As if high school wasnt mind numbing enough.
Soap box, Ballot box, Jury box, Ammo box. Use in that order.
yet an other buzzword?
Webplication? Please.
it's a shame we don't have a standard web-app framework yet, because i've seen some pretty cool stuff done with XUL. i keep thinking "man, it would be awesome to have an XUL based webmail client. or an XUL based search engine" .. etc etc. hopefully what-wg will change things, but it's a shame to see all these competing web app libraries now because it really makes universality impossible
- tristan
an "oldskool" web developer grumbling about newskool kids who don't know what it was like back in the Real Days. Why, all we had were radio buttons! And they could only tune in AM! And we liked it that way!
Sometimes seventeen/Syllables aren't enough to/Express a complete
Ajax is not meant to be used on windows.
Maybe I'm missing the point somewhere, but if you really want something on the web to feel like an app, why not make it a Java app that runs in the browser? With all the different browsers and how they each handle Javascript differently, I much rather write something in Java and know it will almost always work on different platforms. Anytime I have to do something in Javascript, it almost always feels like a hack. I can't imagine writing something like the stuff Google does in Javascript. Is there really an advantage to doing stuff this way over the Java way?
SIGFAULT
Wonkavision? No, not television....Wonkavision.
Weblication? No, not web applications... Weblications.
Yeah? Well I think you're overrated too.
Ajax isn't a technology... its a cute name for a bunch of existing technologies.
.js file that just happened to be a cgi script. This cgi script would do some database queries and generated some javascript code that would update all the other fields on the client.
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
Secure messaging: http://quickmsg.vreeken.net/
I RTFA (I know, I should burn my /. membership card), but I got the feeling that the entire article could be summarised in a paragraph or two. There was a lot of handwaving, and not enough nuts-and-bolts stuff. I was looking for simple examples, etc. but other than links to Google's myriad offerings, there wasn't much else.
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
Can Mozilla integrate these apps better? From what I understand there's a lot of JavaScript going on to talk to the server, parse the results, etc. Could some of that be moved into custom reusable libraries in Mozilla / Firefox which the Javascript (Ajax engine) utilizes? I've noticed that Google Maps can take a heck of a lot of processor overhead. I imagine a lot of that is Javascript parsing which could easily be moved into compiled libraries.
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.
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. It offers a small foot print, interactivitey, mantains state, and can work with eneterprise backend logic (Web Services, J2EE, ASP.Net, and Coldfusion). Better solution hand down.
If your interested I wrote a short white paper on why its the future of web applications at http://www.jasonmperry.com/.
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".
Isn't he describing something like the Echo Framework?
Hey look, a web framework that uses javascript to dynamically update itself! It's only been around at that website since 2002.
Not only do Google mail, Google maps and several of the other examples feature pretty impressive interactive user interfaces, they also work just fine on FireFox. And on Linux. And the servers aren't tied to any particular OS either.
The ability to deploy full featured apps hosted on AnyServer(tm) and usable on AnyBrowser(tm) can't make Microsoft very happy.
~~~~~~~
"You are not remembered for doing what is expected of you." - Atul Chitnis
This article describes an architectural concept NOT an actual technology. AJAX, is similar to Client-Server in that it implies a mode of development for a given network topology and NOT an actual toolset. The richer interaction of remote scripting techniques will provide a significant challenge to XFORMS as it will be unable to compete with the functionality. XFORMS is what web driven apps should have been in '97, the new class of techniques using Javascript,CSS,xmlhttprequest and other DHTML tools are the way forward.
What will they search now? I can't see many sites, especially shopping sites, powering their interfaces this way. Suddenly they'd lose all their search engine hits and PageRank becomes that much less useful. Sure it's good for the likes of email sites and interactive maps, where the data wouldn't be indexed much anyway.
we're coders, not artists. (Flex or no Flex)
And Flash is expensive to buy, IDE wise.
HTML, Javascript and XML can all be developed on whatever text editor you like.
Adaptive Path Services: "We evaluate your site and offer detailed recommendations."
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.
my karma will be here long after I'm gone
Web developper needed, must have 5 years experience with AJAX
I love HR departments...
Mostly random stuff.
Dude. Seriously. It's 2005. Time to put down the Netscape 4.7 and walk away.
-my other sig is your mom
- a cleaning powder
It is also> 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?
Overall, I find this interesting despite some questions (interoperability, etc.). It looks convenient, it looks planned, and I've done hidden-frames work rather effectively.
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.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
Here is an article 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.
Some slashdotters have already identified this technique of using a combination of using javascript, xml, and dhtml has been around for some time (the article even says its mature). It has been refferred to in the past as javascript remoting or dhtml depending on what your talking about. I work for a company with a web database app that uses a similar technique. Our product, Sysbotz Enterprise has been in development about a year now which show you the age here.
I think the big deal here is not some much the technique or the new label they are giving it (ajax). Rather a educational effort to inform developers to thing past the traditional load page, post form, process, return results back to web browser concept of web apps. The web app needs to broaden its abilities and needs to be more interactive which greatly limits its uses.
Why do tech writers feel the narcissistic need to display photos of themselves next to their writings? That is probably the largest photo I've ever seen on one of these articles...and it's an awful photo at that. They obviously cut the baldness of his head off for a reason, and half the photo is of his black on black outfit.
Their whole site reeks of late 90's marketspeak. Slightly interesting article, though.
There is no gravity...the earth just sucks.
"Thanks anyway. You kids have fun. My browser will ignore your site(s) until I'm literally forced to use them."
I guess you won't be responding again, once I point out that there are three sections of Javascript in this very page.
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.
There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
Am I missing something, or is this company coming in late to the party and trying to coin the term "Ajax" as if they started the party themselves? Sounds like marketing BS to me. Just take a look at some of their wording. It's as if Google used Adaptive Path to create their client-rich interfaces:
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.
eTrade SUCKS
..and it really is beautiful. XML backend, Javascript frontend... deliciously platform independent, fast, and dynamic as you wanna be. Once you overcome some of the cross browser weirdness, it's a breath of fresh air.
(...but if someone says the word "Weblication" to my face I'll have to smack them.)
vk.
vk.
If one wants to look up addresses every single day, and requires advanced features of some form to do so, I'm sure your solution would be a "better" one. But since I just need to find directions now and again, Google Maps is the perfect solution - minimal, yet extremely user friendly and intuitive.
As for "custom protocol" and "dedicated network client"... Why? We have technologies like XML so that we don't need to write a new format or parser for every task we have. Who knows, though, if you're quick developing such a system the hardware developments in the meantime might not make your efficiency gains negligable. But I doubt it.
There are things that custom client/server models are good for. This is unlikely to be one of them for its user-base. And the people who need a faster network map system probably already have one.
There you will be guided with baby steps on how to implement a city, state lookup based on zip.
I would be almost completely convinced that Ajax is the solution to the Reload Problem, if it weren't that there is one imperfection: in order for it to work, Javascript has to be enabled in the client browser. Yah, ok, almost everyone has it enabled, but it's not 100%.
Even a small percentage of clients without Javascript is a major usability issue if you're talking about an enterprise web application. I avoid Javascript altogether, not because I don't like it, but because it's not a gaurantee.
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 plan to use IE as the business app environment. Databinding to native HTML controls was pretty cool - 5 years ago.
If you want links, try this, this, or this. It's even taught in vocational programming courses.
Well, at least that's what makes GMail, et. al. different/innovative.
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 approves.
When we were coding for a new major browser rev every 9 months, graceful degradation was a more useful concept. Today there are basically 3 categories of browsers: lynx, modern, and old-and-busted. They probably never considered lynx and decided to ditch old-and-busted.
If you can measure an appreciable productivity increase for a good UI, how much of that is worth sacrificing for lynx? Graceful degradation may have outlived its usefulness. Somebody's going to have to figure out how to make these apps accessible in another way.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
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 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 and its update.
It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
- Jerome Klapka Jerome
I'd rather those Flash examples than something like that zoomable Swiss map which was slow and kept forcing focus on the browser window when I was trying to click across somewhere else.
BTW, that ESPN example used Flash for the shot chart, but not the Game Updates.
'Thats they exact same thing a banana wrench monkey.'
Hi, try http://nevow.com and take a look at livepage and canvas. This isn't magic, people.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.