Props  |  Art of War  |  Leadership  |  Management  |  Software  |  Security  |  Project Management  |  Music  |  Movies  |  Stuff  |  Info
 
dragonCrew Topics
This term "AJAX" is the brand of a toilet cleaner product (very popular) and I don't see why we should have a new term for this technique.
Emil Tamas
 
Prev  Previous |  Next  next  

Ajax


Truism

The truth with all major technologies is that they will come to fruition. The bigger question that needs to be answered is WHEN? Just look at how long it took for the PC or Text to Speech to meet their orginal promises.

Educate yourself and separate facts from promises. Well, unless you're fortunate enough to have a hefty R&D budget!!!

Shew

Past experience has shown that you need to view all "revolutionary cures" with an open mind, dicipline and a bit healthy skepticism. This is based on history and the experience of witnessing past major and minor technology cycles from PC's, Client Server to the Internet. As a business it's all about evolution not revolutions.

Anyway, this my attempt at cutting through the buzzwords and Hype and getting to the heart of Web 2.0 aka Social Networking aka Social Software and it's practical application and consumer and commercial value. Web 2.0 is still in its infancy so be prepared for the teething problems. Remember context and practicality!

Social Networking apps are dependent on Ajax as a technology but Web 2.0 is not about the technology. You don't need to be a Social Networking site to use Ajax. I totally get web services such as eBay, PayPal and Amazon. These companies have great leaders who think horizontally and vertically. There is a threshold to bringing in traffic so why not embed your site into other sites by making features available to the others including your own customers.

The key take away from John Doerr's podcast was defining whether you want to be a service consumer or producer. Obviously, the cash is in being a producer - well as long as it is of monetary value to consumers!!!

Intro

OK, Ajax is absolutely koolio. Ajax is basically the next gen Javascript on steriods! Everything old is new again. Or as Paul Graham puts it, Javascript now works!!!

The keys are being able to perform HTTP request asynchronously with the web server aka Remote Scripting, via XMLHttpRequest or Microsoft's ActiveXObject("Microsoft.XMLHTTP") and using XML as a data exchange format.

Note that it wasn't Richard MacManus who coined Ajax. Jesse James Garrett kicked it off in his article, Ajax: A New Approach to Web Applications in February 18, 2005.

James Mc Parlane has written a great article, The Latest In The World Of JavaScript - "Ajax, Web 2.0 and the World Of Tomorrow" about the Ajax that includes the state of Javascript and the various browsers.

You can find a whack of Web 2.0 API's from ProgrammableWeb. Go and give one a try. Here's a great article from IBM that includes a sequence diagram of Ajax, Ajax for Java developers: Build dynamic Java applications.

Internet newbies shouldn't be wowed by XHTML popups because DHTML has been around for ages. The only difference between the two is the HTML but the javascript is basically the same!

Philosophy

The philosophy is that it's now possible to build better user experience via Rich Internet Applications (RIA) because bandwidth is cheap and PC's are now faster. So the theory goes that users will not really notice the download time required for the large client presentation layer files. Heck if people are willing to download MP3 and movies - people will definitely wait for their favorite site to load.

Sure there's Flash but Flash was never meant to be a development environment and it still isn't unless you only have one developer. Ajax and Flash Compared. Well, I guess this is where Macromedia Flex comes in - hehe.

Sure there's Java applets but applets are huge and in terms of creating RIA, applets are an oxymoron. Seriously!

Hopefully, the lessons of the thin vs thick client from the Client Server days have been learned.

What is Ajax?

The DOM Scripting Task Force has a succinct definition of Ajax. Here's some details and humour from the Web Standard Group interview with Jeremy Keith.

A scripting technique for silently loading new data from the server. Although Ajax scripts commonly use the soon to be standardized XMLHttpRequest object, they could also use a hidden iframe or frame. An Ajax script is useless by itself. It also requires a DOM Scripting component to embed the received data in the document.
DOM Scripting Task Force, Ajax Definition

Ajax isn't a technology. It's really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:

  1. standards-based presentation using XHTML and CSS;
  2. dynamic display and interaction using the Document Object Model;
  3. data interchange and manipulation using XML and XSLT;
  4. asynchronous data retrieval using XMLHttpRequest;
  5. and JavaScript binding everything together.
Jesse James Garrett, Ajax: A New Approach to Web Applications - February 18, 2005
Web 1.0 vs Web 2.0

First, Ajax (Asynchronous Javascript and XML) introduces potential user interface issues. In particular, poorly designed Ajax applications work in ways that aren't intuitive for the average user. For example:

  1. The back, stop, and refresh buttons don't always work.
  2. Since Ajax applications generate pages dynamically, there generally aren't static links available for bookmarking or sharing with others.
  3. Pages don't always print well.
  4. Applications don't run offline.
  5. Clicks and actions generally don't get included into a browser's history table.

My sense is that we're just seeing the tip of the iceberg when it comes to browser-based applications-there are many more on the way, and we'll be increasingly amazed with what can be done.

Dan Grossman(Dan is a VC to boot), Venture Forth, What's Wrong With Ajax? - September 21, 2005

Ajax is Real

  • Open Standards
  • Usability
  • Cross-Browser and Cross-Platform Compatibility
  • Benefits of Regular Web Applications
  • Incremental Skills, Tools and Technologies Upgrade
  • Works with Flex and Flash
  • Adoption
  • Web 2.0
  • Ajax is Server Agnostic
  • Next-Generation RIA Technologies for the Web Aren't Here Yet
Andre Charland, Top Ten Reasons Ajax is Here to Stay - September 21, 2005

Tutorials

Examples

Here are some examples for chew on. Think about how you can apply them to your existing business or even your new biz.

Site Type Description
Amazon Diamond Seach OMG Talking about getting it. Amazon has created a Diamond for Dummies component where you use a slider to choose price, shape, carat, cut, color and clarity. Even I (a guy) could pick and buy a diamond. Go and check it out.
Wysiwyg Editing Wikiwyg is a Javascript library that can be easily integrated into any wiki or blog software. It offers the user multiple ways to edit/view a piece of content. Something for FCKEditor amd TinyMCE to aspire to. I'm going to take it for a spin.
Ondra WWW SQL Designer Design a database from your browser - WOW. Oh, I hear Billy, Larry and the other big boys calling.
Backbase Explorer Group note taking. Everyone types on the same web page
Clearnova ThinkCAP JX RAD for Ajax, J2EE, and Open Source - Basic Ajax Examples
Protopage Bookmarks Ajax personal bookmarks springboard. Information portal
Zuggest Amazon Francis Shanahan wrote it .NET. Billy would be proud
qooxdoo Bookmarks Nice menu and toolbar examples - much more! An open-source javascript based toolkit
PrimalGrasp Spellchecker So Wired
Encodable Industries File Uploader Wired

Ajax Risk

Alexei White of Ajax Info has written a Most Xcellent article on Ajax and Technological Risk and how to mitigate the risk!!!. Alex also talks about the Cultural and Marketing risks. Anyway, it's a definite MUST read.

Ajax Risk Factor Triad

Security

Well, what did you think? Ajax was going to be easy? You have to be twice as secure. Now you have to add the same validation to Javascript as you did with your scripting language!!!

Here is some late night reading for you. Open Web Application Security Guide project has added Ajax.

Eric's Rules of Thumb for Ajax Security:

  1. If you use user authentication, make sure you check for it on the request page!
  2. Check for SQL Injections
  3. Check for JavaScript Injections
  4. Keep the Business Logic on the server!
  5. Don't assume every request is real!
  6. Check the data with validation!
  7. Look at the request's header information and make sure it is correct

Having common sense when programming an Ajax application will keep you and your data safe.

Eric Pascarello, Is Ajax unsecure? - November 16, 2005
  • Resource Theft: Resource theft can happen when Jack Innocent visits the website of Evil Bob. Evil Bob has written some XHR code that repeatedly requests compute expensive pages from the site of Victim Inc. Thus Evil Bob gets to use Jack Innocent to do his nasty work.
  • Cross Site Scripting: Should we ban cross-domain XHR because of XSS attacks? I'm not sure, but be sure of this: there are plenty of ways to allow XSS attacks on your site without cross-domain XHR.
  • Slow 3rd Party Web Sites: If you design your website to use thousands of small requests then you are asking for trouble - so don't do it! Likewise if you design your website to depend on a slow resource then expect your website to be slow. Eric is right in saying that proxy caching is a great solution to this problem, but let's not ban cross-domain XHR because people can do silly things with it.

Ajax Due Diligence

There are always two sides to every story. Ajax like all technologies has issues!. Make sure you know what they are before it's too late. Also before jumping in head first, use real world practices and perform the proper due diligence of the frameworks, libraries etc you are thinking of using.

  • Know what you want: Are you looking for pure XMLHTTP? Or do want XMLHTTP framework that includes components? I'm looking for the later.
  • Supported Browsers versions: IE 5+ (which will be a stretch), Firefox 1+ etc. Do the supported browsers match your users?
  • Supported Javascript versions: Same as the above. But how many people are using Javascript 1.6 anyway?
  • State of build: Is it a alpha, beta or production grade. If you're a production site then you better be pretty sure.
  • Bug list: Are there a lot of critical bugs? Are bugs left to rot or even worst unanswered? How long does it take to fix bugs?
  • Adoption: Are there a lot of people using it? Go and check out the implementations.
  • Support and community participation: Are there 100's of people participation in the forums? Are there new post every couple of hours.
  • Check the code: If you're using code, treat it as a white box rather than a black box. No use in being the goat.
  • Documentation: If there isn't any then forget about it. Examples are a must. Examples will be the starting point for drilling down into the code.
  • Roadmap: If none is published, make the effort to find out.
  • Test Drive: I know that this is pretty obvious for developers but take the frameword/component for test drive just like you would if you were buying a car. I'd suggested testing even harder!
  • Know what you're getting: Nothing is perfect. All this sounds like a RFQ or RFP

Rants

I've been checking out a handful of libraries and more than a few are lacking in the area of components/widgets. There are way too many Javascript errors. No wonder they're plastering BETA in their site logos!

Check out the Open Source Applications Foundation (OSAF) which has a list of Open Source libraries including pros and cons, Survey of Ajax/JavaScript Libraries.

Issues

Article Status Description
Ajax ROI Faceoff Article A head-to-head look at how a traditional web application matches up to an Ajaxian one, and how cost savings could potentially be calculated.
Listen kids, Ajax is not cool Article Great article about GUI design
Exploiting the XmlHttpRequest object in IE - Referrer spoofing, and a lot more... Exploit! In fact, about 2.5 years ago I noticed a problem in XmlHttpRequest's implementation in IE - IE doesn't validate some critical fields that are provided by the user [1]. Back at that time, the attack vector was through an XSS condition, but the basic flaw (and other, related flaws) renders itself nicely to other conditions, which we'll see below.
IE Memory Leak Fix The JavaScript creates 500 closures which contain references to just the body tag. On my system I've seen memory increases of 500 - 600 kB's in IE. Firefox handles the test without any leaks. Opera shows a more unsteady memory usage curve, but overall the memory usage hardly increases. Here's the fix Event Cache
Javascript memory leaks ? But with the eBay API, you communicate directly with the eBay database in XML format. By using the API, your application can provide a custom interface, functionality and specialized operations not otherwise afforded by the eBay interface.
Fixing the Back Button and Enabling Bookmarking for Ajax Apps ? Everyone's favourite Ajax technology app is Google Maps. Google have done a stunning job... But when I came to try to bookmark a page and I had to hunt around for 'link to this page' over on the right hand side. Why have they broken such a basic function of the web? I use bookmarks A LOT and the extra effort bothered me. I got over it though, and life went on.
DHTML Blog Blog about DHTML
Life After Ajax? Article But to alter an old programmer's saying, debugging Ajax code is twice as hard as writing it, so anyone who writes clever code may not be smart enough to debug it.
Errors and Ajax Article Great article at handling Javascript errors
Drip: IE Leak Detector Article Download Drip
Fixing JavaScript memory leaks for good. Article IE leaks memory like a sieve when you use closures with any kind of COM object (including DOM elements, which are implemented using COM). That kinda sucks. Firefox and other browsers apparently have the same problem only to a lesser extent. Damned multiple garbage collectors!
JavaScript sucks (volume 1) Article 25 concrete reasons why Javascript sucks!
Issues when working with Ajax Article You can use setRequestHeader() to add almost any header to the request. One idiosyncrasy is the referrer header: depending on the browser this may or may not be sent, and may or may not be writable.
Mastering Ajax, Part 3: Advanced requests and responses in Ajax Article

In this article, I move beyond the basics in the last article and concentrate on more detail about three key parts of this request object:

HTTP ready state, HTTP status code, The types of requests that you can make
Stealth Submit Using AJAX Blog Have you ever started filling a web form and halfway into it decide against submitting because suddenly you no longer trust the website enough? You closed the browser window and that was the end of story, right? Wrong! The website might still have your information. You think it's impossible? This article will show you how it can be done. I call the technique Stealth Submit.
Speeding Up AJAX with JSON Article XML is the standard way to interchange data, but it's often not the best way. Although XML can add structure and metadata to data, it does so in an overly verbose way. XML also has a fairly complex syntax, requiring a non-trivial parser to attack it. In JavaScript, XML must be parsed into a DOM tree to be used. And, once you've constructed the DOM tree, you still have to pilot through it to create corresponding JavaScript objects or otherwise use the XML data in your client-side Web application.

I agree 100 percent!!

Ajax and Scaleability Article Some AJAX sites fetch all the data and then display it in an interactive fashion. Others will fetch a reduced set of data and then pull the missing data when it’s requested. It’s the latter where care needs to be taken. Lazy data fetches are great from a user point of view. They are fast, they make the app responsive. But, if a lot of data is fetched lazily then this is a high overhead way of fetching the data. It may work well under low load but as load increases, the servers may slow down unacceptably due to the extra overhead of high frequency/low content RPCs.

Ironically, Microsoft invented Ajax in the late 90s and has used it for years to power an online version of its popular Outlook e-mail program.

Ajax's resurgence in recent months is thanks partly to its innovative use by Google Inc. to fundamentally change online mapping. Before, maps were static: Click on a left arrow, wait a few seconds as the Web page reloads and see the map shift slightly to the left.

Associated Press, Ajax: Microsoft's Achilles heel? - October 24, 2005

Ajax presents design issues that need to be addressed. I'm really getting tired of all the Javascript errors though. With that being said, Ajax is here and it's not going anyway anytime soon so get active and try out some Ajax frameworks!

Keep searching for factual goodies such as Measuring the Benefits of Ajax.

The biggest void in the Ajax discussion, IMO, is how network and server availability affects XMLHttpRequests. I can only guess this void is a result of skill set - if you're hot with CSS is issues relating to UI design, chances are you're less fluent in the fine print of HTTP or used to thinking in terms of writing fault tolerant clients to remote services.

That gets further compounded by developing on localhost where you don't get to see the impact of synchronous requests, for example, when the network or remote server is taking a break.

Debugging

Javascript debugging had always sucked. Well, debugging was non-existent. And NO, the alert box or even document.write do not count.

But there is hope. New tools are here and the number is growing. Ajax frameworks are including logging feature. Here is a must read article, Keeping Up With The Ajax Trend which discusses the new era of web developer and debugging tools.

Developer Tool Bars also include some basic DOM stuff. Check out some of the Free Browser Tools.

Article Browser Description
Mouseover DOM Inspector X Browser The Mouseover DOM Inspector, or MODI for short, is a favelet (also known as a bookmarklet) that allows you to view and manipulate the DOM of a web page simply by mousing around the document.
Venkman Mozilla A real Mozilla family debugger. Get it this extension.
Tamperdata Mozilla tamperdata is an extension to track and modify http/https requests.
Greasemonkey Firefox Greasemonkey is a Firefox extension which lets you to add bits of DHTML ( "user scripts ") to any web page to change its behavior. In much the same way that user CSS lets you take control of a web page's style, user scripts let you easily control any aspect of a web page's design or interaction.
XmlHttpRequest Debugging Mozilla What it shows is the XMLHttpRequest debugging console, a floating div embedded in the page being debugged. This replaces the javascript console, which the previous script used for tracing. Each individual XMLHttpRequest invocation will get listed there, with all the details on the request and the response, as well as options to edit and replay the request or replay the response callback.
ieHTTPHeaders IE ieHTTPHeaders is an Explorer Bar for Microsoft Internet Explorer that will display the HTTP Headers sent and received by Internet Explorer as you surf the web. It can be useful in debugging various web-development problems related to cookies, caching, etc.
Miscrosoft Script Debugger IE Only good when using IE and IIS which I'm NOT - so pass

Oh Oh

The architectural wars continue to cause a schism between developers and browser makers. Once again the consumer is stuck in the center waving their bullet riddled white flag yelling no mas.

As the latest browser war between Firefox and Internet Explorer heats up, Ajax developers need to be as agile and responsive as ever. There may be convergence on some issues such as CSS or XML, yet each browser camp has a different attitude towards adoption of the latest standards: Mozilla embraces the Scaling Vector Graphics (SVG) and ECMAScript for XML (E4X) standards as well as XML User Interface Language (XUL) in the latest beta version of Firefox. Microsoft stands by their Extensible Application Markup Language (XAML) technology. All of these technologies represent a marked change in direction from the current Ajax mainstays of JavaScript and XML.

As a result, Ajax developers must keep abreast of the latest technologies and take advantage of the most productive toolsets now more than ever. Successful Ajax developers also need to be mindful of their audience and avoid viewing every problem as a nail for their Ajax hammer. Instead, Ajax developers need to continue to innovate, creating new and unique patterns that further enhance Web application usability.

Dave Johnson, Ajax: Dawn of a new developer - October 17, 2005

In an ideal world Mozilla and Microsoft would agree on a common standard for rich web apps (e.g. XUL). Ajax seems to have been born out of a lowest common denominator approach. XUL is Moz only, Flash & Java require installed VMs.

Andrew C. Oliver, Ajax quote of the day - September 21, 2005

Peter-Paul Koch of QuirksMode has an interesting article explaining why Javascript feature detection is better than browser detection. Huh, I've learned something today. Thanks Peter. The light just turned on. Want to make some easy cash? Develop Javascript IDE / debugging tools. If Web 2.0 goes bust then you'll be the only one in the black!!!.

Fairly soon you will notice that certain features of JavaScript do not work in certain browsers. If you want to use an advanced bit of script, you first have to check whether a browser supports the objects you want to use. This page explains how to do it.

... While browser detection works well enough for 90% of your visitors, some obscure browsers won't be treated correctly and browsers that appear after you've written the page may not be adequately covered either. The results would be either a stream of error messages or a script that isn't called while the browser can easily handle it. In both cases, you're cheating your end users and coding incorrectly.

Peter-Paul Koch, Javascript - Object Detection - May, 2005

Real World Practices

What's your fall back plan?

Here's an interesting article Who Really Turns Off JavaScript?. I tend to agree but only in the context that pure non-tech's AKA consumers and developers have Javascript enabled by default. The only group that I theorize that doesn't have javascript enabled are the Microsoft haters!!! Sorry Billy.

Subject Description
How To Use Ajax While this new technology offers some great capabilities, it also sparks some unquestionable debate over issues with the Back button. Kris Hadlock explains how to use Ajax in a real-world situation and how you can assess its value in a project.
10 Places You Must Use Ajax

Use Ajax for Form driven interaction,Deep hierarchical tree navigation,Rapid user-to-user communication,Voting, Yes/No boxes, Ratings submissions,Filtering and involved data manipulation and Commonly entered text hints/autocompletion.

BUT do not use Ajax for Simple forms,Search,Basic navigation,Replacing a large amount of text,Display manipulation and Useless widgets

Also checkout, Places To Use Ajax

12 perfect cases for Ajax Rating, voting, yes/no, Input suggestions, Direct validation of form data, Status area, Automatic update, Microlink, Live form, Active Search, Data navigation, Panning maps or large pictures, Filtering data, Chat
The Ajax response: XML, HTML, or JSON? Interested in all this Ajax business? You should really check out JSON (JavaScript Object Notation). Here's an article discussing the pros and cons.
On-Demand Javascript Download Javascript as and when required, instead of downloading it all on page load
Benchmark - style vs. className Using className is FASTER
Best Practices: Implementing javascript for rich internet applications Separate Behavior from Content and Presentation, Provide progressive enhancement, Code for flexibility, Alter content as little as possible, Document output, parameters, and dependencies
Migrate apps from Internet Explorer to Mozilla Great tips from IBM. Includes good tutorial about differences in DOM and Javascript execution between the browsers
Ajax Considered Harmful IE's XMLHTTP object caches GET requests while Mozilla's (and probably the KJS version) don't. That get's into a fine line between what's Javascript's job and what's the browser's job.
JavaScript Required How to provide your users with directions to enable JavaScript for IE, Firefox and Netscape!
Leak Free Javascript Closures Javascript closures can be a powerful programming technique. Unfortunately in Internet Explorer they are a common source of memory leaks. Therefore I propose a method to create closures that don't leak memory.
Tackle the Refresh Button The last thing we want is for a user to hit refresh and all of your nice state goes bye-bye.
DOM Scripting & Ajax Great Great article IMHO even though there's a bit of disagreement by Paul Boag, Stuart Langridge on Javascript
Rich & Scalable Ajax Practical thoughts about Just-in-time Data and Just-in-time Business Logic
Thin Ajax Clients – Model–View-Controller We are strong believers in the software design pattern called Model–View–Controller. Essentially keep the model (data, business logic, domain objects) separate from the View (presentation, page, screen, forms) and let the Controller (events, submits, requests, interactions) drive pulling information (Model) to be presented (View) only as needed.
Ajax Latency problems: myth or reality? I've come to a tentative conclusion: network latency is an important issue to consider during the implementation of an Ajax Application, both by the developer as well as by the interaction designer. If you make the wrong decisions, usability can be terrible. If you make the right decisions, Ajax will significantly improve web application usability. It is still a tentative conclusion,
Synchronous Requests == BAD In essence, when you make a synchronous call with XMLHttpRequest, everything else stops and waits for the request to complete. And that means everything - even any intervals you've set. You can't even abort() the request via the readyStateChange property (don't believe me? try and watch a [browser dependent] crash...).
Optimizing JavaScript for Download Speed Minimize HTTP Requests,Defer or Delay Loading,Place Compressed .js Files in the head,Conditionally Load External JavaScripts
Ajax Mistakes Must Read! Using Ajax for the sake of Ajax, Not giving immediate visual cues for clicking widgets, Too much code makes the browser slow etc etc. The list is editable and made collaboratively, anyone can add to it or edit it!
Javascript Refactoring For Safer Faster Better Ajax None of the code snippets, templates, prototypes, tools, libraries, or frameworks available out there can eliminate a need for good code design. Even if all of those libraries were written perfectly without bugs or design flaws, there would still be code that you would have to write on top of these libraries.
Tuning Ajax I like to think writing enterprise Ajax applications is a lot like writing assembly code for a real-time system; to make it fast you generally have to step outside of the OOP best practices paradigm and do what works, not what makes your code easy to read and maintain. This flies in the face of some primary virtues of software engineering. Eventually these techniques will mature and become encapsulated in server-side logic and declarative markup where they can be better managed and leveraged.
Benchmark - W3C DOM vs. innerHTML The most obvious conclusion of these tests is that innerHTML is faster than "real" W3C DOM methods in all browsers. . The W3C DOM table methods are slow to very slow, especially in Explorer.
Designing RIAs For Search Engine Accessibility Bakspace techniquies: Lightweight Indexing, Extra Link Strategy and Secondary Site Strategy
The window.onload Problem - Solved! First, let me define the problem. The window.onload event is used by programmers to kick-start their web applications. This could be something trivial like animating a menu or something complex like initialising a mail application. The problem is that the onload event fires after all page content has loaded (including images and other binary content). If your page includes lots of images then you may see a noticeable lag before the page becomes active. What we want is a way to determine when the DOM has fully loaded without waiting for all those pesky images to load also.
Crossbrowser DOM Scripting: Event Handlers learn how to write cross browser addEvent and removeEvent. Article includes code!
Unobtrusive show/hide behavior reloaded All this has resulted in a series of new articles, of which a few describe solutions to show/hide or collapse/expand page elements. Examples are the following articles written by Stuart Langridge, Simon Willison and Christian Heilmann.
Javascript includes - yet another way of RPC-ing Javascript files can be included and executed on the fly — either when loading the page or in run-time. This means that HTTP requests are made without the use of XMLHttpRequest or iframes. This post provides a trail of my experiments with the inclusion of external javascript files.
JavaScript: Passing by Value or by Reference In JavaScript, we have functions and we have arguments that we pass into those functions. But how JavaScript handles what you're passing in is not always clear. When you start getting into object-oriented development, you may find yourself perplexed over why you have access to values sometimes but not other times. Here are two possible ways to get around this.
Meauring the usability and business benefits of AJAX Great Metrics, Slides and Movies
Javascript Refactoring For Safer Faster Better AJAX What are the common problems, or anti-patterns found in JavaScript code? One of the biggest problems is left-and-right use of global variables and functions. The biggest evil of global variables are unexpected side-effects when you make code changes. Global variables frequently lead to further design problems and can host a huge number of bugs. They make development, testing, support and troubleshooting a nightmare and must be eliminated. Good code design that avoids global variables and makes code modular is the only path to reliable interactive web-applications.
Ajax/DHTML Library Scorecard: How Cross Platform Are They? Great history lesson, as well as a scorecard on all of the main Ajax frameworks/libraries. Just go and read it. 2 thumbs WAY up.
Building Web Applications using AJAX - Dos and Don\'ts Heed the advice!!!

Mobile Ajax

In an ideal world Mozilla and Microsoft would agree on a common standard for rich web apps (e.g. XUL). Ajax seems to have been born out of a lowest common denominator approach. XUL is Moz only, Flash & Java require installed VMs.

Opera Platform allows developers to create platform independent applications based on well known Web technologies such as HTML, CSS and JavaScript. Together with XMLHttpRequest, the combination of these technologies is popularly referred to as Ajax. Ajax is a Web development technique that is increasingly used to develop new Internet services such as Google Maps and Amazon A9 Search. Opera Platform enables these types of rich Web applications to be developed and used on mobile phones.

PHP and Ajax

Check out PHP and Ajax for frameworks/libraries and tutorials.

Ajax Job Description

I just found a job posting for an Ajax Engineer for Odeo, a small startup in San Francisco.

Ajax Engineer

Responsibilities:

  • Build slick, innovative UI components using CSS and Javascript
  • Work directly with other engineers to integrate Ajax components with a Ruby on Rails backend
  • Advocate design and usability in the product development process
  • Improve and maintain cross-browser compatibility

Requirements:

  • Passion for developing the highest quality software and pushing the limits of internet technologies and user expectations
  • Strong HTML/JavaScript/DOM/CSS coding skills
  • Expert cross-browser CSS/JavaScript knowledge
  • 3-5 years of related development experience building graphical user interfaces and web applications
  • Demonstrable knowledge of user-centered design principles and methodologies
  • Strong visual design skills
  • Ability to coordinate with peers in a rapid self-organizing engineering group

Desired:

  • Experience with Agile methodologies like SCRUM or XP
  • Detail orientation bordering on "obsessive"
  • Previous experience with blogging and/or online audio publishing
  • Previous experience as a full time developer building commercial websites
  • Server-side development experience
Work at Odeo, Ajax Engineer

The future is Comet

 

AJAX B-Roll Collapse

Goodies Collapse

AJAX Help Collapse

Services Collapse

DOM Scripting Collapse

JavaScript Collapse

Rollyo

Make Poverty History
 

 
Top of Page