Monday, November 27, 2006 11:50 PM
Bill Bither
The AJAX Craze: History of AJAX Imaging at Atalasoft
It's amazing to me that the term "AJAX" was first coined as recently as February 2005 by a man named Jesse James Garrett. He was looking for a term to express to his clients explaining an application using JavaScript, CSS, DOM, and asynchronous HTTP callbacks. AJAX is easy to say, and it gave the industry a word for this technology it desperately needed. Today, all we need to do is say "AJAX enabled" or "Powered by AJAX", "AJAX this", "AJAX that". What it really means is that it's a web app that doesn't require a full page postback when requesting additional information from the service. AJAX stands for:
A = Asynchronous
J = JavaScript
A = And
X = XML
In reality, many AJAX applications do not use XML. In fact, Atalasoft's own AJAX Document Image Viewer is really AJA, but that doesn't sound nearly as nice. Jesse James Garrett was kind enough to announce at a recent AJAX conference we attended that you don't have to be using the "X" in AJAX to consider your application AJAX. Since then you'll notice AJAX a lot in Atalasoft's own marketing material. Hey, it get's the point across!
The technology behind AJAX has been around for over 10 years. Microsoft's Exchange 2000's web based Outlook was the first well known application to use it. But it wasn't until the popularity of Google maps, and GMail that people really started to notice this technology. Until very recently, developing AJAX was incredibly difficult. With the various AJAX toolkits and components available now, it's become much easier.
Step back to 2003 when Atalasoft first released DotImage. Our first employee, Dave Cilley, was tasked to create an image viewer control for ASP.NET knowing that many desktop applications were moving to the web. It was released in early 2004 as the first ASP.NET Image Viewer control with some limited AJAX functionality. However it wasn't until the release of DotImage 2.1 in early 2005 that our Web Image Viewer control was truly AJAX enabled with the ability to scroll, zoom, select, and process images without page postbacks. At that point the term AJAX wasn't coined yet. We called it "no-postback zooming and scrolling". We also introduced what we call "remote invokable" methods allowing developers to write server code to save, open, or process the image in the middle of an asynchronous call invoked via a simple JavaScript method. We also exposed an entire JavaScript API to operate on the entire control without server postbacks.
Today, the control has even more functionality, including on-demand tiled loading, a web thumbnail control, and other useful features. As we continue to improve our .NET imaging toolkit, our AJAX Image Viewer (aka, WebImageViewer) continues to be enhanced. Our next release will include the heavily requested AJAX image annotations which integrates nicely with our DotAnnotate product. Our online demo demonstrates the use of our latest WebImageViewer and WebThumbnailViewer controls.
A customer of ours working on a government contract purchased a couple SDK's and a server license of DotImage Document Imaging about year ago to replace an older desktop application used in quality control to compare two documents side by side; an original Microfilm scan of the document, and an updated higher quality scan of the document. The page simply consists of two WebImageViewer controls side by side within their application's UI. The end user pans and zooms one of the documents, which causes the other to pan and zoom in synch. Nothing fancy for a desktop application, but not something you see every day in a web app. Initially this application was for a single user.
Recently, I asked their IT manager why they chose to develop this as a web application, with only a single user at the time. He responded with the fact that the previous app, written in VB6, was constantly needing updating and was painful to deploy even to one or two desktops. "A web app would give us centralized control over 'deployment' to a single location / server with the assurance that everyone was running from that version." The application has since scaled to 10 users who review, process, split, crop, inventory, and add metadata to 7,500 documents per day. Their IT staff will frequently update the application to add features and fix bugs, without having to re-deploy to each desktop. These quality control jobs generally have high turnover rates, which would require installing the application whenever a new employee starts if it were deployed as a desktop application. Recently they were hit with a blizzard, in which everyone was sent home. Each employee was able to use the application from their home computers, even with low bandwidth connections as only the necessary data is downloaded to the client.
While I can't mention the name of the company in this case (which is why it never made it into a real case study on our site) this is one of many reasons why so many desktop applications and systems, including Content/Document Management, is moving to the web. AJAX technology makes this even more palatable. We put together a whitepaper titled AJAX Document Viewing for Your Web App that presents even more arguments for using AJAX for viewing and processing documents on the web. If you read SDTimes, you might have seen this whitepaper in their recent AJAX supplement. And if you are a Code Project reader, you might have seen the article Cleaning Document Images on the Web with AJAX, a more hands on tutorial written by our engineer, Lou Franco.