Apollo Presentation Notes
I am partaking in the Adobe Developer Week. I choose to learn about “Building Killer Desktop RIAs:
Adobes Next Generation Technology”, which is about the Apollo project. Apollo project brings web development to a point where you can create for the web and desktop.
Apollo will allow developers to leverage web development skill sets like Flash, Flex, HTML, Ajax, CSS, Javascript, and PDF to create desktop applications.
Supported OS Windows OS, Mac OS, and (Linux OS in the future).
Some of the quick notes about Apollo. It will be free like the Flash Player. It is not a specific bytecode code base but a SWF and HTML engine that provides a rich API for desktop features. This means you will not have to compile your SWF to a specific exe but build regular SWF’s and HTML. There will be a sit comparable packager to link assets.
The question was raised about what HTML rendering engine they will be using. They answered saying they are not creating their own and will announce which engine they are using later. This means it will also support the full range of HTML specifications.
They plan to provide Apollo on labs by the end of the year, and make the release Apollo 1.0 by first half of 2007.
There will also provide capability to drag-n-drog OS files over the Apollo applications.
You will be able to install Apollo applications from the browser or the file system. You’ll have full control the look and feel of the application. Different shapes, transparency, etc…
They are touting the fact that its a desktop application model where you start with web development tools instead of traditional learning curves of desktop languages. Adobe and Microsoft are converging on the RIA web/desktop space. Adobe painted a picture that Adobe was going from the web/phone/device space into the desktop application building. Then showed Microsoft going the other way with desktop and into web with XAML and WPF/E.
Some of the reason to use Apollo is for offline branding, web/desktop mashups, offline storage, and client sense of being able to have their data.
They showed a couple demo application during the presentation. The first was a music player called Apollo Tunes. They displayed a semi-transparent application with a nice list of songs and display controls, and even a visualization window of the music. They also showcased a transparency application to show the capabilities of skinning your Apollo applications.
Image of the Apollo Tunes Demo (click to enlarge):
Image of the Apollo Tunes Demo with visualization window (click to enlarge):
The demo application was created by Mike Chambers. Check his site for Apollo updates as he is part of the Apollo team.
Also during the presentation they took the question about peer-to-peer capabilities. They summed up they answer by saying alot of people are asking about it but it might be included as a feature set or might wait till another release down the road. Up in the air, but at least they are aware of what people are asking for.
One big difference I personally see in Apollo (web to desktop approach) compared to .Net (desktop to web approach) is that Apollo requires a back-end. With .Net you do have code in the framework that provides direct access to data sets (ODBC, excel, etc..). With Apollo you would have to go through a backend language to manipulate large sets of data (yes I know there is shared objects, and file creation API’s) but I am talking about connected to a local database. Now you can always package your Apollo app with a standalone web server/database and connect to it with sockets/web services etc… but it is something that is not directly offered with the web to desktop approach. But to keep applications truly web/desktop a centralized SOA/Web 2.0 architecture is probably the best bet.
More Apollo reading.
Adobe’s Apollo Aims To Take Web Apps Offline (crn.com)
Another Apollo review of the Presentation. Nicely done.