Adobe AIR Launchpad helps you creating AIR apps/projects
We’ve just launched Adobe AIR Launchpad: an AIR application that can speed up your AIR development.

How does AIR Launchpad help you? Here is a list of some of the features:
- It creates the folder structure for an AIR application ready to compile with the settings you want it. For example, if you want to use auto update feature, then it will create the server side folder and files needed for this feature to work. If you’ve done AIR development you know that most the configuration options you need to set are stored inside of an XML file. Well, this application provides a user interface for setting these options. So it makes it easier to set up the icons used by the app, default width/height, or making the app transparent.
- It creates an install badge if you need one (you can provide the image you want to be used).
- It helps you to hook up listeners for events like Activation/Deactivation, Close event, Global Error.
- It generates sample code for tasks like: Drag/Drop, Local Databases, Using Windows, HTML Component, Native Process, and many more.
- It can create a ZIP file with all these folders/files so you can import this ZIP in Flash Builder and continue the working on the application using this IDE.
Here are some screenshots:




You can get this application from here.
Working with Doctrine 2, Flex, Zend AMF, and Flash Builder
I finally got some time to play with Doctrine 2 and Flex. Back in May I wrote an article about working with Doctrine 1.x and Flex (you can read the article here) and my feelings were mixed. I chatted with Jonathan Wage of Doctrine about some of the shortcomings I found in Doctrine 1.x and his response was to check Doctrine 2 (still in development at the time of writing this article). Doctrine 2 is a big step forward.
In this article I describe how I rewrote the original application I created for my first article, this time using Doctrine 2, Flex 4, Zend Framework, and the Flash Builder data-centric development wizards. I’ll highlight the relevant differences between Doctrine 1 and Doctrine 2 along the way. Thus, you should find this article valuable in any one of these two cases:
- You are already working with Doctrine 1 and you’ve wondered what it would take to move to version 2
- You want to learn how to use Doctrine 2 with Flex; you know PHP and you know enough Flex not to be scared away if you see some snippets of code
Before going into the details let me say this: if you aren’t already using an ORM framework for PHP then you should. For most projects it can help you by freeing you of the tedious tasks of writing CRUD code and SQL queries. It allows you to focus on the business logic of your application. And all these advantages are multiplied when working on Rich Internet Applications because on this kind of project much of the work is done on the client and not on the server.
There are some aspects of using this ORM with RIA that could be better, but hey we don’t live in a perfect world. Most of these things, I think, are related to the fact that every time you use a server side ORM with a rich client, you leave behind the main story used for creating that framework – you use the ORM in order to feed a rich client with data and enable the client to persist the changes. Thus you need additional boiler plate code to make the whole thing work.
If you don’t know much about ORMs in general, you may want to read my first article first and before continuing.
50 resources to get up to speed with the Flash Platform
For the past six months we’ve been rolling out a lot of goodies, some of them in the form of final releases, others as betas. It’s no wonder you have to spend some time in order to get up to speed with the latest features of AIR 2, Flash Player 10.1 for Android, AIR 2.5, Flex 4, or Flash Builder 4. Thus, I thought it’d be a great idea to put together a list of resources to help you learn about these goodies.
So here I go, in no particular order.
Peer 2 Peer
Flash Player 10.1 and Adobe AIR 2 brings new capabilities to the table when it comes to Peer 2 Peer. The best resource to learn about this is my fellow evangelist Tom Krcha (some say his dreams are multicasted, but only a few are lucky enough to receive them :D):
- Multicast Explained in Flash Player 10.1
- File sharing over P2P in Flash Player 10.1 with Object Replication
- P2P GroupSpecifier Class Explained
- Direct Routing Explained in Flash Player 10.1
- Simple chat with P2P NetGroup in Flash Player 10.1
Flex and server side technologies
- Christophe Coenraets wrote about tuning client-side performance using Flex 4 and LiveCycle Data Services
- Ryan Stewart’s article on creating a basic CRUD application using Flex and PHP with Zend AMF
- If you prefer to use the Data Centric Development features of Flash Builder when working with Flex and PHP check out this article
- Debugging Flex and PHP projects with Flash Builder 4 and Eclipse PDT/XDebug
- Using Flash Builder 4 to build a Flex application that consumes a .NET-based web service written in C#
AIR 2
- Understanding the security changes in Flash Player 10.1 and AIR 2
- Creating a Web Server using the new Server Socket API in AIR 2
- Exploring the “open with default application” API
- Exploring the Native Processes API: here, here, here, and here
- Retrieving a list of network interfaces in Adobe AIR 2
- Creating a socket server in Adobe AIR 2
- Using drag-and-drop support of remote files in Adobe AIR 2
- Writing multiscreen AIR apps
- AIR 2 and Enterprise
- Developing AIR offline applications using the ColdFusion 9.0.1 ActionScript ORM Library
- Ten tips for building better Adobe AIR applications
AIR/Flash Player 10.1 and Android
- Mark Doherty’s P2P Video Calls on Android tutorial
- AIR 2.5 StageWebView demo
- Geolocation in AIR
- Video chat for Android using LiveCycle Collaboration Service and AIR
- Android apps that connects to desktop apps using Peer 2 Peer: here and here
- Setting up the tools for creating AIR for Android apps and accessing the camera from AIR
- Android Trader Desktop with Flex and AIR for Android
- “VoiceNotes for Android”: Sample App using Flex, AIR, and the Microphone API
- Serge Jespers’s native installers packager
Flex 4
- What’s new in Flex 4
- Differences between Flex 3 and Flex 4
- Skinning in Flex 4
- Introduction to Flex 4 (Spark) layouts
- New Animation Engine
- Michaël Chaize’s layout mirroring article
- Styling Flex 3 components with Flash Builder 4
- Image Zoom Effect and Animating Filters by Chet Haase
Other Flash Builder 4 related resources
- What’s new in Flash Builder 4
- Using Data-Centric features with Parsley (and other frameworks)
- Test Driven Development with Flash Builder 4 and FlexUnit
- Using Flash Builder’s Profiler
- Moving existing Flex projects from Flex Builder 3 to Flash Builder 4
Enjoy!
Flash Builder’s Lost Features: Profiler
Here is the second episode of the Flash Builder’s Lost Features show. This time I chose to talk about Flash Builder’s profiler and give you enough info to feel comfortable using it if it’s new to you. Profiler helps you to locate memory leaks, identify excessive object allocation, or analyze execution times.
With the extension of the Flash Platform on mobile devices, I think that it’s more important than ever to build Flash applications that run efficiently for a long time. Here is the video (you can watch the video in a higher resolution here).
If you want to read more about the “art” of profiling then please take the time to read the official (here and here) and Ilan Avigdor’s article.
Flash Builder’s Lost Features: Call Hierarchy
Last week I had the pleasure to present to the first edition of gotoAndSki() conference, up north in Norway. During one of my sessions people said that it’d be a great thing if Adobe could present the Flash Builder new features in such a way that it makes easier to learn them. They suggested instead of just throwing big PDFs to the community, we could also have blog posts tackling one feature at a time. I think this makes sense; we are all too busy with current and upcoming projects to find the time to go through manuals.
So here I come and I start today a series of articles called Flash Builder’s Lost Features. Today I’ll present Call Hierarchy command. This command makes it easy to find all the places where a particular property/variable/function/method is used in your project. It works for ActionScript or Flex projects.
To use this feature, right-click the variable or method you are interested in and select Open Call Hierarchy.
When you do this, you should see in Flash Builder a new view (named Call Hierarchy) with all the occurrences of what you’ve selected. If you double-click an entry, Flash Builder will open the file where that entry can be found and you can inspect the code. Also, you can extend a node to see the call stack trace. And all of this can be done without having to run the project.
This is it for now. Like I said, it is a small and simple to use feature, but it is pretty powerful. In the next episode I will talk about Flash Builder’s Profiler.
Network Monitor feature from Flash Builder 4 Premium
Network Monitor is a new feature available only in Flash Builder 4 Premium. Basically it helps you to see what is happening when you run your Flex project and you request data using services such as RemoteObject, HTTPService, WebService etc. You can inspect the request and response body, and you can see how long it takes for a particular request to be answered. I think these capabilities are pretty useful for determining performances issues or bugs.
I wrongly assumed that Network Monitor will work only for services created using DCD wizards. Actually it works for all services, it doesn’t matter how you’ve created them.Here is a screenshot with Network Monitor and a project that uses RemoteObjects to connect to a PHP server:
There is another feature called Test Operation that allows you to ahhh, test an operation :D. This feature only works with DCD generated services.
Installing Flash Builder 4 and Zend Studio 7.1 together on Mac
If you read my blog you know that one of my favorites setups is Flash Builder and Zend Studio installed together on the same Eclipse instance. This is something that you can easily achieve: install Zend Studio and then grab the plug-in version of Flash Builder and start the installer. At some point you can choose the Eclipse installation you want to use (in this case you’ll point to Zend Studio) and you are done.
However, on Mac there’s a catch: for now Flash Builder 4 is available in only a carbon based version while Zend Studio 7.1 is only cocoa based. And these two versions can not be mixed together (we are working on a cocoa version).
Fortunately there is a workaround. My friend, Roy Ganor from Zend, told me you can use the update URL and this way you’ll be able to install the Zend Studio on top of the Flash Builder 4. The update URL is this: http://downloads.zend.com/studio-eclipse/updates/7_1.

Basically, all you have to do is to open Help > Install New Software… click the Add button to add the Zend update site and then click OK. Next you select this newly added site from the combo-box and follow the wizard. Unfortunately, on the last step you may encounter an error like this:
Cannot complete the install because of a conflicting dependency.
Software being installed: Zend Studio Patches Feature 7.1.0.v20091227 (com.zend.php.patches.feature.group 7.1.0.v20091227)
Software currently installed: Eclipse Web Developer Tools 3.1.1.v200908120400-7R77FStEVw2z07WtDz-OZrhL5C-3 (org.eclipse.wst.web_ui.feature.feature.group 3.1.1.v200908120400-7R77FStEVw2z07WtDz-OZrhL5C-3)
Only one of the following can be installed at once:
JavaScript Development Tools Core 1.0.201.v200908101420 (org.eclipse.wst.jsdt.core 1.0.201.v200908101420)
JavaScript Development Tools Core 1.0.201.v2010012803 (org.eclipse.wst.jsdt.core 1.0.201.v2010012803)
Cannot satisfy dependency:
From: Zend Studio Patches Feature 7.1.0.v20091227 (com.zend.php.patches.feature.group 7.1.0.v20091227)
To: org.eclipse.wst.web_core.feature.patch.feature.group [3.1.1.v20091227]
Cannot satisfy dependency:
From: JavaScript Developer Tools 1.1.2.v200908101420-77-FGCCcNBC-BhLcE_Pm (org.eclipse.wst.jsdt.feature.feature.group 1.1.2.v200908101420-77-FGCCcNBC-BhLcE_Pm)
To: org.eclipse.wst.jsdt.core [1.0.201.v200908101420]
Cannot satisfy dependency:
From: JavaScript Developer Tools 1.1.2.v200908101420-77-FGDCcNBDjBXMoBbFb (org.eclipse.wst.jsdt.feature.feature.group 1.1.2.v200908101420-77-FGDCcNBDjBXMoBbFb)
To: org.eclipse.wst.jsdt.core [1.0.201.v2010012803]
Cannot satisfy dependency:
From: WST Web Core 3.1.1.v200908120400-7H77FDAAT7oGlfz0dFV3j0BgbCD7 (org.eclipse.wst.web_core.feature.feature.group 3.1.1.v200908120400-7H77FDAAT7oGlfz0dFV3j0BgbCD7)
To: org.eclipse.wst.jsdt.feature.feature.group [1.1.2.v200908101420-77-FGCCcNBC-BhLcE_Pm]
Cannot satisfy dependency:
From: WST Web Core Patch 3.1.1.v20091227 (org.eclipse.wst.web_core.feature.patch.feature.group 3.1.1.v20091227)
To: org.eclipse.wst.web_core.feature.feature.group [3.1.1.v200908120400-7H77FDAAT7oGlfz0dFV3j0BgbCD7]
Cannot satisfy dependency:
From: Eclipse Web Developer Tools 3.1.1.v200908120400-7R77FStEVw2z07WtDz-OZrhL5C-3 (org.eclipse.wst.web_ui.feature.feature.group 3.1.1.v200908120400-7R77FStEVw2z07WtDz-OZrhL5C-3)
To: org.eclipse.wst.jsdt.feature.feature.group [1.1.2.v200908101420-77-FGDCcNBDjBXMoBbFb]
I got around this error by following these steps:
- install the Zend Studio 7.1.x
- create a folder somewhere on your hard drive and inside of it a new folder named eclipse
- grab the features and plugins folders from the Zend Studio installation folder and copy them to the eclipse folder you’ve created earlier
- go back to your Flash Builder 4 installation folder and inside the dropins folder create a file called emf.link. Add in the emf.link file this line: path=/Users/mcorlan/Documents/work/zend_studio_7.1_plugin – this folder contains the eclipse folder with features and plugins folders (make sure you edit the path according to where you placed the Zend Studio files)
It seems that either Eclipse 3.5.1 made some backward steps when it comes to installing plug-ins that have dependencies or I haven’t discover some of the available features for installing plug-ins.
White Paper: debugging Flex and PHP projects
I’ve just published a white paper on debugging Flex and PHP projects using Flash Builder 4, Eclipse PDT, and XDebug. You can read the article here.
In case you want to watch the webinar I did on the same subject today, you can go here. Thank you to all the people who joined my webinar!
PS. It seems we’ve come a long way when it comes to writing Flex applications. Out of 250+ registered people, only 60 decided to drop by. This is really good news, soon there will be no more bugs in our software :D
Secret agencies catching up on Flash Builder 4
After we’ve launched Flash Builder 4, I received a number of strange calls. Luckily for me, I had my camera nearby and I was able to record the calls. I edited them a little bit, you don’t want to mess with the secret agencies :D. Here’s the video:
This is the catch: if you recognize who’s impersonating the American, English, and French agents, you get a Flash Builder 4 license (please don’t ask me about the Russian guy, I have a family :D). There are three guys to recognize and I’ll give away three licenses (for each correct guess you get a license; you can get only one right and you’ll get the license). Hurry up, there are only three licenses. Just drop a comment (make sure you fill in your e-mail address)! Good luck!
LATER UPDATE: There’s one more license for who’s getting right the person doing the American. I’ll give you a hint: he’s an American and he is part of the Flash Platform.
LAST UPDATE: I stopped the contest. The American is Bill Heil, platform product manager for Flash Builder, he’s overseeing server services area.
I know this one wasn’t easy at all. But then I never said it will be
. Next time you should know better!
I did the raffle and the winner of the last license is Mr. Benz. Congratulations!
Thanks to everyone for taking part and I hope you had a great time!
Get up to speed with Flash Builder 4 and Flex 4
There are bunch of online resources if you want to get up to speed with Flash Builder 4 and Flex 4. And because there’s a lotthat’s new, you may want to check these resources.
First of all, if you are new to Flex, we’ve updated the Flex in a week training free online course. Or, if you are in a hurry, use this Flex Test Drive to build a Flex application in an hour. Next, you can find here more about the new features of Flash Builder 4 and here you’ll find an introduction into Flash Builder’s Data-centric development feature. The pages for Flex and ColdFusion, Flex and PHP, Flex and Java, and Flex and .NET integration were updated too, so if you are using these technologies you may want to have a look.
If you want to quickly understand the Flex 4 framework here is a list of resources:
- A brief overview of the Spark architecture and component set
- Spark layouts with Flex 4
- Introducing skinning in Flex 4
- Differences between Flex 3 and Flex 4 (overview of the Flex 4 architecture changes, migrating applications to Flex 4)
- Chet Haase (Flex SDK engineer) has many videos explaining the new Flex 4 animations engine








Android & AIR
PHP & Flex