summaryrefslogtreecommitdiff
path: root/published/Webmonkey/Monkey_Bites/2007/03.19.07/Mon/apollo.txt
blob: 5772ca5d1be4d43cab85ea43465e6c16d95ed9c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
As I mentioned in [The Morning Reboot][1], Adobe has [released][2] an alpha version of its new cross-platform deployment software code named Apollo. Apollo aims to bridge the gap between the growing functionality of web applications and traditional desktop applications.

Apollo is designed to help rich internet application developers create on and offline web applications that behave like desktop application. Essentially, Apollo allows web developers to build desktop application without having to learn complex compiled languages Java or C++. 

Apollo applications can be written in HTML and Javascript, Flash, Flex or any combination of the three, and then be deployed on Mac OS X, Windows and (eventually) Linux.

Using Apollo, online apps can offer a downloadable application installer that will put all the functionality of the website on the user's desktop. Apollo apps look and behave just like traditional desktop apps, complete with icons in the user's applications folder and dock (or system tray on Windows).

But with the current trend moving in the opposite direction -- tasks traditionally handled by desktop apps are now online services -- why is Adobe touting desktop applications? Probably for the same reason Mozilla is planning to support offline components in the next version of Firefox, because the world of ubiquitous internet access remains illusory.

Using technologies like Apollo, rich internet application designers can bridge the one shortcoming of online apps -- what to do when the internet isn't available? Need to edit a document mid-flight? Want to post your photos from the subway? Currently you're out of luck, but with Apollo-based apps you could perform your edits and then sync the next time you connect.

Of course the road to cross-operating system, online/offline apps is littered with failed attempts, but, despite my initial skepticism, Apollo looks great.

Imagine for instance the entire online component of Flickr's organizational and editing tools wrapped in a desktop app that you can use offline to organize your photos and then, when you connect, updates the data in the background. 

True, in Flickr's case there is already a cottage industry of apps that can do this sort of thing, but functionality and user experience varies widely. Using Apollo, it would be relatively easy for Flickr developers to simply repackage their online tools as an integrated on/offline application.

[Apollo is free download][3] broken into two separate components, a software development kit for programmers and then the runtime software which allows users to run Apollo applications on Mac or Windows machines. 

Once Apollo hits 1.0 the runtime portion will feature an end user installation process somewhat like that of Adobe's Flash Player Plugin. Version 1.0 will also see the release of a Linux version of the runtime environment.

The second development release of Apollo will be a beta and is due sometime this summer. Version 1.0 is planned for the second half of the year.

While there is no specific IDE for developing applications, the initial alpha release of Apollo is squarely aimed at Flex developers while future releases with bring in more of the HTML/Ajax and Flash tools. 

Adobe's upcoming Creative Suite 3, which is schedule for release later this month, will integrate with Apollo and allow users to generate Apollo content via apps like Dreamweaver.

So what is Apollo? In its current incarnation, Apollo is really a set of filesystem APIs combined with network APIs. The best way to understand what Apollo is capable of is to check out one of the [sample applications available through Adobe Labs][5] (note that you'll need to have the runtime software installed to use the samples).

Unfortunately because Apollo is a software development kit and runtime application, there's really no way to demonstrate Apollo. If you'd like to watch a demo before committing to an install, here's a clip of Adobe's Mike Downey showing off a prototype Ebay Apollo app at the Demo conference earlier this year.

<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/RurAaFUjpvE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/RurAaFUjpvE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>



The problem facing Apollo is whether or not users will download and install the runtime component. Historically web plugins have not faired well and runtime environments even worse. Still, Apollo has remarkable potential if it can achieve the necessary critical mass.

If you're a web app developer wanting to see what Apollo can do for your applications, Lynda.com has has a series of instructional videos narrated by Adobe's Mike Chambers [available for download][4] that walk you through creating and deploying a simple Apollo application in Flex.

[1]: http://blog.wired.com/monkeybites/2007/03/the_morning_reb_9.html "The Morning Reboot: Monday March 19"
[2]: http://www.adobe.com/aboutadobe/pressroom/pressreleases/200703/031907ApolloLabs.html "Public Alpha of Apollo Debuts on Adobe Labs"
[3]: http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5Fapollo "Adobe Labs: Developing with Apollo"

[4]: http://movielibrary.lynda.com/html/modPage.asp?id=378 "Apollo Alpha Preview"
[5]: http://labs.adobe.com/wiki/index.php/Apollo:Applications:Samples "Adobe Labs: Apollo Sample Apps"