Matt LeGrand is an accomplished user experience specialist with a primary focus on Adobe Flex and Air application development. Matt has been working with Flex since 2005 and Adobe Flash since 1999. His interest are in human computer interaction and interactive media research.
The past few weeks I've been playing around with the idea of having an air application write some of the basic shell code and project structure that I typically use when starting an Adobe Flex or Air project. I'm calling the application 'FireStarter'. It's open source and you can get it here:
Here's some more details via the google code page:
FireStarter is an Adobe air application that rapidly builds the basic shell project for other Flex or Air development endeavors. This open-source application is initially designed for use in setting up medium to large projects based on the Cairngormn framework.


FireStarter currently consists of three basic steps. FireStarter then generates about 500 lines of code and the basic file structure for you application. You assign a project name, client, location on the local drive and the major sections of the project and the generated code uses best practices to organize your project based on standard model view controller best practices.
The generated application should run right off the bat. The application when launched has a header bar across the top with a button for each section that you created in FireStarter?. The buttons when clicked change the main view stack and show the corresponding application section. I’ve added a random background color to highlight the change.
The Main.mxml file (com/client/project/view/Main.mxml) has a viewStack component with the major sections of your application. The viewStack’s selected index is bound to the currentView in the ApplicationNavigationManager.
So the genereated method that is called when one of the header buttons is clicked might reference the currentView of the main application in this mannor:
protected function sectionTwoBtnClickHandler(event:MouseEvent):void
{ åÊåÊ
model.applicationNavigatorManager.currentView = ApplicationNavigator.SECTION_TWO_VIEW;
}
While the random colors are nice, I don’t expect too many developers to take this application to market but I hope this will lop off a day of development work just setting up the project and project structure.

I created a quick video of going throught and setting up a sample application. I also randomly click throught the code afterwards to show some of what's been generated.
I don’t expect this application to be the perfect solution for every new project. We all do things a little different and love to put our own little spin on things. Everything I’ve written is protected variables and protected functions so feel free to override and change anything you’d like. If the file structure isn’t what your dev team is familiar with feel free to dive into the source code and change it. I’ve assigned an MIT license to it because it’s the most liberal license I could find. Feel free to rebrand, rewrite, resell or flat out steal this application.
This code isn't perfect so when you find issues and bugs, do me a favor and post them here:
I hope this application helps you save some time and I hope it saves your clients a little green. I'd love to hear some feedback as to what could be made better, feature ideas and general thoughts on the subject. Thanks for any comments!
Sincerrely,
Matt
Can I convince you to add this to RIAForge too please? You can just point back to Google Code.
@johanees,
That a great solution. I wonder if there are a lot of people with personal build scripts to speed up the start of projects. I'd love what other folks have come up with.
@ Raymond,
No problem. Thanks for checking it out!
-Matt
Matt,
This is a little off subject so I was trying to find a way to contact you differently, but I didn't find another way.
I am pretty new to Flex, but really like the cubeeffect that you have in the application. I would like to do something similar, but I have more than 6 sides. I had found an entry somewhere else for something similar but it looked like it was limited to 6 viewstacks. Can you point me to a fairly easy to use explanation/example of how I could create the cube effect that you have?
Thanks,
Alan
@Alan,
Yeah it's a pretty fun effect. There are actually two open source projects. One called Efflex written by Tink and uses the Papervision 3d library. http://www.efflex.org/
The one I happened to choose was from a guy named Alex Uhlmann and is a bit older. It uses Sandy 3D to create the effect.
http://weblogs.macromedia.com/auhlmann/archives/2007/03/distortion_effe.html
Looking forward to checking out what you come up with!
-M
nice info, im writing review of adobe air applications, you can see at <a href="http://www.myairapplications.com">adobe air applications</a>
another of adobe cool applications great, do follow www.abizc.com for professional reviews
http://concealer.mybrute.com
Check out the cool mini-game
i have been using JET inside eclipse and a simple DSL i wacked together for the last couple of months to do this.
Much easier and since its integrated into eclipse the possibilities are very far reaching.
Posted By: johannes nel on Apr 28, 2009 at 12:00 AM