Discussing Apache Flex + Logo Contest!

Discussing Apache Flex

Last week, I took part in a recording of The Flex Show that centered around Apache Flex and the state of Flash in 2012. I thought it was a pretty interesting discussion – a lot of good points were brought up and you can listen to the entire recording from the show website:
Flexing into 2012 w/ Joseph Labrecque and Mark Ehlert: The Flex Show Episode 159

Apache Flex Re-branding Initiative

Submit your design to the Apache Flex Logo Contest!

On the 31th of December, 2011, the Apache Software Foundation has accepted the Flex SDK into incubation. Apache Flex is now a community project managed by Apache (ASF). The migration from Adobe to Apache involves a re-branding and you can contribute by proposing the new Apache Flex logo.

Questioning the Viability of Flex

I often get private messages through the contact form on this blog. These are normally requests for advice, resources, or project inquiries. From time to time, a question comes in that I see as useful to a wider audience.

Such is the case with the email reproduced below regarding Flex. I’ve asked permission from the individual author but have blanked out his name for reasons of privacy.

Greetings Joseph.
I have several decades of programming experience on desktops and (in the old old days) mainframes, using a variety of languages and technologies.

I am interested in application development for mobile platforms, both Android and the Apple platforms. However I am unable to find anyone who can give an unbiased and straightforward answer to this question: Is the Adobe Flex platform (1) a good choice to devote my limited time resources to for learning mobile development (2) is it or is it not true that the Adobe Flex platform is dying / going away / not really a good choice etc. etc. etc.

Would you be kind enough to give me some guidance regarding this? I don’t have enough time available to learn every technology so I must focus and get the biggest bang for my buck.

What do you recommend?

Thank you so much for your guidance with this.

-Xxxxx

My response [though slightly modified for this public post] follows.

Hi Xxxxx.

I don’t think anyone has 100% fool-proof, solid-as-stone answers around this just yet… but I’ll answer you the best I can.

1) I believe that AIR/Flex is still quite valuable for mobile apps. Buried amid the 11/9 announcements is a repeated statement that Adobe is “doubling-down” on AIR for mobile. One of the reasons cited for dropping mobile Flash Player in the browser was to divert resources to mobile AIR. Furthermore, Adobe’s new line of Touch Apps for Android are (almost) all built upon AIR for Android (though my understanding is that Flex was not used).

2) Flex is now an Apache incubator podling. Assuming that the Apache Flex team is able to organize everything enough to put out a release or two (normally achievable over 4-6 months), the project is expected to graduate to full Apache project status – putting it on the same level as ANT, Tomcat, HTTPD, and other well-known, popular projects used worldwide. Note that PhoneGap was also contributed to Apache by Adobe directly after the Nitobi acquisition – so this is by no means a death sentence or dismissal of the framework.

With Flex in the hands of the wider community, there are actually more resources available in light of the number of individual contributors. Even if not an Apache contributor yourself, if you have a patch for Flex that would be useful for others – get in touch with a contributor to see whether they might see value in the patch and perform the contribution in your stead. Don’t forget that a number of contributors are Adobe engineers and that they the company has stated that even though the runtimes are still under their care – they will align releases in light of what is going on at Apache.

I am confident that we will see some great things come out of the Apache Flex effort from members of the Spoon project and the greater community.

I hope this is helpful.

-Joseph

I hope this is useful for others out there. If you want to gather information on-the-ground, be sure to check out the 360|Flex conference in April!

Future of Flash Panel – Recording

On the 6th of December, I participated in the “Future of Flash” panel along with Kevin Hoyt, Jun Heider, and Ryan Bell with John Wilker moderating. The event was put on by the Rocky Mountain Adobe User Group (RMAUG) and 360|Flex and was hosted by Uncubed in Denver, Colorado.

Unfortunately, the recording was problematic and we only have the first 20 minutes – but it still contains some good information and discussions.

The recording…
Rmaug_12/6/11 by realeyes media

Preserving Flex s|Button Icon Colors

I’ve noticed this behavior before, but in previous projects it wasn’t a really big deal…

Scenario: Using Flex 4.5 and the default Spark theme, you provide a button with both a “chromeColor” setting and assign it an Icon. The Icon is rendered almost transparent and looks nothing like what you’ve exported from Photoshop, Fireworks, or whatever. The image below demonstrates both how the icon should appear (top) and how it appears by default (bottom).

Good Icon / Bad Icon

I’ve mentioned that I’ve encountered this before. Well… for the current project, it really is a big deal. I needed to find a solution to this and the answer is not at all readily available. Since the ability to include an icon was not included in the initial Spark release, performing a search on Google will mostly pull up workarounds for this. Now that icons are officially supported in Spark Button components, this is not a big deal… yet we still have the problem of the icon showing up all funky.

I reached out on Twitter, thinking there must be someone out there that had encountered this. Dan Florio pointed out that it was likely the chromeColor style setting that was causing the problem. After giving this a good look, I did verify that the icon seemed to be inheriting styles off of the chomeColor even though the Label element within the Button was not. Weird… but it definitely gave me something to work on.

Anyhow. Here is what I found that does fix this problem.

  1. Create a new Flex application with the default Spark theme.
  2. Add a Button with an icon defined, as well as the chromeColor attribute:
    <s:Button label="BOOKMARK" chromeColor="#000000"  icon="@Embed('mini_bookmark.png')"/>

    This will render the icon barely visible.

  3. Now you must create a new Skin class based off of spark.skins.spark.ButtonSkin and assign this to the skinClass attribute of the Button
  4. Within this class (around line 43) is the following declaration:
    static private const exclusions:Array = ["labelDisplay"];
  5. The icon in a Spark Button has the ID of iconDisplay. We will add this to the exclusions Array:
    static private const exclusions:Array = ["labelDisplay", "iconDisplay"];
  6. Presto! Everything looks classy!

Hopefully those reading this did not need to spend over an hour wading through the default Spark component and skin declarations to locate this :)