Welcome!

Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

Related Topics: Adobe Flex

Adobe Flex: Article

Why Adobe AIR Is Not Google Gears, Prism, JavaFX or Silverlight

Adobe's release last week of its AIR 1.0 cross-platform platform got plenty of ink but much of it missed the point

Adobe’s release last week of its AIR 1.0 (Adobe Integrated Runtime) cross-platform platform got plenty of ink. Much of it missed the point.

And that’s understandable, given that we are tumbling into the next generation of everything all at once right now – SaaS and SOA, Web 2.0, Blu-ray, cellular streaming, and on and on – like a tornado crossing a junkyard. It’s one of those times when it’s hard to keep things straight.

So Adobe’s AIR announcement roiled the swamp and raised the themes of rich Internet applications, offline Internet applications, and cross-platform runtimes in a wormy bundle. In the process it was lumped together, variously, with Google Gears, Mozilla Prism, Sun JavaFX and Microsoft Silverlight in the Air coverage.

Sure, AIR has something to do with each of them, but it is more important than any of them. It may be a primary salvo in a user experience revolution on the scale of the fabled Sacking of Xerox PARC by Apple and Microsoft during the First PC Epoch.

That was the conquest that brought us the spoils of the graphical user interface, pointing devices and the desktop “metaphor.” It also, sadly, solidified the tedious Sunni-Shiite squabble between Windows users and Mac people that persists to this day. But what goes around comes around and Adobe may now be about to sack Apple and Microsoft.

Kevin Lynch, the guy responsible for AIR, certainly thinks so. On the eve of AIR’s release, he reflected that it “represents the beginning of a new medium as the best of the web and the best of the desktop come together.” Whoa, dude, beginning of a new medium? You are blowing my mind.

Okay, so how does AIR rate as a platform for rich Web 2.0 applications against the gang of four to which it has been compared? A chart might help.

RIA Off-Line Desktop Runtime

Gears No Yes No Browsers

Prism No No Yes Mozilla

JavaFX Yes No Yes Java

Silverlight Yes No No Browsers

AIR Yes Yes Yes Self

Neither Gears nor Prism profess any particular RIA aspirations. In both cases, if the application is rich, it’s rich. Gears lets applications cache data and page content locally on the user’s machine to be used when the machine isn’t connected to the web. Prism, which is still under development, does something quite different; it enables the user to move browser-based online applications out of the browser and onto the desktop.

JavaFX, the newest member of the prolific Java technology family, salutes the RIA flag by enabling easier scripting of dynamic user interface elements in webbased applications. It interoperates with things like NetBeans and, of course, the Java runtime, so, as with other kinds of Java applications, the RIA could be browser- based, but needn’t be.

When Microsoft talks about Silverlight it’s all about RIAs and it parrots what Adobe says about AIR, the user experience, monetization and branding. It’s the natural thing to say about RIAs, but Silverlight’s cross-platform/cross-device functionality comes by way of the browser and it still has no offline capabilities.

So, if a developer wants to build a rich Internet-enabled desktop application that runs the same way across platforms and devices, does useful work offline, doesn’t use a browser, and directly enables interactive content, it seems that AIR is the only option.

To speak of RIAs is to speak of the “user experience,” which could mean what a user does and how he or she feels in the process of finding and using information and content, communicating with other users, consuming media items and products, dealing with connectivity, and interacting with transactional software applications.

An RIA delivered in a browser forces the user into a disjointed overall experience comprising multiple different user experiences in the application, the browser and the operating system the browser’s is running on.

If you’ve ever tried to use Internet Explorer on a smartphone to do anything useful, you know how painful that user experience can be. Granted some browsers are better than others and it’s hard not be impressed by iPhone commercials. But users of applications for sales force automation and e-commerce or social networking and streaming media don’t benefit from the browser “experience”; they suffer from it.

Applications and content providers don’t benefit from it either, net-net. The cross-platform benefit is outweighed by the price of limited local intelligence and persistence, diluted user intimacy and brand impact, and always being a tab away from a competitor and a click away from nowhere.

A persistent standalone “devicetop” application that connects to the Internet and communicates with back-end Web Services there, caches data for offline use and, to the extent the OS will allow, has a look-andfeel specific to the application and its intended user, runs on any device or system and provides a user experience that’s more immediate, intuitive and intimate can’t be browser-based.

Instead of thinking about of applications for salespeople and teenagers, think instead about the user experience of an emergency medical technician thumbing critical medical information into his Blackberry.

“Stay with us, sir. Hang on!”

“Lessee, Applications… Browser… Bookmarks…”

“He’s flatlining! Get the paddles!”

“Ah! Wrong Bookmark! Bookmarks… Got it… Page loading… Scroll down…Scroll down… There, Enter Patient Data…”

“Sir? Can you hear me? Sir?”

“Damn, damn, damn!”

Clearly the browser isn’t the best deployment vehicle for an emergency response application or most others.

The Java language(s) and runtime, and adjuncts like AJAX, have come to be the only way to build browser-less, high-touch cross-platform applications. A lot of the cool stuff you see out there these days was built this way. But it’s a high-skills/highcost way to go, especially if the application requires facilities that aren’t native to Java like media streaming.

The open source movement has ameliorated this barrier considerably by providing frameworks for some things, but Java is not a user-experience platform.

At the device level, of course, there’s a user interface, and this interface influences the user experience of applications and services on the device. On a commodity cell phone, the UI comprises hard or soft buttons and keys and a small screen showing text and possibly graphics. On a premium smartphone or PC the UI is Windows, Mac OS or some stripe of Linux.

The device-level user experience is the main reason people buy one device, one phone, one PC over another. Apple’s Mac, iPod, and iPhone devices and Mac OS, Quicktime and iTunes software have set a stratospheric bar for the device-level user experience.

Microsoft, God bless it, keeps trying, but every one of its approaches – and there have been many – has lacked coherence, clarity and comprehensiveness.

Anybody who has, even recently on Vista or Windows Mobile, tried to buy, use or make music or other media the Windows Media way knows painfully well how far behind the Microsoft user experience really is.

Sadly for it, Microsoft doesn’t get nearly enough credit for the heavy lifting it’s done

in media codecs and other goodies out of Microsoft Research. These things add substantially to the quality of certain user experiences, but users won’t see how good the screen looks when the buttons don’t make sense.

For both Apple and Microsoft, enabling, controlling and monetizing the user experiences related to media is a strategic mission.

The things affecting their success include how easy it is for developers to build rich media applications, how easy it is for users to find, manage, use and interact with media elements and applications, and how easy it is for publishers, advertisers and distributors to federate, interoperate and transact business.

Now, consider Adobe. It’s hardly a stretch to say that Adobe has been in the user experience business all its life. Fonts, documents, graphic design, images and video are critical to a high-quality computer user experience and Adobe products have historically set the gold standard for tools used to create all kinds of media. Both Apple and Microsoft compete in various ways with Adobe in this arena, but neither covers all the categories nor provides comparable cross-category collaboration facilities. Commercial content creators know, trust and love Adobe.

They use Macs and PCs.

Then there’s Flash.

Most folks recognize the name from the ubiquitous in-browser media player used on sites like YouTube for video. Some know it’s the technology underneath sexy graphical movie splash screens on all kinds of web sites, but most people use Flash media without realizing it.

Underlying the Flash Player is a runtime engine capable of processing all manner of user interaction through programs written in ActionScript and other languages. Flash web sites are the result. A site is a movie made up of interactive actors that take the form of buttons and other controls. A user doesn’t visit a Flash site he plays it. Flash blurs the line between media and function.

It enables instrumented media, a necessary element of both self-monetizing content and high-quality cross-device experiences.

Flash .SWF movie/site files are also fairly easy to use offline. If a particular user interaction with a movie element requires connectivity or local storage, it can be programmed to handle that far more easily than it would be in Java, HTML or the .NET languages. Neither Apple nor Microsoft has anything like Flash.

Less flashy than Flash, but equally important is Flex, a free set of software frameworks for building cross-platform, web-connected desktop applications that are really interactive Flash movies.

Adobe AIR is important because it completes the Adobe user experience ecosystem by providing a platform-independent platform on which to stage interactive content and programmatic functionality for rich Internet apps. Nobody else has anything like that.

It’s probably no coincidence that both Microsoft and Apple have recently made comments that are relevant here. Perhaps actually aimed at Google Gears, but timed to the AIR announcement, Microsoft sniffed that it would probably offline Silverlight sometime soon. More focused was Steve Jobs hissing about the Flash player’s performance on the iPhone – at the Apple shareholder meeting, no less.

They seem to be taking notice of Adobe’s onward push towards a massive context shift where device choice doesn’t matter.

I actually used the AIR beta to build a monetized rich Internet application and as it came together with surprising speed and as I deployed it on a number of different systems with surprising ease, an application with MY look, feel and function beholden to no browser or OS, I had a feeling that I had felt before. It was the feeling I had the first time I used a programming terminal instead of a punch card machine, a hard disk instead of floppies, a mouse instead of arrow keys, WYSIWYG editing instead of dot commands, an IDE instead of a text editor, a GUI instead of DOS.

It’s the feeling I get from the sight and sound of giants leaping.

More Stories By Tim Negris

Tim Negris is SVP, Marketing & Sales at Yottamine Analytics, a pioneering Big Data machine learning software company. He occasionally authors software industry news analysis and insights on Ulitzer.com, is a 25-year technology industry veteran with expertise in software development, database, networking, social media, cloud computing, mobile apps, analytics, and other enabling technologies.

He is recognized for ability to rapidly translate complex technical information and concepts into compelling, actionable knowledge. He is also widely credited with coining the term and co-developing the concept of the “Thin Client” computing model while working for Larry Ellison in the early days of Oracle.

Tim has also held a variety of executive and consulting roles in a numerous start-ups, and several established companies, including Sybase, Oracle, HP, Dell, and IBM. He is a frequent contributor to a number of publications and sites, focusing on technologies and their applications, and has written a number of advanced software applications for social media, video streaming, and music education.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
jmarinacci 09/17/08 12:46:54 AM EDT

Hi. This is Josh from the JavaFX team at Sun. Here on the JavaFX team we share the vision of applications that are both on the web and on the desktop, and where the user experience is priority number one. I'd like to correct a few things you got wrong about JavaFX.

JavaFX definitely works in offline mode. JavaFX applications can be deployed in the webbrowser, similar to Flash, or on the desktop, similar to Air. You will get an icon on the desktop with an auto-updating app, just like Air. In addition we now support draggable applets, meaning you can literally drag a running application out of the webbrowser and on to your desktop. The app will still run even if you then close the browser.

JavaFX also has great network support because it is built on the JVM and Java Runtime which have a rich and mature set of networking APIs. Most RIA solutions let you talk to JSON and XML webservices but that is where they stop. Java can talk to those (as well as many other kinds of webservices) but you can also open direct HTTP connections, raw sockets, UDP connections, or pretty much any other kind of network connection you can imagine.

The same is true for desktop access. If your application is signed and the user gives it permission then your app can access files on the desktop, open up the webbrowser, make local network connections, and even use native code to access hardware (OpenGL, joysticks, serial ports, etc.)

Because JavaFX is built on top of the mature industrial strength JVM you have access not only to the rich APIs of the Java Runtime but also the huge ecosystem of existing Java libraries out there.

JavaFX is becoming a great RIA platform, for both the browser and the desktop.

Words, punctuated 03/11/08 12:30:07 PM EDT

Trackback Added: AIR in the recent RIA dev platform landscape; Since I’ve been working on Adobe AIR, I naturally have lots of thoughts about what it is and isn’t, and how it compares to some of the many similar and related technologies that have been announced and released over the past year or so.
Tod...