The Adobe AIR Platform: Software Revolution or Evolution?
Whether you’re the CEO or the resident code jockey, like it or not, you’re tied at the hip to technology. For many of us, the very products and services of our business are built on an entire stack of technologies. Each layer in this stack builds on the previous one, adding a new level of abstraction. This concept is critical to software development. Imagine a web developer having to understand the intricate details of making a network connection to their network provider, the Internet backbone and every router and firewall in-between just to retrieve an image for his web page. Insane, no?
Thanks to the layers of hardware and software technologies in the stack, all this complexity is obscured. Our web developer need only concern himself with the address of the image and where he’d like it to display on the web page. One could say that accessibility of technology increases with the application of each layer in the stack. If this is true, then looking back at the evolution of computing should reveal pivotal moments where innovation has pushed technology to a wider audience, in essence lowering the barrier of entry and making it more accessible.
The Mainframe Era
Take Mainframe computing for example. It was anything but accessible. For most folks the word Mainframe conjures up images of big scary machines locked away in a lab somewhere with loud fans and suspended flooring. For others like myself, they were magical supercomputers that could spring to life any second, a la Star Trek.
Over time the next layer began to emerge. The advent of personal computers gave birth to a new breed of software called client/server. Most of us now refer to this technology as fat client/server, “fat” meaning the client computer would work independent of the server and/or backend mainframe. The “brains” of the software had been pushed out to the user’s desktop. For the first time access to these systems had moved beyond the walls of the lab into the mainstream business environment. This transition was a significant jump in accessibility.
I had the wonderful opportunity of entering the workforce at the tail end of the client/server era. Everyone now had a desktop computer. Some even had portable machines to carry with them wherever they went. Productivity was soaring. Birds were chirping. Ah, it was a great time …for everyone else.
I on the other hand served as the resident geek responsible for the installation and maintenance of these computers and their client/server programs. Imagine having to distribute a software update to 100 people by running up and down the halls, hijacking each person’s machine for a couple of minutes to run an installer. (Back then, if you valued your life you would never dream of having users do their own updates.) Now imagine getting a call the very next day about a new “critical” patch being released to address issues with the previous patch the day before. Lovely.
The World Wide Web
Enter the World Wide Web. My savior.
In the early to mid nineties the Web took the business world by storm. Experiencing this phenomenon was exciting and strange at the same time. On one hand we could now deploy an application to a single web site and have everyone access it instantly with no intermediary software install or upgrade. On the other hand the user experience was now reduced to simple text with little blue hyperlinks. The driving adoption factor, while subtle, was the hyperlinks. Giving users the ability to click and “jump” from one site or application to another with no prerequisites was an astronomical leap in the accessibility of technology. Now anyone with a browser could access new technology instantly. This pushed the boundaries of Internet technology outside the corporation to the general public.
Things snowballed so fast that no one even stopped to complain about the crappy experience. As an industry we had just finished introducing new levels of sophistication with client/server technology. The next thing you know we’re dropping everything to build out web-based solutions. Understanding the driving factors of this change may have significant relevance today. It demonstrates that client “richness” may not be the sole factor in deciphering software trends. Conversely, increased accessibility appears to be a constant.
Now fast-forward through the past decade to today. The Internet is still here and it’s tied into just about anything we do. What’s amazing, though, is that many of the original limitations of the Web experience still persist today. Granted, we’ve made huge strides with the introduction of Flash, Flex and AJAX. There is still an elephant in the room: the constraint of the browser is our next barrier to accessibility. For this reason there are still a fair number of software companies producing native applications for the desktop. Today’s Rich Internet Application (RIA) technologies cover most of their requirements, but at the end of the day desktop applications deliver functionality that users just can’t live without, including offline access, reading and writing files to the local machine or multi-windowed user interfaces.
The Next Level
This is where the Adobe AIR platform comes into play.
Adobe AIR is a cross-operating system platform that allows developers to leverage their existing web development skills in HTML, Ajax, XML, Flash and Flex to build and deploy Rich Internet Applications for the desktop. AIR provides an expanded sandbox for Web applications, giving them a large portion of capabilities only traditional native applications like Apple iTunes or Adobe Photoshop have had in the past.
Where the advent of the Internet freed a large segment of applications from the chains of desktop operating systems, technologies like Adobe AIR are propelling the next generation of products to do just the same. Some applications will of course still require the native speed and power of the desktop for some time to come, but membership to that club is shrinking every day.
Patrick Henry once said, “I know of no way of judging the future but by the past.” If this were to be true in the world of technology, perhaps the key to recognizing the next evolutionary step in software lies in finding the technology that best helps increase accessibility to the world at large.