Second thoughts on Apollo

by Ruben

As I had promised to write down my first thoughts on Apollo I started putting together this post the other day, and talked it over with my very good friend Michael.

Initially, the set tone was very cynical, mainly because I was struck by the massive amount of fuss and mania circling around the product. Which in my opinion wasn't entirely justified, since Apollo is basically just a tool to mash up already existent technologies (such as Flex, HTML and PDF).

Another reason for the hot fuss, I think, was that now all of a sudden Flash/Flex developers would be granted file-writing permission (like the way children, and grown-ups too, are always more interested in doing things they aren't allowed to). Which of course is kinda cool, but does it make one single product that awesome? Is there really so much Apollo-goodness that you couldn’t do with Flex already?

Michael, however, pointed out to me what is in my opinion one of the neatest things about Apollo, the alternative; being Java (according to him). Please do note that I am by no means familiar with the 'real' programming languages like Java or C, so I'll just conveniently take Michael's word for it here.
To make my (or rather his) point a bit more clear I'll proceed. Since Java isn't always that tempting in all situations and for all projects, Apollo is a great way to get the job done without too much hassle.

Another good thing about Apollo, perhaps, is that Flex applications on the web that have the functionality that in reality belongs on the desktop, can now be ported to desktop applications in probably less time than it took me to write this post..
Now some may argue that an application that really belongs on one's desktop perhaps shouldn't have been on the web in the first place. But I think that that does not change the fact that there still are some really good apps on the web that have the functionality of a desktop app, just look at Netvibes for instance..

One downside to porting a web app to a desktop app, however, is that for the latter a reinstall is necessary for every update of the software, where web apps conveniently use the last version automatically.
My bad, today I found out that Apollo lets you use an updater class that makes sure the user is running the latest version of the software.

As far as features go, I think the way Flash and HTML content can be integrated within Apollo is just plain ridiculously awesome. Invoking Javascript functions from within Actionscript (and the other way around) like Apollo enables you to, is what Actionscript developers have been breaking their heads over for many years now.
Also, the drag and drop feature is way too cool as well, I personally use it alot in nearly all the desktop applications I use, and would love to be able to drag content from and to Flash content.. The only thing that kind of saddened me when I was first putting together an Apollo application, was that drag and drop functionality isn't included in the public alpha, so we'll have to wait for that one for a bit.
Pretty much the same goes for copy/paste support, it's not yet been implemented, but it will be way cool when it's finally in there.

So I guess my conclusion, more or less, is that although I still wonder if it was worth the ridiculous fuss (especially on the blogs), Apollo sure is a pretty awesome, nifty, and cool product.
Think about it..