Apollo Presentation Notes

Posted on June 13, 2006 | 7 comments

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):
Apollo Tunes Demo

Image of the Apollo Tunes Demo with visualization window (click to enlarge):
Apollo Tunes Demo

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.

  • mike chambers

    I just want to calrify, that Apollo applications do not require a backend to run. They can connect to and leverage backend services (The ApolloTunes application was loading album art, and related artists from a web service).

    As far as connecting to local databases, that may also be possible.

    Hope that helps…

    mike chambers

    mesh@adobe.com

  • http://www.renaun.com Renaun Erickson

    Thanks mike,

    You are right about Apollo not needing a backend. I am a web application developer and tend to think of applications that are married to back ends. There are plenty of cases where this is not true.

    The local database connectivity would be a interesting option. Shared Objects probably take care of most situations where this might be needed, therefore the feature might not warrant the time to developer and support it.

  • mike chambers

    One, one option, regardless if we support it directly, is to you conenct to the DB via ActionScript and communicate over the socket.

    Should be possible, and I dont think it would be long before someone wrote libraries to make it easier.

    mike chambers

    mesh@adobe.com

  • http://www.renaun.com Renaun Erickson

    Exactly what I was thinking. There could be other options if calls to 3rd party dlls are allowed. I see it as a small hurdle for people when trying to compare the Apollo to more of a desktop to web approach.

    They are different for sure and I am more for the web to desktop model than desktop to web.

  • Geoffrey Williams

    Thanks for the write up. Looking good so far.

  • Hugo Carvalho

    Hi Renaun,

    Do you know if Apollo Tunes is available for download?

    []!

  • http://www.renaun.com Renaun Erickson

    no I do not know, but i do not think its is available for download.