Adobe Apollo: Just Another Virtual Machine? - Reverse Engineered!
What is happening right now has been predicted by numerous computer scientists through out the years. As computing resources increase so will the applications that require it increase. Today, we are seeing movement towards virtualization both in the operating systems and the application side.
Java was previously mocked, as a development environment, a few years back because its “performance” will never make it to the enterprise. Now, we see Java as the corner stone of a lot of enterprise information systems. So is there space for another player? Adobe definitely thinks so. With the introduction of Apollo, Adobe aims to take a crack at the virtualized desktop application virtualization space. They have been pretty successful with their Adobe Flash platform already. They are now taking things a step further from the web to the desktop.
Adobe just announced that itβs much anticipated Apollo platform is now available for developers. The software developers kit can be downloaded at adobe.com/go/apollo.
Although this is the offic
ial release of the SDK, many developers have been working with Apollo for quite some time. Ryan Stewart recently covered the some of the better Apollo demos from an event they put on last month. See more on the launch from his ZDNet blog.
Here is a short from the Adobe Apollo site itself.
Apollo is the code name for a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.
Apollo enables developers to create applications that combine the benefits of web applications β network and user connectivity, rich media content, ease of development, and broad reach β with the strengths of desktop applications β application interactions, local resource access, personal settings, powerful functionality, and rich interactive experiences.
I do not find particularly spectacular as most desktop environments already do support some form of browser integration. Linux’s Gnome and KDE utilize web-based themes to customize their user interface. MS Windows has something called the Active Desktop. Apple MacOSX desktop widgets are simply web scriptlets. The web has been moving to the mobile for quite sometime already. These applications being native on the desktop already have access to platform resources. However, the major advantage of Adobe Apollo is that it promises to be a truly cross-platform (hopefully not J2ME’s idea of being a cross-platform runtime).
So I took the liberty of downloading some of the Adobe Apollo demos from their website and discovered a few things about it.
- It is a ZIPPED archived. First thing is first, we need to get into the meat of the thing. So, I launched a binary editor on the AIR package file and immediately saw that it had a vnd.adobe.apollo-application-installer-package+zipPK mime type. This is unlike MacOSX widgets that are simple uncompressed directories.
- Definitely Web Stuff. Looking around at its contents, we can immediately see that it is full of nice standards compliant web stuff. It uses Flash, Javascript, HTML, OPML and other funky XML files. At least, it is true to form. It even uses a bunch of freely available open source JS code.
- Can run on a regular browser. This is pretty much expected.
So what is the Adobe Apollo runtime? Probably a highly tuned cross-platform web browser (rendering engine) with good support for Javascript, Flash, Flex and a whole lot of other goodies.
So, why bother with another runtime? Well, this is simply human nature. People just want more.

March 23rd, 2007 at 3:05 am
Nice investigation, most of this info was already publicly available though — the runtime uses the webkit engine, reasons given were because its light-weight and there is already a port for mobile devices by Nokia.
The team said they aim to contribute any work on the webkit engine back to the project, so thats good news.
March 23rd, 2007 at 5:19 am
That is definitely good news. At least, developers can actually develop directly to the environment without having to bother with a SDK. We shall see where developments in this space will move.
April 30th, 2007 at 12:54 am
[…] Adobe Flex is a key ingredient in its Apollo virtual machine. Apart from Flex, all other components of Apollo already use open standards and open source components. This new development will make the entire stack more open. So looks like both SUN and Adobe are betting that to rule this space ones platform must be open source. I wonder if Microsoft will soon follow suit? As for Adobe, the only piece missing is an open source runtime. […]