The Flex 4 One-Step Migration Challenge

Flex 4 One Step Migration Challenge

Dear Flex community and Flex engineering team, I have a challenge for you: let's make Flex 4 migration a one-step process.

Yesterday, I documented the trouble I had in porting my Flex 3 app to Flex 4 and I blamed the move from the Fx prefix to namespaces for my woes. As some of you have pointed out, some of my woes were exacerbated because I was migrating from an earlier version of the Flex 4 Alpha SDK to the latest version. This is true. However, it is also true that Flex 3 to Flex 4 migration is not trivial and will require changes to existing code, libraries, and skins, especially concerning the introduction of namespaces in CSS.

My inner engineer understands that namespaces are the most elegant long-term solution. It doesn't help that my inner engineer is feuding loudly with my inner agile development evangelist (who is appalled at the sacrifice of short-term simplicity in favor of long-term design) and at my inner user experience designer who cannot help but look at the issue from the perspective of the end user.

That said, if we can agree on a set of core facts regarding this change in Flex 4, maybe we can take some positive action to lessen its impact:

  1. The introduction of language and library namespaces in Flex 4 adds additional complexity to the framework.
  2. The introduction of CSS namespaces may require previous code, components, and skins to be reworked when migrating from Flex 3 to Flex 4 apps. This is an undesirable, manual, and potentially error-prone process that should, if possible, be automated.
  3. Developers coming from non-namespaced environments will need a gentle introduction to namespaces, especially the relationship between language and library namespaces.

Given these, I'm issuing a challenge to the Flex community and the Flex engineering team:

Flex 3 to Flex 4 migration should be an automatic, one-step process. Ideally, there Should Exist (tm) an open-source script that migrates Flex 3 projects to Flex 4. This should also be used by Flex Builder to make it trivial for developers to upgrade their Flex 3 projects to Flex 4 without manual intervention.

So, what do you guys think? Who wants to take this on?

If you guys and gals agree that migrating to Flex 4 should be this simple, we need the following:

  1. A volunteer to spearhead the project: the volunteer should set up a project in GitHub (SVN is so last half-hour) and be prepared to put in the hours to coordinate with the other developers, etc.
  2. Volunteers to work on the project
  3. Buy-in/participation/support from Adobe so that the solution that's built will also be part of Flex Builder

Flex 4 is going to be a revolutionary release that, for the most part, makes Flex even easier to use. I am already in love with the new states feature, I love the new Gumbonents (Gumbo components), and the new keyframe animations, just to name a few new features that I've used recently. My one worry is that a manual migration process that affects existing code, libraries, and skins will overshadow these improvements and affect the adoption and transition to Flex 4. We can fix this by making Flex 4 migration a one-step process.

So, who's in?

Thoughts? Comments? Suggestions? Leave a comment!