Is your website using Ajax? Are you calling a server process from a client-side application? If so, prepare yourself for a visit from Eolas’ lawyers. The company filed a US patent in 2002 and they are actively progressing infringement cases against a long list of companies including Adobe, Amazon, Apple, Blockbuster, Citigroup, eBay, Pepsi, Go Daddy, Google, JC Penney, JP Morgan Chase, Office Depot, Perot Systems, Playboy Enterprises, Staples, Sun Microsystems, Texas Instruments, Yahoo, and YouTube.

A Brief History of Ajax

Ajax is a conceptual technique. The technologies have been available for over 10 years, but Ajax adoption became widespread after Jesse James Garrett’s article in February 2005 which described the techniques and provided a great acronym: Asynchronous JavaScript and XML.

Despite its name, Ajax does not necessarily depend on asynchronous calls, JavaScript or XML. Today, Ajax is a useful term applied to any system that communicates with a back-end web server to update content without requiring a full web page refresh (although many marketing departments confusingly refer to Ajax when describing any type of animation or interactivity!)

Most Ajax systems utilize the XMLHttpRequest object which permits programmatic server communication. It was introduced by Microsoft in March 1999 when Internet Explorer 5.0 was released. The original implementation was an ActiveX object devised specifically for the Outlook Web Access system. Most browser vendors followed Microsoft’s lead and implemented XMLHttpRequest as a native browser object.

Many of the dynamic web applications we rely on today would not be possible without Ajax techniques.

Does Eolas Have a Valid Ajax Patent?

Eolas Technologies is the company that fought Microsoft over the use of embedded browser applets, such as Flash. Eolas won that case and were awarded over $500 million in 2003. For several years, IE had to show a ridiculous alert box whenever an embedded object was encountered in the HTML.

Eolas 7,599,985 is a continuation of the original patent and has the snappy title “Distributed hypermedia method and system for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document”. It was filed on 9 August 2002 and describes Ajax-like systems. Here’s an excerpt:

A system allowing user of a browser program on a computer connected to an open distributed hypermedia [web page] to access and execute an embedded programming object. The program object is embedded into a hypermedia document much like data objects. The user may select the program object from the screen. Once selected the program executes on the user’s (client’s) computer or may execute on a remote server or additional remote computers in a distributed processing arrangement. After launching the program object, the user is able to interact with the object as the invention provides for ongoing interprocess communication between the application object (program) and the browser program. The present invention allows a user at a client computer connected to a network to locate, retrieve, and manipulate objects in an interactive way. The invention not only allows the user to use a hypermedia format to locate and retrieve program objects, but also allows the user to interact with an application program located at a remote computer. Interprocess communication between the hypermedia browser and the embedded application program is ongoing after the program object has been launched. The use is able to use a vast amount of computing power beyond that which is contained in the user’s client computer.

To most developers, the Eolas claim is absurd:

Ajax is a programming technique — not a technology.

Eolas did not define the name ‘Ajax’ or provide technical implementation details.

Ajax technologies and techniques existed before the patent was filed. Microsoft’s first implementation of XMLHttpRequest was developed 40 months before the Eolas patent was filed, although it took several years for developers to realize its power. Prior to XMLHttpRequest, on-page server communication was still achieved using more rudimentary techniques such as IFrames or dynamic script injections.

Ajax has been adopted by millions of websites — can Eolas file lawsuits against them all?

The patent is vague and could be applied to a wide range of web page interactions.

However, it has been ruled as valid by the US Patent Office on three separate occasions. If Eolas win their infringement case, there is nothing to stop them taking out a lawsuit against … everyone.

Will Common Sense Prevail?

Who knows what will happen once the lawyers become involved.

I’m no legal expert, but it appears that Eolas have filed a US patent — which does not necessarily apply worldwide. Could we see a situation where US companies hand their web development and hosting to offshore providers to avoid a lawsuit? If that’s the case, perhaps Eolas should consider their impact on the US economy?

Does Eolas have a valid Ajax patent? Is this another good reason to abolish software patents? Read the Eolas Lawsuit press release and decide for yourself.