Apollo, now what do I do?
So now what, Apollo has been released (in alpha), and you're a web developer sitting there thinking this is cool, I can build desktop applications that leverage all my web development experience. You're chomping at the bit (or your manager/director/VP is) to build some earth shattering desktop application that blends the best of web and desktop into one killer application. Where to start, what to build, what functions to include, the list goes on and on. Before you take off down some rabbit holes (we all do) a few words of insight, advice, or what have you, from someone who was been there, done that and learned .... the hard way.
- Remember that this will ultimately run on a person's local computer, so automatically updating features, content, bugs etc is not as easy. Adobe has build a very useful auto update feature into Apollo that certainly helps in getting updates out, but it doesn't help with offline content, or files not included in the .air file. Plan ahead. Know what may need to get pushed or updated to the installed applications and then build a robust mechanism to do the task.
- Be memory friendly. Now that you have access to the local file system and all that it entails, it becomes very easy to eat up huge chunks of memory. Java developers are used to having to close/cleanup pretty much everything they do in their code, not so with Flash developers. FileStream.close(), a simple little command that will save enormous pain.
- Just because Apollo runs on the desktop and can easily access the Internet does not mean the user will always have an internet connection. Plan for the connection being down. What will your application show, what can a disconnected user do, what happens if the connection drops during use? All questions to consider if your application will be using an internet connection for any functionality.
- Test, test, test, then deploy. Only release applications that have been thoroughly tested. People don't want to install half baked apps that crash the instant something happens. This isn't like the web were you can quickly catch and fix a bug (major or minor) and it's "no harm, no foul". People are way less tolerant of installed applications that go berserk than they are of websites that crash.
- Provide some basic help. Hey, you're a web developer, you should be able to build a basic HTML based help file/system with ease. Do your users a favour and give them a hand. Even some basic instructions and guidelines go a long way in helping users and making them feel more confident about an application (and the people who developed it).
That's it, nothing earth shattering, no great insights, nothing to help you achieve programmatic nirvana. Apollo is certainly going to change how applications get developed, it is about to unleash a whole new breed of developers on the desktop, just remember, you're in someone else's backyard now, they have trusted you enough to install your application on their computer, tread lightly, but build some killer apps.

Sep 04, 2007 at 9:22 AM
A great read, very informative
Been looking for a blog like this one for a while
Keep up the good work.
Sep 13, 2007 at 7:13 AM
Very helpful. Was just starting to do this myself. Saved me some major time. Thanks.
Oct 03, 2007 at 5:35 PM
web developers is trying to find new ways in recenlty
what can do to get high visitors from google?
its the important question
Oct 16, 2007 at 2:56 AM
Great piece of information, really enjoyed reading this piece, testing will be key here.
Fergal.
Oct 24, 2007 at 1:53 PM
Interesting information. Next level to RIA with this.
All developers would have to learn this.
Mainly test, test, test and help to users.
Regards.
Willie
Oct 26, 2007 at 5:21 AM
Great article. Adobe has always been a great company and I trust their products. Apollo is taking it to the next step in my opinion and we should see some great things from it. As the author says, a structred development cycle and testing, testing testing is crucial to building a successful and USEABLE application.
Oct 31, 2007 at 6:31 PM
I've heard of Apollo before, but I have to admit that I'm no programmer and know little about it. I've got a retail online business and outsource all my programming, mostly php programmers. If we want to run a more advanced ecommerce platform (similar to marketlive or IBM's) should I be looking for programmers with this type of experience? Thanks.
Nov 01, 2007 at 8:08 AM
Eric,
I'm not sure you would want to run your ecommerce site on Apollo (now AIR) since it runs outside of the browser and requires people to download and install the application. For ecommerce a website is still your best bet. However Apollo apps could be very useful for maintaining parts of the site or handling processes that currently may be very labour instensive or require coding skills. For instance, you could use an AIR app to assist in order processing, create a reporting dashboard to easily watch and measure site metrics or use an app to more easily manage parts of the site (say weekly specials) without having to go into a database or manipulate code. For ecomm I think AIR widgets and apps that can help streamline processes and make data more accessible and understandable is where they will be most beneficial.
Derrick
May 14, 2008 at 2:51 AM
Great piece of information of Apollo