Category Archives: Flex News

Flex 4 List of Renames and API Changes

We have posted a list of API changes that we’ve been making to the Flex 4 API (this week) on the open source site at:

I will be updating this list as things change or get added. These API changes should not change, add or remove functionality,  in general. All of the changes fall into one of the following categories:

1) Direct rename of APIs, classes or package names

2) Removing properties or methods that are redundant with other methods or properties.

3) Moving some API from protected to private or vice versa.

4) Moving some properties or methods to base classes.

5) Changing the type of some properties.

You can grab these latest builds on the open source site, but, as I said in my last post, I wouldn’t recommend it until at least Monday when these renames should be over.

A messy week of renames for the Flex SDK

In case you are watching the SVN commits of the Flex SDK team, you might notice a lot of “renames” going in this week. This is actually a week reserved for the final “renames” of our Flex 4 (Gumbo) API. After this week, we are trying to NOT change the API for any reason before Flex 4 goes out.

But, in the meantime, this week is messy. I wouldn’t recommend grabbing one of our builds this week. Most of the documentation and many samples out in the wild have not caught up with these renames, so, you’ll have a tough time figuring out what changed to what unless you go and read all the SVN diffs and logs.

As the week comes to a close, we should finish our renames and I’ll publish a list of changes.

Flex 4 Public Beta Released – It’s Alive!!!

Flex 4’s first public beta has now posted. This includes everyone’s first look at Flash Catalyst and Flash Builder (previously known as Flex Builder).

Have fun everyone, you can download them here: (Labs)

Matt Chotin wrote an article on what is new in Flex 4 and it can be found here:

And, for shameless self promotion… I wrote an article for dev net regarding what you’ll run into in Flex 4 coming from Flex 3:

Once you get comfortable in Flex 4, check out the new effects. Chet Haase wrote up an article on some of the new Effects classes. Part I can be found here:

We look forward to hearing your feedback on this public beta! File bugs!

Flex 360 Indy – Day 1 – Bugquash

After an evening of beer and White Castle burgers in Indianapolis, I was actually to able to wake up at 9:00 AM this morning to attend the Flex Bugquash.  The day started a bit slow when the Adobe connect information was not immediately posted, however, it ended up being a pretty successful opportunity where Flex SDK bugs were indeed quashed. Vera Carr, associate product manager gave the a talk to start off the bug quash. She talked about how many bugs have been fixed in the community, what the process is and motivation for everyone to get involved. I was surprised to learn that only 40% of patches submitted get accepted by the SDK team. I thought our number was much higher. Vera pointed out the main reasons that patches get rejected which included reasons like:

1) The fix would bloat the code and only be relevant for 20% of the community (or less) while hindering the other 80%.

2) The fix is too narrow and doesn’t think about other scenarios.

3) The fix breaks backwards compatibility

4) The fix doesn’t follow good coding standards.

They will likely post the slides from Vera’s talk on the bugquash site in no time at all.

During the day, we only had about 10-15 people in the room in Indy and another 10+ developers online, but, we actually accepted a good number of patches. Our dev team accepted seven patches today and still have a handful to review that were submitted today. I think that is pretty awesome. Luckily, we had a decent number of developers on hand to help people set up their environments and learn the best coding practices. I didn’t do too much except run tests on some patch builds.

I think that all of the people who had accepted patches today were pretty awesome. The developers who had patches accepted today included:

Matt Couch (3)

Nate Beck

Abdul Qabiz (2)

Marcus Christie

Nice job!

FlashCamp Announced May 29, 2009

Mike Chambers announced that registration is now open for FlashCamp on May 29, 2009. If you look at the sessions available, you’ll see that this is geared for people wanting to know what’s new in the upcoming version of Flex Builder. There will be demos for Catalyst, Flash Builder 4 and various Flex SDK features.  I have the unfortunate time of presenting Advanced CSS at 9:30 PM that night. I hope some of you will still be awake and not drunk from the free beer. Well… actually, I don’t really care if you are drunk as long as you pretend like you are listening to my quick 15 min. preso. 🙂

Register soon…this event always fills up quickly because its free.

Register here:

What : FlashCamp  – one night mini conference for Flex developers interested in learning about and getting started with the next generation of the Flex SDK and tools.

When : Friday, May 29th, 2009. 5 PM PST – 10:30 PM PST

Where : Adobe San Francisco Office. 601 Townsend St, San Francisco, CA 94103

How Much : Free and open to the public (Limited space and Registration required)
What to Bring : Yourself, Laptop, any Flex apps you might want to get running with Flex 4. We will provide the Beer, Red Bull, Coffee, Pizza, schwag,  knowledge, venue and bits.

Update! (5/7/09) FlashCamp is sold out now. Sorry if you didn’t act fast enough!

Speaking at Flex 360 Indianapolis

Ryan Frishberg and I will be speaking at Flex 360 in Indianapolis. It will be my first big speaking engagement 😮  We’ll be talking about creating custom ItemRenderers. We actually gave this talk at 360 MAX, but, that was a small unconference, but, I’d say it was good practice.  We will likely change our talk to include more about Flex 4 and how itemRenderers will work in the upcoming release. Most of the talk will still revolve around Flex 3 itemRenderers though. The conference runs from May 18-20. We are on the schedule for speaking Monday afternoon.

If you are coming to the conference, you should also come join us on Sunday for another BugQuash. Matt Chotin, myself, Ryan and Vera Carr should be there in person trying to help answer questions and get through more bugs! Details about the time and location of the bugquash can be found here:

See you in Indy!

The Fx prefix has been removed from Gumbo

Since the beginning of this week, some members of our team have been diligently working to remove the Fx prefix from our new Gumbo components. This involved not only renaming classes, but, moving classes around to different packages and allowing for multiple namespace support in CSS.

As of yesterday, we, in QA, received our first build for this rename effort. We have begun testing the build while updating our tests (thousands and thousands of them…no exageration… there are a good number of sed scripts involved). There have been bugs, runtime errors etc from missed path names or overzealous rename scripts, but, so far, things have gone fairly smoothly and bugs have been fixed quickly thanks to the response of some of our dev and qa members.

If you would like to know what has changed in this huge rename and repackaging effort, you can check out the open source document here:

I will summarize a few key points:

1) There are four new namespaces that represent :

– The legacy mxml language namespace used in previous versions of Flex (

– The new mxml language namespace introduced as part of Gumbo (

– The new namespace for building spark based applications (library://

– Finally, the non-language-version-specific namespace for using halo components and classes in your application ( library://

Therefore, if you have an Application that includes both Halo and Spark components, you will likely have a root tag that looks something like this:

<s:Application xmlns:fx=”; xmlns:s=”library://”   xmlns:mx=”library://”>


Next, I wanted to comment on how to use the multiple namespace support in css. You will need to use this if you are styling both Halo and Spark components in CSS. The CSS needs to be able to distinguish which Button you want to style, for example. Did you want a style to apply to the Halo Button or Spark Button.   At the top of your CSS declaration, you would include the two namespaces:
@namespace s “library://”;
@namespace mx “library://”;

Then, for each type declaration, you will need to specify the namespace along with a “|”. For example, to style a Spark Gumbo Button, you will have:

s|Button {baseColor: #FF0000;}

For a Legacy Halo Button, you would have:

mx|Button {cornerRadius: 14;}

You can also mix two type selectors. In the following descendant selector, you are styling DateChooser components in a Spark Gumbo Panel:

s|Panel mx|DateChooser { color: #693300; }

If you use multiple types in a single selector, be sure to use the namespace for all the types. Here is an example using multiple type selectors:

s|ToggleButton,s|RadioButton {focusColor: #009900;}

mx|VBox mx|DataGrid {selectionColor: haloOrange;}


As for the renaming of classes, almost all of the classes changed were just removal of the prefix and what package they belong to. All of the Spark components that were in mx.components are now living in the spark.components package. The one exception in class names is the class FxComponent. This class was renamed to SkinnableComponent.

Again, for more info, please visit our spec regarding the rename. By next Monday, the build coming from the trunk should be fairly stable.

Cheers to our team who made the rename happen…


Flex 3.3 (a new update) is officially available

SDK 3.3 is now available!

SDK and DMV downloads from

Release Notes for SDK 3.3 (including instructions for updating with DMV 3.3):

Flex 4 SDK downloads now include Spark skins for all the components

If you happen to download our latest Flex 4 (Gumbo) nightly build (build 5101 or later) and compile an application, you will probably notice that the look of your application may have completely changed. Recently, new spark skins were implemented for all of our Halo Flex 3 components. This includes a new “Spark” skin for components like DataGrid, DateChooser, DateField, TabNavigator etc, which do not have equivalent components in the new Gumbo architecture.  This way, when you are building a brand new application in Flex 4, you will be able to mix the new Gumbo components with Flex 3 halo components, and they will all look the same. Here is a sample of what the new default skin looks like :


Here are a couple of things to note about these new skins:

1. The default size of text is now Arial 12.

2. The default size of many components has changed.  For example, if you have a Button in a Flex 3 application with no width or height set, it will be much wider when compiled in Flex 4.

3. Many of the styles that are supported in the halo (flex 3) theme is not supported in this Spark theme such as cornerRadius, fillColors, themeColor, etc. The only styles supported are those supported by our Spark components. (see #4)

4. The styles supported by the skins are baseColor, symbolColor, focusColor, contentBackgroundColor, color, rollOverColor and selectionColor.

5. There are still a lot of bugs with the spark theme on our Flex 3 components. Just Friday, I filed about 10 bugs on the components! If you care to see the bugs, search for “spark_skins” in the subject line of a bug in JIRA.

6. You can compile your application with this Gumbo build and use the old halo theme instead of the Spark theme which is now the default. To do this, add the argument “-theme=../frameworks/themes/Halo/halo.swc” to your compiler arguments.

To get an idea of what these skins look like, check them out here: SparkSkins.swf

The source for this application is here: SparkSkins.mxml

To download a new nightly build with the Spark skin defaults, go to