The Current State of Ajax
Dion Hinchcliffe writes "Ajax hasn't even been big a year yet and already open source development tools by the dozen are pouring out. Not to mention big names like TIBCO and Microsoft already have previews on the way of full-fledged IDEs for developing Ajax applications. Ajax may be the biggest software development story of 2005. Dion Hinchcliffe has a detailed article about how Ajax has evolved over the last six months and assesses the current state of tools, libraries, and mindshare. He also points out that Ajax will inadvertently end up being a driving force for Service-Oriented Architecture (SOA) for many organizations since it requires high performance back-end XML services."
Ajax will inadvertently end up being a driving force for Service-Oriented Architecture (SOA) for many organizations since it requires high performance back-end XML services.
I think we've been seeing this shift for a while now, since people went from fat client software towards more streamlined C/S replacements, due mostly to convenience and easier features, server updates etc. Plus you can't argue with the repeat revenue stream generated by services that you can offer your customer, as opposed to a single sale.
When did you move your email handling from a fat client to webmail? My first move was from Eudora to Outlook, then Outlook (yuk) to Pegasus (don't ask) and then to Hotmail and now Gmail. I don't think I'll move away from Gmail, but you never know.
Ajax unplugs you because you get the immediate, targeted response from the server that wasn't available before. So refreshing a whole page when I only need to see a small widget change is really what Ajax fixes. I look at Ajax as being only a bugfix to the intarweb and nothing else, really. Seriously, why do I want to refresh a whole template when I want to send only a little widget of text in the middle?
Frames were not the way to handle this kind of presentation/data separation, mostly because they could be indexed and that would confuse visitors coming to the center frame and not the whole display. Eventually many people just stopped using frames because they are clunky, and have strange display problems on varrious systems. Ajax remedies this problem, really. Hypothetically you could set up a site that had a bunch of frames that interacted independantly and achieve a similar result to Ajax, but who would want to have to handle the cross platform and cross browser problems that arrive when you rely on frames?
Ajax is definately going to push for more service oriented contracts and eventually I can see products dwindling or becoming wrapped into services and monthly subscriptions instead of out of the box solutions that are popular today.
I will bet that eventually we'll see some very thin looking clients in the near future, thanks to Ajax.
The dangers of knowledge trigger emotional distress in human beings.
SERVICE UNAVAILABLE
Nothing for you to see here, please move along. I guess Slashdot hasn't heard of Ajax either.
503 Sig Unavailable
The Signature could not be accessed. Please try again later or contact the administrator
Slashdotted by the second comment. That's impressive.
the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
You could see the dupes as the editors approved them.
Ok, the site is down, and I'm ignorant. What is Ajax? Free Karma to the best answer.
'Sensible' is a curse word.
"Ajax hasn't even been around a year yet"
Which is strange, because in 1999 I was making web applications that utilised hidden frames to post information to the server and return JavaScript arrays which I would then use to modify the limited parts of the DOM I had access to at that time. It worked in Netscape 3, Netscape 4, and IE 3 and IE 4.
So the techniques in question have been around for ages, and the use of Xml and the XmlHttp objects appeared several years ago with Outlook Web Access.
The ONLY thing that has been around for approx' a year is the utterly stupid name for it, "AJAX".
I'm glad other people are picking up on it and using it, it's very powerful, but let's not credit Adaptive Path with creating a technology or method that many people have been using for a long time.
If you have to use a name, then RIA (Rich Interactive Applications) is far more suitable and doesn't restrict the developer to asynchronous work only for it to be included in that.
Microsoft has an AJAX IDE coming out? Isn't AJAX supposed to do away with alot of Windows development , and replace it with browser based apps? I could see Microsofts AJAX IDE crippling Firefox in many 'accidental' ways.
Religion for nerds. Stuff that really matters
...to scrub out their server after that Slashdotting. ;-)
"Ajax requires high-performance service-orie....a@%JA6zzzz1...NO CARRIER
I think you can still find the cleanser at any Wal-Mart, Meijer or Kroger. ;)
...here's an article by Curt Hibbs on Ajax with Rails. He's got an "Ajax in 60 seconds" history lesson at the top of the article...
The Army reading list
Does anybody think of Intel Centrino when they hear AJAX? They are quite similar in the fact that it is just giving a name to using a combination of technologies. Also, has anybody ever heard a Best Buy computer salesman say "This one has a Centrino processor."?
Ruby on Rails and AJAX makes everything else obsolete. A coworker and I just implemented the J2EE spec in 25 minutes. We're working on the win32 api on monday!
Conformity is the jailer of freedom and enemy of growth. -JFK
Comment removed based on user account deletion
He also points out that Ajax will inadvertently end up being a driving force for Service-Oriented Architecture (SOA) for many organizations since it requires high performance back-end XML services.
Advertising programming languages with a pre-com-bust-style-buzzword-overload isn't very useful for gaining the attention of developers.
http://en.wikipedia.org/wiki/AJAX
Ajax is using Javascript to fetch only part of a web page and then updating the page with DHTML and JavaScript, reducing round trip time and server load and making the application "feel " more native.
I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
Does anyone here know of a good reference for balancing the "gee-whiz, nifty" aspects of ajax techniques with designing towards accessibility? I like the thought of, say, livesearch, but dislike the idea of breaking support for text-to-speech readers, assistive devices, et cetera.
In fact, the article in the story might have a terrific section about just this issue. But I wouldn't know, because the server fell over worse than I do after a gin-and-tonic bender.
Weird name, but very impressive. Though not an "AJAX" framework, with some effort it can be "bound" to an OOB request factory or something similar to have your cake and eat it (rich client-side stuff + backend server). Very cool. And it works with IE and FF, but obviously better with Firefox.
BTW, I love how this "AJAX" thing is just a cute name for a Microsoft technology that was first introduced with IE4. The first "AJAX" app was the Exchange OWA client.
Postings of articles about AJAX on /. seems to be getting very popular these days. Is AJAX important or just another fad?
Agility, Service-Orientation, Enterprise Architecture, and Software Development
State of Ajax: Progress, Challenges, and Implications for SOAs
A lot of bits have been pushed around the blogosphere on the topic of Ajax over the last few months. This includes my own post back in March, which gave a general overview of what Ajax was and what it does. A lot of exciting stuff has happened since then, and Ajax has rapidy matured into a development of major significance. Coverage has been all over the map and runs the gamut from Rasmus' been-there-done-that 30 second Ajax tutorial to Alex Bosworth's list of Ajax Mistakes to the uber-repository of Ajax knowedge, Ajax Matters.
Many of you already know that Ajax is a web client programming style which eschews traditional HTML web pages, which are only sprinkled lightly with JavaScript and reload pretty much every time they are updated or clicked on. Instead, an Ajax web client receives an Ajax JavaScript library into a hidden frame which provides run-time visuals on the main browser window that look and feel very much like a native application. Ajax web clients, once loaded, communicate with XML services on the back end (via a browser's built-in powerful XMLHttpRequest API), and then use JavaScript to manipulate what the users sees programmatically via DHTML.
All of this allows Ajax to provide a compelling user experience because 1) it doesn't reload the web page, and 2) it runs asynchronously allowing background server-side requests for information to be issued, all while the users clicks, types, and otherwise interacts with the application in the foreground. Google Maps is the pre-eminent example of a modern Ajax application: rich, interactive, easy-to-use, and predictive in that it loads the map tiles that are just offscreen in case you need them. This is all very good for web client client development, but why all the attention across the board?
Figure 1: Ajax: The first compelling new client application model since the modern web browser
Because Ajax is a sincerely compelling synthesis of the ubiquitous features found in the most popular Internet browsers is why. Practitioners of Ajax get high-intensity user interaction (end-user productivity), asynchronicity (efficient backround processing), web browser access to web services (web service access, reuse, and interoperability, as well as SOA integration), platform neutrality (browser and operating system agnosticity), and the Ajax feature set can be delivered as a framework you don't have to create yourself (developer productivity).
Individually, these items are very nice, but taken as a whole, working solution and you have something extremely special. While many folks thought the web browser story had stopped around the year 2000, Ajax takes us to a whole new place. Slashdot recently highlighted a notable new article in Wired that claims that the industry, mostly on the basis of Ajax, "has affirmed the viability of the web as a standalone software development platform."
This is no small thing, and has the potential to repave the modern application development landscape. Why? Because Ajax creates a rich and fertile new space for developing software solutions that can reach almost anyone, anywhere whatev
There are lives at stake here!
Ajax has been around for 50 years...
I started in about 2000 with hidden frames, Javascript, and DOM. I got the idea from someone else on the web; I thought it was brilliant at the time. I was able to auto-update forms without clearing the form, etc. All the stuff that AJAX is doing now.
It's nothing new. Other folks just think it is.
Microsoft is to software what Budweiser is to beer.
"Ajax hasn't even been around a year yet"
excuse me?
ajax the functionality has been around for 6 years or more
the buzzword "ajax" and the google maps implementation that skyrocketed the word to buzzword status has only been around for less than a year
i'm usually not one to champion geek snobbery
but when geek snobbery is pitted against cattle herds of phbs spouting buzzwords with little understanding of the buzzword itself, geek snobbery is more appealing
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
Dion Hinchcliffe writes...
'Dion Hinchcliffe has a detailed article about how Ajax has evolved'
It is never a good sign when someone talks about themselves in the 3rd person.
You gotta love those consultants, always after some free ad space in search of the dollar...
You can't (via "AJAX") query any site but the one that served the script without the browser imposing this scary security warning. We run the sites in question, they just have different domain names.
Sigh.
I realize there's worry about cross site scripting attacks, and in the end it's not a big deal, it just means moving the request to a server side proxy. It's just added complexity that wouldn't exist if someone didn't impose something "for our own good".
The "name" AJAX hasn't been around long, but client JavaScript loading XML from servers for dynamic page rendering, inrteractive with client GUI events, has beeen around as long as JavaScript and XML. Before XML, it was data in proprietary or app-specific formats. Along the way it was FRAMES. The technique has always been the wizardry of the most aggressive web developers.
But now the marketers have a buzzword for it. It's good to have them back. They got so spun out as the Bubble popped that we haven't been able to get them to get anyone to buy stuff for years. Now it's time for them get back to work, marketing the tech that the rest of us have been producing for the past 5 years. It's good to have you back on the team - now show us the money.
--
make install -not war
I did not think "Centrino" when I heard "AJAX." It's not like giving a single name to multiple technologies is rare, see; object oriented programming, linux, fuel cell, sensor fusion, quiet supersonic platform (QSP), etc. I don't see why you think AJAX and Centrino are so exceptional.
check www.litebay.org's search box for a good xmlhttp example.
The person who makes a technology popular receives technical fame for a good reason -- by making more of the world aware of a good technology, in a way that leads to deployment, the world becomes a better place. Sometimes, popularization adds more value than invention to an idea.
The guy who submitted it, is the same guy who wrote the article and has the downed server. shesshhhh
I prefer the "u" in honour as it seems to be missing these days.
We need to write out business apps in Javascript now because this is the only standard browser vendors can agree on?
Javascript, it's non-standard browser-specific extension syntax and the restrictive, incomplete and non-standard HTML DOM is an awful environment to write apps in, and it illustrates clearly just how dysfunctional the modern software industry is today.
AJAX is a shit way to write apps, it's central concept revolves around badly hacking around a problem that shouldn't even exist in a language that was never intended for use in such a way, its like we've got the worst aspects of every major technology available today, grudgingly provided by browser vendors who are want to take their ball and go home since nobody wants to use their proprietary ActiveX or XUL - in an incompatible fashion and we're supposed to see this as a step forward?
It's stupid, AJAX is stupid, and browser based apps are crap.
I gots ta ding a ding dang my dang a long ling long
Now I'm not saying that these are mutually exclusive technologies (Macromedia itself has put out some examples of them working together), but as someone who started out writing a lot of Javascript and moved over to Flash in part to escape browser incompatibilites, what is the technical advantage of Ajax as compared to Flash.
As far as I can tell, Flash is more accessible (they've built in hooks for this), and Flash uses less bandwidth. (It comiplies to a binary format.) There's an open source compiler (MotionTwin). Flash also seems to provide a better user experience. (Compare Google Earth to Flash Earth.)
I know everyone here doesn't like Flash because it's used for advertising, but people here talk a lot about how wrong it is to attack a technology because of how some people choose to use it.
So, seriously, I've been thinking about looking into Ajax some more, but right now I don't have a good reason to. Convince this Flash programmer that Ajax is a better solution.
Here's a mirror:
Service Unavailable
--
Dreamhost superb hosting.
Kunowalls!!! Random sexy wallpapers.
Hosting 20G hd, 1Tb bw! ssh $7.95
Linux, Apache, MySQL and PHP, for the uninitiated
I tried to get him to talk to me, but he was still muttering some shit about armor and went back into Erebus. So his current state: dead and bothered.
This is nothing more than a repeat of what we saw when Flash started to get popular.
AJAX requires a client that supports javascript in the first place, along with XML and whatever other bits of things (hidden frames.. god knows what else) to get and manipulate all this data.
So truly thin-clients (think Lynx circa 1996, guys) are SOL. Now it's AJAX or bust.
And you're probably thinking "well who the hell uses Lynx or some other, archaic, web browser?"
Well there are those people out there, but that's not all. I'm thinking about the non-human factor, computer applications that come in whatever form to consume the information available on the web. Many (though not all) don't have a javascript engine to execute the various instructions needed to get at the data. So once AJAX becomes ubiquitous (enough), search engines will either need to start using smart crawlers that can execute javascript, or their indexes will start to really be meaningless.
And that's just one of (what I vision) many non-human processes that take web pages and process them (the data marked up by HTML... remember, that's what the web has always been about, data structured with HTML) to produce more useful information for users, sometimes human, sometimes other non-human applications that futher analyze, compress, etc.. the data they find.
When Flash hit the streets, we saw this problem come up rather quickly, although many simply chose (and still choose) to ignore the issue. You still can't (really) bookmark a single page inside a Flash movie... so if there's vital data you need, you have to watch/move through the movie to get to the key page you're after. AJAX will prove to be no different.
So what? Use RSS or web services or some other means to provide information to non-visual applications (everything besides a web browser developed after 1998).
But RSS,SOAP,etc. is simply re-inventing the HTML wheel. They exist simply because HTML isn't being used the way it was always intended to be. You can write an application to parse heading tags and present their contents in a list format. You can write an application to submit a query via a POST operation (form fields) and parse the results back to the user.
Simple shit. Being done since the 1990s with great results.
But not anymore. The web is abused so much we reinvent HTML with XML. Now we only need a 4kb file to present a 20 character string to a consumer process. Bloated. Ugly. Inefficient.
And you think XML will be the answer? HELL NO. XSLT has no business even existing, and yet there it is. XHTML? Give me a break.
The web is a piece.
AJAX is just helping to quicken the flushing of the web down the toilet, and not helping to clean it.
Running arbitrary javascript is a security liability, which is why many people have it disabled. Whoops, there goes your latest buzzword.
TBL has one vision for the future of the web and AJAX proponents have another; "The web for drooling moron consumers, forced to use javascript and hence endure DHTML popups". The real future lies somewhere imbetween, without everybody attaching semantic metadata to every digital item and without clueless buzzword-weilding CTO's expecting to run arbitrary code on end users desktops.
What i learned with the painful development with javascript, is that standards are good, using the DOM model instead browser specific extensions is a good thing, better compatibility, the API is more stable, for this reason i think that the right thing to do is embrace the Document Object Model (DOM) Level 3 Load and Save Specification standard for asynchronous communication instead XMLHttpRequest.
But Version II and onward of Microsoft's AJAX toolkit will proprietize things.
Embrace. Extend. Destroy.
That's something a script should be handling for every site - it has an account on Slashdot, and can see the mysterious future posts - if there's a link to their site in it, it sends an alert to the sysad.
Use a proxy.
Create a page in your favorite scripting language that forwards the HTTP request for you. Then put that page in your domain, and make AJAX calls to it.
5 lines of ASP, PHP, Perl, or Python... or 20 lines of JSP. Easy!
Rich web applications... what a great idea.
I've been telling clients for years (since about 2000) to give up on any grandiose ideas of a highly interactive web site. Javascript and DHTML were just hype and didn't work worth a shit in the real world.
Ironicly, my main example was Google... a dead simple interface that lived within the limited means of HTML and was still extremely usefull. Nowadays, Google is leading the way into more interactive web applications. So, I guess it's time to change my advice.
Still, AJAX is basically a dirty javascript hack to achieve rich interactivity in today's browsers.
I hope the evolution of interactivity in the browser doesn't stop here. It seems like there's got to be a less hacky way. One good thing is that the use of XML should allow client side technologies to evolve independently without having to rewrite server-side code.
Anyway, it's about time!
-cbare
Five years ago I thought that something like VNC would become the preferred way to deliver server-based applications (email, for example) to thin clients. Instead we have AJAX. Why? I think that until recently network latency was too slow to use VNC from one side of the planet to the other. As a result we got HTML-based solutions which require less frequent round trips, but are less flexible.
Home broadband speeds are now fast enough that VNC-like "webmail" could be a good option, but maybe it's too late: we have already gone a long way down the HTML route, from which AJAX is the evolutionary development.
From the server perspective, AJAX is also easier to make lightweight: it's currently quite a challenge to support thousands of simultaneous VNC sessions without using vast amounts of RAM. Maybe some smart programming could solve that.
I'll just mention my favourite AJAX application, Anyterm: http://anyterm.org/. It uses an Apache module to implement a browser-based shell. Great for remote admin through firewalls.
I just finished about 4 months of work writing two AJAX apps using PHP with javascript and while the end result is what we were hoping for and the app runs beautifully, it took me a tremendous amount of time to code it as compared to a standard fat-GUI-app that runs on the client machine.
I basically did a port of the functionality I had in two Perl/TK apps, but I wanted portability and easy updates of code and I had just done a stress test of AJAX in Firefox and IE and they both seemed to handle the load OK so I started developing.
I did not use any tools aside from a text editor and the browsers to test in. The tools like SAJAX just created bloated code that crashed the browsers once things got too complex for them so I decided just to hand-code it from there on. I built in some session security and user authentication both of which ended up working rather well.
These apps are querying other pages to get updates on phone system extensions statuses(from Asterisk) and other bits of information and updating DHTML elements constantly, so they do generate a lot of HTTP requests and use at least three times of the bandwidth that the fat-client perl/Tk app used to, but the database and web server seem to take the traffic OK and we thought that both of the browsers did too until we did some time tests.
We were able to leave the AJAX app running in the same Firefox session for over 2 weeks before we had to reboot the machine for other reasons which was wonderful and much longer than we thought. But, Internet Explorer never lasted a day. It seems that in the ActiveX element that handles XML requests(IE itself doesn't do it internally like Firefox does) there is a memory leak and within 2 hours our app was chewing up over 120MB of RAM and was getting slower. We tried several fixes and the only way to get the memory back was to kill the iexplore.exe process(This was on IE5.0 through 6.1). And that is the reason we recommend only Firefox for intensive AJAX apps.
In case anyone has read this far, the apps are GPLd and available on sourceforge. They are apps that extend the functionality of Asterisk PBX phone system extensions. You need to have Asterisk and the astGUIclient suite installed in order to test them:
astGUIclient project page
MATT---
There will be so many cool things that eventually the most cool thing will be to make/design/invent an uncool technology. That said, I like AJAX(remember I'm with the herd!)
Java Oracle Linux Enthusiast
http://64.233.179.104/search?q=cache:9KCH9m8EYhMJ: hinchcliffe.org/+site:hinchcliffe.org+AJAX&hl=en
Enjoy
AJAX has been around for a long time.
The fact that the technique now has it's own trendy acronym to represent it (like DHTML = JS+CSS), just means more marketing possibilities for devious IT sales kacks.
the only permanence in existence, is the impermanence of existence.
When someone added DLL's and .so's to C they didn't rename the language or call it some special nickname. AJAX is nothing more than using a standard object to retrieve data in ECMAScript. Its like calling every program that uses the OpenSSL library CSLX. Its an insult to the people who worked hard on JavaScript and the DOM object model to rename their creations AJAX.
I can't believe nobody has mentioned XAML yet. Doesn't anyone remember hearing Miguel de Icaza ranting and raving about how XAML was going to spell the end of cross-browser, cross-platform web applications as we knew them, because everyone would be writing stuff that requires a browser that has the entire .NET API embedded inside it?
It's becoming very clear that AJAX is going to stop XAML dead in its tracks. Microsoft was pushing this whole "rich vs. reach" thing, but with AJAX you really can have it all. No need to restrict your user base to Windows XP or Vista in order to get rich controls in your web apps.
I think that's the more interesting story here. The monopolistic Windows desktop isn't going to disappear overnight, but the continued existence, improvement, and increasing pervasiveness of web applications will continue to make the non-Windows desktop more viable and widespread. (Click on the link in the previous paragraph to read a longer piece on why this is the more interesting story.)
Tired of FB/Google censorship? Visit UNCENSORED!
AJAX is great. But it's not like it's a reinvention of the WWW or the Internet or something like that.
Anthony Papillion
Advanced Data Concepts, Inc.
"Quality Custom Software and IT Services"
iBrij is Invisible Browser Requests In Javascript.
Don't try that "protecting the children" shit you people use to keep the tits and bad words off my TV. --Seanbaby
While complex apps have been written for the web, not to mention the great things google has done, they are in the end still very hack-oriented.
I think what is really needed to get things off the ground as far as usability is something that is: (a) (really) cross-platformable, (b) language-agnoistic, (c) easy to run/use/create, (d) fast, (e) easy to use with most server types.
While by now I'm sure many people are ready to flame me that Java answers all of these, regardless of how you feel about it, it has not been the success that was once predicted. As long as the majority of internet applications are using the web for interfaces, it is not a success.
Many of the pieces are in place for such a thing. For example, Mozilla's framework may work, or perhaps the Trolltech toolkit QT, or maybe even Java. But with all of these there are still big obstacles. Can you make an interface in 5-10 minutes? How difficult is it to set up the server to handle the requests? Can you run the server easily anywhere (or will the cheaper hosting company only allow HTTP requests?).
Perhaps the best approach, is to continue using HTTPXMLRequests for data transmission, as that is the status quo, but for someone to come up with a complete solution to quickly build such interfaces. I think Interface Builder for Cocoa is a great goal for how one might put together such an app. Tie that together with something like Glade, or Renessance, it would make for a easy to allow for different languages/toolkits to use, and then have a standard API/library for communicating with the server. People can write bindings to their favourite languages, and you have something that is mostly cross-platformable. The only caveat, is for the scripting language, a correct interpreter is required per platform. One solution, would be to allow automatic download of the correct interpret for your platform if it is not detected.
AJAX is great. I know it. W3C becames SLOW! Does not move as fast as new technologies => more compatibility problems will arise... Future belongs to XUL/XAML but I prefer W3UIML (standardized version of XUL XAML) ;-)
Well, I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
An OpenLaszlo app behaves essentially like an Ajax app; data requests are made for XML data (or media) in the background, and the user interface is presented as a seamless window-system style desktop app.
Simple Example
Use apache rewrite rules to auto-coralize any references coming from popular sites like slashdot, fark, etc.
I have to ask why all this is news lately? There's nothing new about using JavaScript to asynchronously update a portion of a page. At my company (where I am the Web Services lead) we have been using this technique since 2001, and I don't begin to think we're on the leading edge of that. There have been people doing this since probably 1999.
I ask the question, but I really know the answer. Somebody stuck the word "XML" in it and it suddenly became the holy grail of Web programming. It's a good methodology for doing certain things, and I've honestly got to say if you didn't know how to do this before the last few months of hype, you're either not a Web programmer or you're on the bottom end of the Web programmer stack.
(Why complain? It's really, really annoying to have the things you've been doing day-to-day for 4 years be ignored while new people doing it are suddenly "powerful" and "cool" just because someone said it had XML in it.)
If you want to get the most out of AJAX, pass the information back to the client in a compact XML form. I recommend a format with one element per record with attributes for record columns. The whole point of AJAX is to keep the information tyou pass for each request between the client and server to a minimum. Of course, I couldn't fin the XMLHTTPRequest declation in your code either.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
I blame W3C! W3C is too slow to address hunger for RIA on the Internet. W3C becames to be more playground for big corporations trying to extend their influence (or sabotage anything that could harm their business) and not a forum for consensual agreements to benefit everybody (if it ever was the meaning of W3C).
Well, I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
I've been doing a lot of experimentation with JSON (JavaScript Object Notation) instead of XML. You do everything youw ould do the AJAX way, but the data sent back to the browser is directly interpretable by JavaScript. Thta takes an ENORMOUS load off the client.
JSON-RPC is an extension for doing RPOC via JSON.
Do we have to choose again what to support? Flash? AJAX/XUL? AJAX/XAML? AJAX/XHTML? JAVA? ...?
Where are we heading to? To AJAX WARS? Didn't we just get out of the BROWSER WARS?
Where is the problem?
Well, I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
XHTML? Give me a break.
XHTML is still better than HTML. XHTML is logically parseable. HTML has all these silly rules about closing certain tags implicitly when another is opened, and what not. m I find writing an XHTML page MUCH lessa nnoying than writing in old HTML.
There are instances where an AJAX like web app is the right way to go. A few years back I made one (just using an iframe and text, no XML nonsense) which really couldn't have been done as well any other way, especially since it had to be updated at least once a week.
Just because something is an over-used, over-hyped fad doesn't mean it has no uses at all.
In commonwealth pronunciation "kill zed cat" makes no sense.
For many data and information retrevial apps, do we really need Ajax everywhere? Or should it be used lightly only when rich functionality is really needed?
What he's complaining about is that the AJAX world sounds cool on the surface but is very fragile just below - Javascript really is not all that standard, even across versions of IE. And witness the post about AJAX style leaks in the current IE that will chew up memory left and right. Do you really want to be answering support calls about user browser crashes? Because if you go to fast, too soon down the AJAX road that's where you are headed to.
Years ago I was doing XSLT to HTML transformation on the server instead of in the browser to avoid exactly these issues, even though I could have done the transformations client side saving expense on the server.
Perhaps the answer is, oddly enough, to simply have users run applets whose only job is to really run Rhino, the Javascript engine for Java. Then at least the conatiner AJAX runs in is standardized...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Sorry, but it is kind of strange marriage. HTML/XHTML is not designed well to serve large AJAX application needs! XUL and XAML are better solution. But what should I do? XAML or XUL or maybe FLASH or JAVA? I've choosen XUL. But I'm not happy with it. I'm affraid that I will not benefit from it as I didn't benefit from browser wars.
Well, I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
SOA are mostly used to communicate between services. No user interface is required here.
I'm developing a SOA named XINS http://xins.sourceforge.net/. I've added an example on how to use AJAX with XINS. It was quite easy as the protocol for XINS is URL as input and simple XML as output. I think it could be useful for small API but when it comes to the user interface I prefer to use XSLT that transforms the XML to XHTML.
AJAX was there for such a long time but nobody cared to use it until Google showed the way with their Gmail and Google Maps and now everyone is writing AJAX books and creating "frameworks" around it. All the web designers were previously focusing on getting their pages browser complaint and even reach all those user who use no-frame, no-javascript, no-cookies old browsers with little screens. Google took us a step forward by being bold and re-introducing AJAX to the world. Thanks to Google, we will see users change their behaviour, browsers standardize, and lot of interesting rich applications.
Explore your creative side
coming soon. I just asked at Barnes and Noblel...they can search for upcoming titles...the first they will have on their shelves is november. one more to be published before new years. two or 3 on their radar for next year. I can't wait! anybody have new of an earlier publication? any docs on line?
SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
Great, How am I supposed to use a flash application with a braille terminal connected to a brltty device on Linux ?
Léa Gris
Christ, this is why I hate Slashdot -- the guy's been dead for at least 2,600 years, and the editors are trying to pass this on as news...when do we finally get to pick our own stories?
I prefer Ajax over Comet any day.
Steve's Computer Service, Hobbs, NM
Give it a hype name, and presto, instant cred.
Yes - the technology behind AJAX has been there for quite a while, in some form or another. But it didn't have a name, something that easily rolls off the tounge and sounds "cool" to the average person (not too mention it also is a name people have heard before as a "good" product - so it hits those feel-good patterns in the brains of many people). AJAX - web technology, patterns hit: clean (the AJAX brand cleanser), good (the AJAX brand cleanser), does the job well.
So - keep this in mind next time you develop a product of any type: give it a good marketable name, something that rolls off the tounge and people can easily remember - then market/advertise it enough - and you will have a winner - even if the actual technology behind it is crap.
Case in point: Ogg Vorbis vs. MP3 - which one is better, which one is worse? Which one rolls off the tounge, and which one is more difficult to pronounce? The choice is clear. Couple that with the obvious fact that MP3 has been out longer and thus has more airplay, so to speak, and the "winner", even though arguably less superior in many ways (quality, size, and "openess" of the player/encoder - ie patents) to the OGG standard - is the one people will remember and use (and this is possibly why other competing standards aren't "winning", either - though a standard that comes out and plays on MP3 - like MP4, or something similar - might edge it out)...
Reason is the Path to God - Anon
From my experience, Echo 2 is by and large the most complete and stable AJAX toolkit for Java. It has a very nice pure Java swing-like API and is very extensible. The Online Demos are very cool and definitely worth a look. If Atlas is the AJAX framework for .NET, Echo2 has got to be the equivalent for Java.
I've used it on TrackIt for a few weeks now and in my opinion, it is head and shoulders above any open source Java web framework, AJAX enabled or otherwise.
This guy claims there are many development tools for Ajax.
So where can we find the javascript debuggers for IE, Opera and Safari?
This is the most important part of any Ajax development environment, as there will be a lot of complicated javascript and it needs to be tested on each browser you are going to support.
AJAX is constantly being hyped, but there isn't even a solid foundation out there yet. Very few websites have good ajax information, books are few and far between. Even sitepoint's book that is advertised as AJAX centric really only tells you to use an existing open source library.
There are a lot of great things that you can do - it opens up web applications a good deal - but there are still accessibility issues and support issues accross a few browsers.
"Ajax hasn't even been big a year yet and already open source development tools by the dozen are pouring out."
*gag* *choke* *vomit* A year?
What a load of crap. I hate how someone gives the blasted thing a name, google releases a web app and suddenly the shunned hated upon bastard child is the new golden boy for the web and everything modern. What fresh new technology! *spite* *snear*
I've been screaming at opera to include XmlHttpRequest for years now and basically been completely ignored. The only responses I ever got where `who gives a damn? -- no one uses that for real`.
But really,
All these AJAX tool kits are going to really fuck things up. XmlHttpRequest is just an asyncronous way to pull data off an HTTP server. Smart people realized the true value: not that you can make 50% of web browsers dance like puppets on strings, but that suddenly data exposed via HTTP can be accessed very immediately by anyone. Smart people who realized this built cool webapps around very very smart servers: that was the world of XmlHttpRequest.
Ajax on the other hand is pretty much synonymous with fancy web page that dont have to reload. IDE's to build flashy web pages for us are only going to further obfuscate and destroy the fact that XmlHttpRequest is simply a way to exchange data. Well designed asyncronous architecture was what made XmlHttpRequest so amazing, but its about to be burried under a mudslide of syncronous commands being sent back and forth to make the browser dance in some asnine way. Wake me when the buzz has died down some, I cant hear with all this racket going on.
[On the other hand, toolkits can be very handy. I was massively impressed with the Dojo toolkit when I scoped it out a while back. What other toolkits are people using these days?]
Myren
Could you use some more acronyms? I haven't gouged out my eyes far enough yet.
I hate to say that all this buzz around something which was there since last 5 years in one form or the other is not warranted that much attention. Everybody does the ajax style calls to avoid too many page turns right from simple validations to complex dom replacements. I see everywhere, AJAX getting so much attention just because google uses it ? god. what the hell is going on.
Comes from a company called Convea, which I believe is just one guy and why I'm all the more amazed at it. It's certainly inspired me to rethink what is possible with a browser, and what great benefits web applications bring over conventional apps.
Check it out: http://www.convea.com/
This is so going on my nerves I can't tell anyone.
Once again:
As long as JavaScript doesn't behave predictable across Browser DOMs just as CSS has learned by now to behave 95% predictable across plattforms and browsers this whole AJAX thing is NOTHING BUT F*CKING POINTLESS!
The concept of rich clients (what Ajax is all about) in ancient! The only thing that lacks is a cross plattform enviroment that people are willing to use by default in favour of dumb clients.
We've got Java (to difficult for most people - especially for those getting high on Ajax just now), Flash/ActionScript (good but reputation spoiled by same people) and XUL (Firefox/Mozilla only - xulrunner still in the works) but tres cool and a real GUI kit.
So, if you think rich clients are cool, build them in XUL. That's ten bazillion miles ahead of Ajax.
Ajax is nothing but, and I mean absolutely nothing but a marketing hype scheme started by these people. So would you please just ignore it. There are a lot of other much more mature technologies for this that would actually deseve the attention. I mentioned XUL allready, but those countless open source Flash/AS projects out there are also worth a look.
We suffer more in our imagination than in reality. - Seneca
I suppose you mean that ever-present universal XAML that all the recent WindowsXP, OS X and GTA San Andreas patches and updates rely on? ...
Not to mention the upcoming Nintendo GBA Micro that runs a special implementation called Micro-XAML.
We suffer more in our imagination than in reality. - Seneca
Could someone perhaps point me towards a good Ajax-related user forum akin to Javaranch or House of Fusion? Thanks.
Sanity.html - Error 404 not found
who the pointed headed bosses are that decide to build software on top of languages like Javascript. People who advocate this kind of thing need to die a slow, painful death. VBA is bad enough.
... it felt a lot like writing a toolkit like GTK from scratch, and then developing the app proper. well, guess what? i'm sure the next time it'll take a lot less time, since now you have a framework already.
nothing prevents some such AJAX frameworks, both commercial and open-source, to become widely available in the days to come...
I don't feel like it...
"It'd be much more effective to just grep slashdot's front page for a link to your site whenever you detect a visitor has been refered from slashdot. If there's a match, start blocking connections from everywhere except coral cache and the various automated article mirror sites."
Or you could simply redirect Slashdotters to Goatse.cx and have some fun.
who:
- are Feyenoord supporters. [1]
- have AIDS, syphilis or the like. [2]
[1]: Ajax is a major league soccer club.
[2]: In Dutch, having a SOA roughly translates to having an STD.
The Hacker's Guide To The Kernel: Don't panic()!
"Most webmasters /want/ as much traffic as they can handle."
Commercial sites might, but personal sites don't need the big bandwith bill.
Dion Hinchcliffe writes "... Dion Hinchcliffe has a detailed article about how..."
What the fuck?
I absolutely hate web-based apps, and can't imagine why ANYONE would WANT more of them.
Imagine if DNS was a web-based app... No automating it. No tying it together with other programs ("the Unix way"). In fact, it would be so incredibly inconvenient as to be borderline useless.
If you have an application you want people to remotely use, make a protocol for it, and let people write NATIVE clients. Not some bloated web browser that is slow, inflexible, unstable, etc.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Real men use real language
For Dutch people this is quite misleading. Sounds like some soccer players (Ajax) have caught a Sexually-transmitted infection - abbreviated as SOA in Dutch.
i thought Ajax was a footbal team :))
I am using this 'hidden frame technique' with javascript calls already for quite a while now and 'invented' this when a client needed a way to save data generated with a handheld PDA with barcode-scanner to order new stock.
.dbx file with inventory data.
Since there were no programmers to be found who could manage to write a 'real world application' (.exe) in a limited time, I built the whole thing as a mini-site using javascript to query the numbers in a database via a hidden frame, inputted by the PDA-thingie. It saves the stock ordered to a specially formatted file.
All is running on a local Apache server using PHP for processing data and reading a
And for another client I wrote a site-searchengine, which displays results without refreshing the page...
IMHO this AJAX stuff is nice, but very bloated, I'd rather write custom Javascript myself.
Where do you want to go, toady ?
There is a great AJAX API/ToolKit for those just getting started. It is the easiest I have used so far in any of my applications.. It is called "AJFORM". I do not remember the URL however.
Natural Selection: self-destruction of the poor and lazy
Don't take this as anti-AJAX. That kind of architecture is great, but it's the notion that the new AJAX buzzword describes new ideas that annoys me.
Of course Microsoft has been supporting it since the 90's, but it goes back a lot further than that.
For a long time, I've been evangelizing and more importantly implementing interactive applications that run efficiently over thin wire (dial-up modems, ISDN, early internet before it was fast, etc), which are locally interactive and efficient because there's a programming language on each side of the connection that implements custom application specific protocols and provides immediate feedback without requiring network round trips.
Before he made Java, James Gosling wrote the NeWS Window System.
I did a lot of work with NeWS, as a user interface researcher, commercial product developer, and a gui toolkit engineer for Sun, implementing distributed applications as well as user interface widgets and gui construction tools.
I've programmed NeWS to implement many user interface widgets (pie menus, tabbed windows, terminal emulators, graphics editors), gui toolkits (Suns TNT Open Look Toolkit, Arthur van Hoff's HyperLook user interface construction tool), and applications (UniPress and Gnu Emacs text editor interfaces, Ben Shneiderman's HyperTIES hypermedia browser, PSIBER visual PostScript programming and debugging environment, PizzaTool for customizing and ordering pizza via FAX, a cellular automata lab, a port of Maxis's SimCity), and lots of other stuff.
Now I develop distributed applications with OpenLaszlo, which embodies all the great qualities of AJAX without the horrible compatibility problems and shitty graphics. Macromedia though OpenLaszlo was such a great idea that they made a proprietary knock-off called Flex, for which they charge $12,000 per CPU. The future of Laszlo is secure since it's free software with an open source license, but Flex is in Flux since Adobe is buying Macromedia.
I'm quite happy to have found OpenLaszlo, since it's got all the advantages of NeWS, it runs beautifully and consistently on all platforms, the people developing it really understand what they're doing, and most importantly it's open source. NeWS was a technological success, but a commercial failure, because Sun refused to release it like X11. But OpenLaszlo applications really do run everywhere consistently, support XML standards and rich dynamic graphics vastly superior to anything you can do in DTHML, and they're great fun to develop.
Here's a message I wrote on the news-makers mailing list (a mailing list about NeWS that I started and maintained during the Window System Wars of the 80's), discussing the difference between Adobe's approach to Display PostScript, X11's inherent deficiencies, and Sun's approach to NeWS.
To avoid confusion:
Take a look and feel free: http://www.PieMenu.com
The harsh reality of AJAX (besides the obvious fact that it has sucky graphics) is that it's extremely difficult to write code that runs the same in all browsers, and you have to relentlessly test against each different browser on every different platform that you plan to support. Flash has no such problem, because it's identical across all platforms.
The lowest-common-denominator graphics AJAX can support across all browsers are crude and clumsy. Google maps has to bend over backwards and depend on the server to draw a diagonal line with transparent PNGs on Firefox, but it can't use transparent PNGs on Internet Explorer, so it has to use non-standard VML instead. It can't simply do everything in terms of SVG or PNG or VML: it actually has to support BOTH PNG and VML, but can't take advantage of vastly superior SVG since it's not commonly deployed nor well supported! All that rube-goldberg technology, just to draw a stupid line.
AJAX applications require a huge amount of extra work to develop, and even more to maintain, because of the necessity of dealing with evolving browser incompatibilities. And the end result simply isn't worth all the effort, since the lowest-common-denominator graphics and the resulting user interfaces are so crude and limited.
For example, Pie menus should pop up in round and arbitrarily shaped windows, but it's impossible to even draw a circle with DHTML, let alone a spokes and speech bubbles!
AJAX practices must balance on a randomly swerving rasor's edge: the intersection of what works on all browsers at the time of implementation. But all the browsers are constantly evolving in different directions, so today's hacks and kludges you're forced to use to work around bugs in today's various browsers will make your application fragile, complex and hard to maintain, and it will probably break in future browsers. AJAX forces you to artificially limit yourself and refrain from using technologies like SVG, VML and PNG, or else you have to actually implement simple things like diagonal lines with several different technologies at once, sniff the browser, adapt at run-time, and fall back to server side rendering!
Maybe Google has the resources to develop and matintain several different ways of drawing a diagonal line over a map, but most companies and independent developers don't have as much human and computer resources to flush down the toilet on such a simple problem of drawing lines. Flash already solves that problem quite nicely thank you, and it's the most ubiquitous RIA platform that exists today, with open source development tools like OpenLaszlo.
-Don
Take a look and feel free: http://www.PieMenu.com
Yes there are many incompatibilities, so the only reason you haven't encountered any incompatibilities, is because you haven't tested your application on every possible browser and operating system, which you have to do in order to be sure your AJAX application will run across any platforms you want to support.
AJAX requires you to test against all browsers, because all browsers are subtly and not-so-subtly different. If you're not doing all that testing, then you have no way of knowing whether or not your AJAX application will really work on other people's browsers, and it probably won't.
You couldn't be more mistaken about the XMLHTTPRequest implementation in Internet Explorer being non-standard. In case you didn't know, XMLHTTPRequest was invented by Microsoft, and Internet Explorer was the first browser to support it. Microsoft's implementation of XMLHTTPRequest defines the interface, and all other browsers are implementations of Microsoft's specification. Better do your homework next time, kiddo.
It's incorrect to say that AJAX is a new idea, and it's also incorrect to say that Microsoft invented the idea. It's been around for a long time, in systems like NeWS, the Network extensible Window System, developed in the 1980's.
It puzzles me why a consulting company like Adaptive Path would want everyone to think that they believe AJAX is a new technology. It sounds like they don't know their history, and haven't been paying attention to networking technology for the past couple of decades, so they were blindsided by a technology that's been around for a long time, and now they want people to think they invented it. Now they're totally overpromising and hyping it, because they lack the experience to know its limitations.
Coming up with a new buzzword for an old idea isn't rocket science, and using the term AJAX makes people sound like newbies to me.
-Don
Take a look and feel free: http://www.PieMenu.com
My project requirement, not from me, but management, was NO plugins, NO flash, no Java Applets, period, end of discussion. Since openlaszlo uses flash it is out of the discussion.
Besides it costs me nothing to code in JavaScript, I can do it using notepad or vi. I have to buy a special tool from Macromedia to code flash.
FYI: just because flash is more portable, does not mean it is a better technology. Even if one were to say it is a better technology, it does not mean it will be more likely to be accepted.
Not sure about you, but every computer I have ever used, had to have flash installed manually. Also I have had problems with flash crashing firefox and mozilla, so I removed that plugin.
Lastly, JavaScript is easy to learn. Anyone who knows one programming language can learn JavaScript in a few days. Yes it maybe a little more work to get the JS to work right in IE and Gecko based browsers, but once you learn the differences, its not that hard to code for. 90% of my JS code works in all JS enable browsers, including links (not lynx). Biggest problem I have had is css, not JavaScript.
Only 'flamers' flame!
Does slashdot hate my posts?
We have been using AJAX here for about 1.5 years (yes, before it was called "AJAX" - I still hate that name).
Anyways, the biggest problem with it is not AJAX itself, but the browsers. Both IE and Gecko seem to have huge memory leakage problems when it comes to repainting DOM nodes on the screen.
During normal use, where the whole page unloads each web page, this is not notiecable. But try writing an AJAX application whose page should be able to be open for hours or days. You will see that even dynamically updating 1/4 of the screen with new DOM ndoes every two minutes will cause the browser to consume all available memory on the box within 24 hours.
In IE, this eventually leads to nearly a full windows crash. In Firefox, the browser needs to be totally killed and restarted. Neither is a good thing(tm).
There is no other viewer more widely installed than Flash -- not even close. The runner up Acrobat is more than 10% behind Flash's installed base. Why do you think Adobe is buying Macromedia for so much money?
Flash Player Statistics:
Flash: 97.6%, Acrobat: 87.1%, Java: 86.5%, Windows Media Player: 84.3%, Quicktime: 64.1%, Real: 58.9%, Shockwave: 55.4%, Viewpoint: 49.7%, SVG: 12.5%.
Flash Bundling Matrix:
Flash is bundled with Internet Explorer Win, Internet Explorer Mac, Netscape Win and Mac, AOL Win, AOL Mac, Opera, and with MacOS, Mac OS X, and Windows.
Your management is obviously stupid. My condolences. Not an unusual situation, but sad. Maybe you should look for another job.
You're totally wrong in stating that it's not that difficult to write code that runs in all browsers. Have you actually tried, or are you just saying that because you heard other people say it, and it sounds nice to repeat it?
Laszlo enables you to program Flash for free without buying any of Macromedia's tools. The cost of trying to write cross-platform JavaScript that runs in all browsers is your precious time and the quality of your application. There are some things more expensive than money, and you're wasting them if you're trying to use AJAX without being aware of its limitations.
Flash is much more portable than AJAX, and it is much better technology, by far, and it's widely accepted, much more so than any other technology. Flash graphics are much higher quality and more capable than anything that's possible with dynamic HTML, and you know it. Just try to draw a diagonal line in DHTML.
I can't diagnose what your problem is with having to install Flash manually all the time on every computer you've ever used, but I've never heard of anyone else with that problem, so you're probably doing something wrong.
JavaScript is easy to learn as long as you only need to use one version of the language, which is the case with Laszlo. But the subtle and not-so-subtle differences between different JavaScript implementations are extremely difficult to learn, and you waste a huge amount of time finding those differences by accident and then having to test against every browser use a bunch of half-assed debuggers and popup alert statements to diagnose the problems and come up with work-arounds for each browser.
Were you aware that JavaScript in Internet Explorer for the Mac does not support the push, pop, shift and unshift methods on arrays? Instead of a.push(foo), you have to go a[a.length] = foo.
If that's a surprise to you, then you're not qualified to write cross-browser JavaScript code. If you're using Array.push, pop, shift or unshift in your JavaScript code, then it absolutely will not work across all browsers, because it will crash on IE on the Mac, so you are fucked.
So does any of your JavaScript code ever use Array.push? If it does, then you're not writing code that will work in all browsers, and there are probably other incompatibility problems you're not aware of -- you'd better go back and rewrite all your code!
-Don
Take a look and feel free: http://www.PieMenu.com
You should realize that adding a method or any other key to the array prototype breaks "for (key in array) { ... }" so that looping over the keys in ANY ARRAY INSTANCE will return the method names you defined in the prototype as keys (although that behavior also varies between different browsers). So each and every one of your for loops have to get the value, check if it's a function, and ignore it.
Thanks a lot, JavaScript.
If you didn't realize that adding methods to array prototypes fucks up for loops in some browsers, then you're not qualified to program AJAX, because you're grossly underestimating the complexity of writing cross platform lowest denominator JavaScript that runs the same across all browsers.
AJAX evangelists are horribly hyping and outrageously overpromising the technology, strutting around like naked emperors, parading their ignorance of history and JavaScript programming.
-Don
Take a look and feel free: http://www.PieMenu.com
I'm a fan of Java Web Start too. The best thing about it is that it was supposed to break the horrible applet cycle which browsers got into a while back. Netbanks could use a standalone app instead of forcing users to deal with a whole-page applet (sadly, this never happened, and said netbanks still use their shitty applets.)
But actually, in recent days, I've seen people bitch about the size of the JRE download. Add to that the size of the app download itself and you have a problem for people on thin pipes.
AJAX apps might not save bandwidth over the WebStart approach... Overall, you probably still end up using more bandwidth than the guy who downloaded all the code up-front. But the important thing is that you can start using the app now, not in an hour's time.
And AJAX does use a lot less bandwidth than your traditional pull-the-whole-page web application. So it's a reasonably good middle-ground.
Of course, nothing stops you using Java on the client-side as well, to plug some of the holes where the browsers aren't as compatible. JavaScript can call Java and Java can call JavaScript back or manipulate the page DOM itself. :-)
Karma: It's all a bunch of tree-huggin' hippy crap!
The cool thing about flashearth is that my computer CPU usage goes to 85% load when the flashearth window is just *open* (Win XP, Flash play 7.0.19). When Google maps is open, there's no measurable extra CPU load. Flash is better, since it doesn't let CPU cycles just go unused.
***** Hi, I was wondering if you could provide some video clips or screenshots of the AJAX stuff you saw at the MSDN event where they demo'd ASP.net 2.0 for release in November? Or maybe could you tell us more about some of the AJAX features you saw? Thanks. I'm sure alot of readers would be interested in seeing or hearing more about it the new AJAX stuff. *****