Welcome!

Kurt Cagle

Subscribe to Kurt Cagle: eMailAlertsEmail Alerts
Get Kurt Cagle via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Latest Articles from Kurt Cagle
With the above feed service, incredible possibilities are opened up for the XInclude component discussed earlier. In essence, the XInclude component becomes a newsfeed reader, displaying the contents of the newsfeed either as a list of numbered entries or showing just one 'page' of tha...
The Web client cannot, in the traditional role of things, provide Web content. Of course, that's not quite true - form content sent to the server either directly via a form post submission, or via an XMLHttpRequest object, are very definitely content being 'served' to the server. The d...
The XInclude Binding serves as a good example showcasing how such bindings can be created. If you are familiar with XBL bindings, the one aspect that is missing in the JavaScript version is the use of a specific template. This can be readily overcome within the constructor, especially ...
In Mozilla, the XBL binding language (an XML language) is used to associate bindings with their respective elements, with these tied in via CSS. Unfortunately, there are no clean hooks for adding a binding in this way for Opera (and a different mechanism for handling it in Internet Exp...
The first thing that may strike you as you're looking at this code is the fact that there is no inline scripting; the page as given is entirely XML driven. The presentation was handled by a simple CSS file included in the style block (which could have also been handled by a element) (...
The use of JavaScript as a scripting language has emerged primarily in response to this largely monolithic approach to extensions and components. Similarly, the use of the HTML (and later, XML) DOM provided the hooks by which each particular tag could be treated as its own internal com...
Every so often a new way of developing software comes along, a different approach in design methodology that takes advantage of recent advances in technology to more effectively create applications. Typically, the first efforts to use the technology is to try to build things that are s...
The object notation used by JavaScript has made its way into a way to transmit structure better in a number of different languages. JSON (JavaScript Object Notation) has gained a fair amount of interest as a somewhat lighter-weight alternative to XML, especially when used across pipes ...
The flip side of parsing is serialization, which, in the loosest sense, is the conversion of an object from an internal representation to some (possibly text) format that can be reloaded in the future.
Parsing and serialization were touched on briefly in the discussion of innerHTML, but both issues deserve more extensive coverage. A significant amount of work with AJAX-based systems involves converting strings of XML text into some form of DOM representation, a process formally known...
One advantage comes from learning to work with JavaScript code asynchronously - it makes explaining the XMLHttpRequest object, arguably the cornerstone of AJAX, much easier.
This approach, while simple, has a couple of major problems that makes it less than perfect for library functions. One of the first is the fact that the setInterval() and setTimeout methods may be invoked even after a page (or the browser) is closed.
For a long time user interface development has gotten something of a bum rap with the programming community, in great part because such programming usually doesn't involve high-performance computing, complex mathematical algorithms, or the manipulation of large sets of data.
Up to this point, the discussion has focused on JavaScript exclusively. However, it's reasonable to assume that if you're involved in AJAX development, you'll almost certainly be working in the context of an HTML or XHTML page.
There's an interesting phenomenon going on right now. Several of the critical technologies used by AJAX first appeared in Microsoft's Internet Explorer, which still has a large (though diminishing) market share according to most statistics.
Regular expressions (or Regexes, as they are sometimes called) provide a way of defining text patterns that can be used for validation, testing, and string replacement.
Strings, like arrays, are objects, though because of their ubiquity and the way they're declared, it's sometimes easy to lose sight of this. Strings can be created either by using the String() object or via the single or double quotes
Objects (and object functions) are remarkably useful things, but there are times when all you're really concerned about is a list of items. List manipulation can be found at the heart of any number of sophisticated languages so it's probably not surprising to discover that JavaScript a...
The function is one of the most fundamental blocks in any language, but in JavaScript the function is in many respects far more powerful and pervasive than it is in nearly any other language. Indeed, the degree to which you can work with functions in JavaScript begins to approach what ...
Objects are possibly an odd place to start when talking about JavaScript, but if you understand exactly how JavaScript handles objects, you'll have one of the most powerful tools possible for working with AJAX-based components.
Learning JavaScript can be a pain, largely because in most cases you're either limited to working in the browser's command line or building JavaScript in script blocks and leaning heavily on the refresh button in a browser. While JavaScript command-line environments are available, one ...
AJAX isn't so much a single technology as it is a set of technologies that are now all part of most contemporary browsers. Because of this factor, it's sometimes difficult to explain what precisely AJAX is, especially the degree to which XML or JavaScript predominates.
In Star Trek, Scotty ­ James Montgomery Scott ­was my favorite character, perhaps inevitably. Spock was always the cool and collected uber-genius, inscrutable and forced into an emotional straightjacket, and while the parallels to the real politik of the time are obvious, to me Spock h...
The efforts going on on the Web right now are not a radical revision of the past, but rather a refinement and 'refactoring' that is at the heart of nearly every software endeavor, and it is this refactoring, far from obvious for those in the thick of it but profound nonetheless, that i...
Last month, in Part 1 of this article, I cautioned about the potential invasiveness of Web services. It's a scary thought that companies could have that much personal information about their customers, but I added then that there are some advantages to Web services, especially in t...
Anyone who has ever done a search query on the Internet is familiar with the phenomenon in which a single query pulls up more than a million possible search matches. This has to do with the fact that information is ultimately not linear, but rather is linked and interrelated in ways th...
I've been at this game for a while, a fact that has been hammered into my awareness with distressing frequency of late. I worked with Hollerith cards in college, running my programs through a machine with a distressing tendency to shred my carefully typed code into so much confetti if ...