Category Archives: Flex

Why I keep going Back To Flash

Over the past year, I’ve done very little in the Flash/Flex world; Not because I thought the Apple had won, but more around the interest of learning what else is out there. After a year of HTML5/Javascript, iOS, Android/Java, and a little Python; Everything I learn makes me want to get back to Flash. Albeit I’ve learned that prototyping with jQuery(HTML) can be quite easy, and extremely fun; having to tweak my code for different browsers, reminded me of the negatives.

Then while iOS and Android offer extremely nice IDE’s for coding, and meticulously documented API’s, getting from idea to app can be a headache specially if you’re coding for both. Enter Appcelerator’s Titanium, which allows you to write apps for iPhone and Android using JavaScript (and a few other languages); I found the size and performance of the applications to be a little bit hard to swallow, but at least you’re not jumping around between Objective-C and JAVA.

And then I start looking through all my favorite Flash blogs and am reminded of why I love Flash so much in the first place. First off:

Simple Flash GUI Tool – an extension of MinimalComps by Keith Peters, and probably one of my favorite Flash libraries outside of TweenMax. This one is by Justin Windle over at SoulWire. And was originally posted like 5 months ago.

PixelBender 3D – Do I need to say more? Hardware 3D rendering, built on top of “Molehill”

Wallaby – This is a sweet idea to turn Flash sites into HTML. Not that I completely agree with the idea, but the option is pretty sweet.

Last but NOT LEAST:

Adobe AIR – Yup it’s AIR. If you didn’t know already, with AIR you can write Flash applications to run on your favorite Android or iOS device, as well as some of the newer Blackberry (RIM) devices. It also does desktop too… but you probably already knew that.

So to those who said Flash is dead, let me know when the other half of the internet opens up for you.


Rocky Mountain Flash Camp – Flex 4 Skinning and Styling – 10.12.2010

[update] Session recording is now online. You can view it here:

Presenting today in Denver, at Rocky Mountain Flash Camp. Talk is on Flex 4 Skinning, and here are the files needed to follow along.

FXP Project:


Changed the background image in honor of the conference. Took it earlier this morning, on my drive into the conference… Location: Somewhere in the mountains? (Around Rollinsville somewhere)

BFusion/BFlex 2010 – 2 Sessions on Flex 4 – 9.12.2010

[From BFlex site]
What is BFusion/BFlex?

BFusion/BFlex is no normal conference. It is a no-nonsense, learn-to-code* and learn-it-from-the-best event. Each day there are six full hours of hands-on training with the various technologies and techniques. You bring your computer and desire to learn and our excellent instructors challenge you to take your mind to new places.


This past weekend I went out to Indiana University with Adam Flater for BFlex. We did two sessions on Flex 4; Skinning in Flex 4, and Flex 4 for Flex 3 developer. The purpose of the latter session was to try and get Flex 3 developers up to speed on the changes inside of Flex 4. One of the main details is the new Spark component architecture, and how it differs from the old MX architecture, mainly there’s just a new package nomenclature, as well as slight changes to the old component names (i.e. HBox is now HGroup) ; There are major changes to the States classes as well as the addition of new Layout class that decouples layout logic from individual component definitions. In this session we went into how to use layouts efficiently, as well as how to create custom layout classes,  the process of extending the basic layout class and applying it to components, and also how to change layouts at run-time. We went into detail about how to use the new DataGroup component, which is similar to the old Flex 3 repeater, and also using virtualization for dealing with larger data sets.

The skinning session dealt more with how to style the new components inside of Flex 4. The new major change is Flex 4’s ability to use FXG, which make drawing graphic primitives inside of Flex 4 that can be used very easily to apply skins. Using the basic example of a button, we showed how adding states and extending the basic button class is now alot easier than in Flex 3. Using the new dot(.) notation in the Spark architecture simplifies the process of creating skins, as well at how it decouples the visual implementation of a skin, from the data logic of a component, making skins extremely re-useable. The new skinning framework now allows for skins that can be state based, and even change layouts dynamically. We also showed how to extend the base SkinnableContainer class to apply styling and skinning to components that have none (i.e. Group), and even extending the Panel container to create a custom skin. We lightly touched on Flex4’s CSS capabilities, but Flex4 CSS will be a post all on its own.

We promised our code examples to the attendees, and we haven’t forgotten, but we are polishing them up, as well as we will be creating screen casts, so anyone can better follow along. (it’s about 3 hours worth of information, so please be patient 🙂

For more resources the Adobe Developer Connection is a great place to get up to speed with the newest features of Flex 4.

Thanks to all of the organizers, staff, attendees, and speakers that attended, it was great to meet all of you. Next up  I’ll speak at Rocky Mountain Flash Camp, Oct 12.

Hi-Res Printing in Flash with AlivePDF

Printing with Flash has always been one of those nagging issues I’ve never been able to successfully defeat, using the Flash PrintJob class that is. Although I want to sit here, and tell you how awful the PrintJob class is, I’ll let you try to explore that rocky road all by yourself; When you get to the point when you’re trying to use PixelBender for possibly getting a better algorithm for blending from pixel to pixel, and its still not working let me know, I could’ve saved you like 2 weeks worth of hair pulling by simply telling you to use: AlivePDF.

Continue reading Hi-Res Printing in Flash with AlivePDF

[Presentation] Learning From Example – 03.13.2010

[UPDATE] This did not use any Android AIR/Flash.

Chicago Google Technology conference GTUG #7.

The original idea was developed by Adam Flater, Jesse Freeman and Jordan Snyder, my co-workers at Roundarch. Utilizing Merapi, a Java-AIR messaging bridge, we are able to control a Flash presentation from the comfort of your palm (in my case, my Nexus One). The example is a basic one, but the wow-factor is what its all about. It also opens the door to show that we can have alot more complex interactions and messaging between an android phone and the flash platform.

You can find more information about merapi at

Follow @adamflater and @dmeeker creators of Merapi.

The project utilized BumEngine, created by Jesse Freeman (@theflashbum)

ZUI | Exploring Zoomable User Interfaces with OpenZoom

zui prototye
Work in progress


Here is basic proof of concept inserting OpenZoom interfaces within openzoom interfaces to make a basic image gallery. Further tweak of the controls will prove a very nice browsing experience. Also pairing with Flash Player 10’s capabilities for 3D and we make something quite impressive, and very lightweight (this swf being 76k).

None of this would be possible without Daniel Gasienica, creator of OpenZoom. The depth of his work around OpenZoom alone is breathtaking, let alone the countless amount of guides he’s writing/wrote on the subject. These three posts alone are must-reads if you plan on using OpenZoom:
Inside Deep Zoom –Part I: Multiscale Imaging
Inside Deep Zoom –Part II: Mathematical Analysis
Inside Deep Zoom – Part III: Deep Zoom in Flash

I realized the mixture of OpenZoom with AS3’s 3D capabilities offers a pseudo-3D engine. That doesn’t mean OpenZoom won’t play well with a fully loaded 3D engine….

[Tutorial] Debugging AS3 from the browser using FDT

If you’re an Actionscript programmer, you should probably at least know of FDT. If you don’t, travel over to their site, and download a copy of the software (free trial for 30 days). I’m assuming in this post you already have it installed, and you know how to compile files, and maybe even know how write your own ANT scripts.

One of the nicest features of FDT is its debugger, it is full of features you would never find in the IDE’s (CS3/4/5), and if you’re used to debugging in Eclipse it follows that same route.

Quite often I’ll be brought onto a project in the middle of its development cycle, so I don’t have an option on how it’s setup. Quite often in Flash, I end up dealing with a bunch of FLA files and I’m forced to use the IDE for compiling. Same thing with Flex, but luckily FDT can run MXML, so that’s not much of an issue, it might just take a little extra time to setup your Flex project in FDT. What I’m trying to say here is don’t worry how you’re getting your original project (Flash, Flex, in case of a miracle its already FDT), with a little bit of configuration time, you can get just about any Actionscript project to run in FDT.

Continue reading [Tutorial] Debugging AS3 from the browser using FDT


So let’s talk about spaceships… I mean Stratalogica.
SL Logo

Stratalogica has been my life for about the past year. It is a teaching tool for geography and history wrapped around Google Earth (for short). Roundarch the company I work for teamed up with Nystrom a division of Herff-Jones, to try and create a new platform to interact with their content. Long story short we came up with Stratalogica.

Continue reading Stratalogica


So looking through my logs, I realized a ton of users have gotten to my blog by searching “flash switch case”. And well I figured I’ll give all of you who made it here, a little bit of help. First I’ll add a button directly to the Actionscript 3 API reference to the buttons on my main nav. And the rest of this article will consist on giving you a few basic examples on how to use it. Sorry for the delay, I should’ve done this a long time ago!

Adobe AS3 Languange Reference – Switch Statement

Switch statement can be quite useful, from shrinking down your navigation controls into one event listener, to determining something useful about a user’s environment. Now just because my blog is named switch case, I don’t mean to tell you that its the end all for statements. With good coding practices you will learn when it is more useful to a switch statement as opposed to just some if…else statement… but they kinda do the same thing… compare one thing to another, then return execute some piece of code to make your life better. The big difference is switch only tests for a specific case, so you cant really feed it a range (well there’s hacks, but then you’re not really testing against the expression you’re actually trying to evaluate. and its just plain dumb… unless you are that one in a million case, else just stick to the basics).

Continue reading switch(case)

AwayBuilder – A new way of 3D Flash

For the past month or so I’ve been diving into Away3D. Recently Andreas Engstrom ( Awaybuilder framework) put together a really nice addition to the Away3D Engine.


Awaybuilder lets you set up scenes in Maya, or Cinema4D export them as Collada files, then have the framework parse through the file and build the scene completely in Flash. YES, it’s like a front end GUI for Flash 3D, that doesn’t *suck* as bad as CS4. Well you’d be laying out scenes in some of the best 3D software available out there. Although I’m making it sound easy… well it is. I’ll be putting demo’s together this weekend to share with the community how easy it is to actually put it together.

Since the framework is still in the early states, theres a bit a creativity involved in putting scenes together. I’ve been using Maya, but since my 30-Day trial ran out, I’ll be diving into Cinema4D this weekend, unless you want to DONATE me a copy of Maya, or throw me money so I can buy one!

Anyways in Maya the entire concept revolves around setting up “Extra Properties” onto your objects, I’ve actually written a decent amount of Python scripts to ease the process, and there is a Panel in the works to make your (lazy) lives even easier. If you want the Python scripts get a hold of me, and I’ll definitely send em over (or I think they might be in the AwayBuilder SVN).

svn checkout

Concepts to expect in my tutorials:

  • Basic Polygon Creation (Planes, Cubes,Spheres)
  • Setting Properties
  • Choosing Materials and Geomety
  • Setting up Cameras
  • Setting up mouse interaction
  • Setting up lights
  • Light reactive materials
  • Custom Geometry Classes
  • and more…

They’re not gonna be in that order, but you get the idea. Hopefully i can get a new copy of Maya running, in which case I will do screen capture. Otherwise expect an encyclopedia of knowledge. If you have any major concerns that can’t wait, shoot me an email. Or leave me some comments, I’m here to help.