Ajax is hard to explain to a wide audience, since it is about programming, and I have to expect a wide audience since this is a transdiciplinary text. Therefore I have written two texts: one for readers with no programming knowledge and one for readers with some programming knowledge.

Version 1 – for readers with no programming knowledge

The leading Swedish IT news channel (paper and Web) wrote the following on their Web page 2006-02-02:

Jättarna ska göra webben enklare med Ajax|

Ledande programföretag går samman för att utveckla webbtekniken Ajax. Detta ska ge bättre användargränssnitt för webbtillämpningar. Men Microsoft och Sun är inte med.[12]

In English:

The giants are going to make the Web simpler with Ajax

Leading software companies work together to develop the web technique Ajax. This will lead to better user interfaces in web applications. But Microsoft and Sun are not joining.

Ajax is a programming style used to create Web interfaces with the same appearance and feeling as PC applications. But Ajax Web interfaces do not inherit the grey button based interface from desktop applications. First and foremost this means instant response when clicking a button. A standard Web interface often feels heavy compared to a PC application because every time you click on a button or link, a request is sent to the server, and an answer to that request is sent back to you. This is the basic difference between a desktop PC application and a Web page. The Ajax programming style reduces this difference somewhat. The following quote gives a certain sense of how Ajax was, and is, received in the programming world. The quote is from a text where Paul Graham, essayist, programmer, and programming language designer, tries to figure out what Web 2.0 really is about.

One ingredient of its meaning is certainly Ajax, which I can still only just bear to use without scare quotes. Basically, what ” Ajax” means is “Javascript now works.” And that in turn means that web-based applications can now be made to work much more like desktop ones.

As you read this, a whole new generation of software is being written to take advantage of Ajax. There hasn’t been such a wave of new applications since microcomputers first appeared. Even Microsoft sees it, but it’s too late for them to do anything more than leak “internal” documents designed to give the impression they’re on top of this new trend. (Graham, 2005)

The fact that Web-based applications can be made to work like desktop ones, is in itself a revolution on the Internet, beside everything else Web 2.0 stands for. I am not sure if you can call these Web based software “applications”. An application is normally software communicating with you through an operating system, such as Windows, Linux or Mac OS X. For the user, practically all Web 2.0 software comes in the form of a service, open source and commercial – though the nature of a Web 2.0 application is openness. Amazon.com and Google are two different examples on the fact that the openness and the commercial can work in the same service. In this sense all Web entities will be based on ajaxian interfaces eventually, but not necessarily based on the set of technologies now called Ajax.

Version 2 – for readers with some programming knowledge

Macromedia, and its open source Flash competitor Laszlo Systems, has used the concept “Rich Internet Applications” for several years, claiming the same user – Rich - experience in Web applications as in PC applications. Proponents of Java applets and Microsoft with its ActiveX technology had similar claims. Even though all these technologies have been integrated into our Web (and Web browser) interface, none of them have yet revolutionized the Web as Platform.

Tim O’Reilly writes “the potential of the Web to deliver full scale applications didn’t hit the mainstream until Google introduced Gmail, quickly followed by Google Maps, Web based applications with rich user interfaces and PC-equivalent interactivity” (2005). O’Reilly’s phrasing is somewhat acute, but it says something important about Web 2.0 applications today and especially tomorrow. Rich interfaces might be produced with several technologies. The technology most mentioned as a Web 2.0 technology is called Ajax. The first time I heard the term Ajax I thought it was named after the two figures in Greek Mythology called Aias (eng Ajax). Since the two figures with the same name liked to fight together, I thought it connoted to javascript + XML, which perhaps can be called the core in Ajax. But I was wrong. Jesse James Garrett explains it like this in an essay: “Google Suggest and Google Maps are two examples of a new approach to Web applications that we at Adaptive Path have been calling Ajax. The name is shorthand for Asynchronous JavaScript + XML, and it represents a fundamental shift in what’s possible on the Web” (2005). He further defines Ajax like this:

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

  • standards-based presentation using XHTML and CSS;
  • dynamic display and interaction using the Document Object Model;
  • data interchange and manipulation using XML and XSLT;
  • asynchronous data retrieval using XMLHttpRequest;
  • and JavaScript binding everything together.(ibid)

The quoted paragraph above is the most technical part in the whole text, and many of my readers, naturally, do not understand enough to get the meaning I wish to communicate. Therefore I will try an explanation. XHTML and CSS are expansions of the original programming language on the Internet called HTML (Hyper Text Markup Language), used to render the image on the computer screen. All three of these are very basic and only about painting the computer screen: user interaction, counting, using variables etc is not possible. For tasks like user interaction we have script languages such as Javascript. Javascript can manipulate the mark-up data to get a richer user experience. Creating a calculator on a Web page, for example, needs both Markup language and Javascript (or another script language). The Markup (HTML, XHTML) language renders the visual form of the calculator together with colour, type face, size etc. Javascript does the actual calculation, based on which keys the user is pressing. The Document Object Model (DOM) can be explained as an interface between the Markup and Javascript, making the scripting easier, creating further possibilities mostly relating to user interaction or dynamically manipulating the screen objects. XML and XSLT are also Markup languages. In this context I will call both of them XML (Extensible Mark-up Language). XML is a language used to describe and transport data. It is also possible to store data dressed in XML for smooth access, instead of storing it in simple text files separated with comma or another sign. Data might be transported from a database dressed in a XML structure, to be received by a JavaScript for a structured deliverance to the XHTML (possibly through the DOM), which in its turn renders it on the screen.

A standard Web interface feels clumsier than a PC application because the Web interface has to communicate with the server for practically every little action on the screen. The XMLHttpRequest Object enables JavaScript to make requests to a remote server without the need to reload the page. In essence, requests can be made and responses received, in the background and without the user experiencing any visual interruptions. All this together creates the possibility to produce Web applications with the same look and feel as PC applications.

Tags: , , , , ,

0 Responses to “Ajaxian Interfaces”

  1. No Comments

Leave a Reply

You must login to post a comment.


    LIC 2006 / Participation Literacy
    Part 1: Constructing the Web 2.0 Concept

- - Table of Contents - -

Download the Reserach 1.0 version of the Licenciate Thesis