The early part of this century has been dominated by software companies moving applications off the desktop and over to the Web. Now, Adobe is offering web developers a chance to move in the opposite direction. The company has released the first developer preview version of its Apollo toolset, which lets Web developers create desktop applications that can interact with any site on the Internet.

Apollo is a cross-platform runtime library that is available for Windows (XP SP2 or Vista) and Mac OS X 10.4 or higher—a Linux version is also in the works, but is not yet available. The runtime allows developers to create applications using HTML (both vanilla and enhanced with AJAX), JavaScript, and Flash. These applications can then be made available as a downloadable link on a web site, which will install the application (and the appropriate operating system runtime) to the user's desktop. After that, the application can be run by double-clicking on the desktop icon, just like any other application.

The applications can interact with other sites on the Internet, with the user's computer, and with each other, and they can be run regardless of whether or not the computer is online. At the DEMO 07 conference, Adobe senior product manager Mike Downey showed an example of how these applications might work. He downloaded a sample application called eBay Desktop and installed it on his demo computer, which happened to be running OS X. The application created an attractive display which allowed the user to easily browse auctions and create new ones, with tools to facilitate adding pictures to a new auction through the use of a web camera.



Sample Apollo application

All very impressive, but at this point nothing had been demonstrated that couldn't have been done with an online Flash page. Downey then pulled the network cable and showed that new auctions could be created even when offline, and the application would automatically upload them to eBay when the computer was next connected. He also demonstrated how the application could create an Excel spreadsheet based on online data and save it to the desktop.

Adobe is giving the runtime away for free, and it can be distributed with each application or downloaded separately from Adobe's web site. The openness extends to third-party applications as well—users can select "View Source" from a menu to see the underlying code behind any Apollo application. Interestingly, Adobe used Apple's open-source WebKit frameworks to develop the built-in browsing capabilities in Apollo applications. Adobe's stated criteria for this decision included finding an open-source project and one that would run on mobile devices, so expect mobile versions of Apollo to follow.

Will Apollo bring web developers back to the cozy confines of the desktop? The technology is similar in some ways to Microsoft's Windows Presentation Foundation (formerly codenamed Avalon) in that it merges the concepts of web-based and desktop applications. Adobe's solution is somewhat different in that it targets multiple desktop platforms, although Microsoft is planning on releasing a multi-platform version called WPF/E, which will also target the mobile market. Both Adobe and Microsoft make most of their income from desktop applications, so it makes sense that they would promote the idea of making desktop apps to web developers. For Adobe, the release of Apollo also offers an opportunity to boost sales of Flash development kits.