September 14th, 2010 by Kyle
Tags: , , ,
Posted in: Flex

I was looking for a quick and simple UI device to tie to my application state (or current component) in Flex 4 so that I could easily change states. I was just building a prototype app, so no need to be fancy. Here is a simple mx:togglebuttonbar solution:

  3. <s:states>
  4.     <s:State name="default"/>
  5.     <s:State name="admin"/>
  6. </s:states>
  8. <mx:ToggleButtonBar dataProvider="{this.states}"
  9.     itemClick="this.currentState=event.label" labelField="name"/>

No Comments »

September 10th, 2010 by Kyle
Tags: , , , ,
Posted in: ActionScript, Flex

You can’t add event listeners to an object that is returned from a method and expect to receive the events that are dispatched within the same method that returns the object to which you are adding event listeners.

This on is perhaps not so obviously stated, but can be made more clear via some code (hopefully):

  3. myObject:MyObject = new Object(fooParam);
  4. myObject.addEventListener("myEventType", myCallBackFunction);
  6. //where MyObject Class looks like this:
  8. public class MyObject extends EventDispatcher
  9.         {
  10.                 // constructor
  11.                 public function MyObject (fooParam:String, target:IEventDispatcher=null)
  12.                 {
  13.                         super(target);
  14.                         // do some stuff and then dispatch event
  15.                         dispatchEvent(new MyEvent(MyEvent.MY_EVENT_TYPE));
  16.                 }

This just won’t work.

Better to do something like:

  3. myObject:MyObject = new Object();
  4. myObject.addEventListener("myEventType", myCallBackFunction);
  5. myObject.doStuff(fooParam);
  7. //where MyObject Class looks like this:
  9. public class MyObject extends EventDispatcher
  10.         {
  11.                 // constructor
  12.                 public function MyObject (target:IEventDispatcher=null)
  13.                 {
  14.                         super(target);
  15.                  }
  17.                public function doStuff(fooParam:String):void {
  18.                         // do some stuff and then dispatch event
  19.                         dispatchEvent(new MyEvent(MyEvent.MY_EVENT_TYPE));
  20.                }

That should work and not cause you to chase your tail trying to figure out why things are not getting dispatched or not being responded to by an eventListener


September 8th, 2010 by Kyle
Tags: , , , ,
Posted in: ActionScript, Flex

As a result of being back in the “land of the coding” (see post:, I should begin easily to accumulate content for blog posts. Case in point last week, when I spun my wheels for what was longer than I should have, over dumb assumptions or misconceptions or misrememberings regarding some aspect of Flex/Flash/AS3. I thought I would start a new series of posts meant to capture such dumb assumptions as a reminder to myself ad hopefully as a cache of useful tidbits that others can come across when they are struggling with things that just aren’t working as they thought they should. Here are my first 2 entires in this the inaugural “Note to Self”:

AS3 Event Bubbling is only for objects on the display list!!

There may be reference to this in the docs and if I run across it, I will amend this post to include it. Now it would be nice if you could bubble events up the inheritance hierarchy or from one instance up to the class instance that contains the instance dispatching the event (and so on and so forth), but you can’t. There may be ways of doing this in a more clean manner, but really the underlying mechanism is really through a series of eventListeners that you must attach up through the hierarchy of object through which you want the events to pass. Don’t forget to implement the clone method of any custom events you are dispatching, otherwise you will run into trouble. Just implement clone and you can easily redispatch the event from within the listening function that receives the event.


September 8th, 2010 by Kyle
Tags: , , , , , , ,
Posted in: Uncategorized

Well as a result of being back in the “land of the coding” (see post: , it is time to start up a new chapter in the Rubbernecker’s Review. Believe me, there has been a lot to look at over the last while since I last posted an episode….but there was far to much to completely review. I’ll just stick to my regular weekly format and post the interesting links from the past week:

  • AIR install badge (from RIAgora)
  • Air for Android: Geolocation (from The World In A State of Flex)
  • Seminar Recording: Advanced P2P – Object Replication (from
  • DisplayObject Quirks and Tips (from
  • TinyTLF A Micro-Text Layout Framework (from The Algorithmist)
  • P2P Radar for Android (from
  • Using Bookmarklets in Adobe AIR (from Christian Cantrell)
  • Local Flash Peer-to-Peer Communication over LAN (from
  • Custom Flex 4 preloader (from RIAgora)
  • Application Updater Library for AIR Native Installer… (from Mihai Corlan)

  • No Comments »

    September 8th, 2010 by Kyle Posted in: Uncategorized

    The first half of 2010 has been kind of tumultuous for me. In March, Adobe and I parted ways. No more employee-employer relationship. However, this did not end my relationship with Adobe technology. Far from it. I took this as an opportunity to have a go at getting more involved in development with Adobe technologies, specifically, anything Flash Platform related. It was time to take my 9 plus years of experience from Allaire/Macromedia/Adobe and jump into a new phase. In my early years at Allaire/MACR, I was involved in the Coldfusion product as Senior QA. More recently (the past 7 years) I have been working with Flex as first, one of the first two QA engineers on the Flex product (before it was released as a 1.0 product) then as a Senior Flex/LCDS support engineer (in fact the only senior customer facing Flex/LCDS support engineer in North America for my last 2 years at Adobe). With all of the great new/recent features in the Flash Platform (Flex 4, AIR 2, AIR for Android, HTTP video streaming, Flash 10.1 features like peer to peer networking, LCCS and new CS5 tools like Flash Catalyst), the timing seemed to be good and the opportunity to ride this wave of new capabilities out into the marketplace of Flash Platform development couldn’t be better….

    …and, at the time of this writing, I have to think that I was right. I have recently landed some work, doing Flex/LCDS development with/for Ryan Knight (see his blog here: ). I am really enjoying the interesting projects and work and I think the future is opening up for me :)


    December 14th, 2009 by Kyle Posted in: Uncategorized

    Here is another week’s worth of great links:

  • Flash Player 10 socket connection timeout (from Adobe AIR : Recently Published Documents)
  • GTween v2.01 Released (from gBlog)
  • Indispensable Plugin for FlashBuilder: Flex Formatter (from gBlog)
  • FlexPMD Eclipse plug-in available (from Adobe Flash Platform Blog)
  • Pushing the Limits: Experimenting with the Adobe AIR… (from Adobe AIR Team Blog)
  • AIR 2.0 Web Server using the New Server Socket API (from Christophe Coenraets)
  • AIR 2 Chat Server & Client (from Flex and Flash Developer – Jesse Warden dot Kizz)
  • Help shape future versions of Flash Builder (from Adobe Flash Platform Blog)
  • Slides and Source files from Data Centric Development…(from Sujit Reddy G – The Evangelist)
  • I would really like to highlight the AIR 2 content above. There are some really cool and innovative ideas coming out of the new (actually upcoming since all of this has be done with beta software) version of AIR 2.0. I would also like to point out that I think this is the first time that I am seeing very useful Flex/Flash Builder related plugins being released and to top it off, 2 in 1 week. All of this in the last gasp of 2009. I am sure there are many more great things to come for the next year!

    1 Comment »

    December 9th, 2009 by Kyle Posted in: Flash Player, Flex

    Here are some tips on troubleshooting from the client side, data request issues via network calls that may be failing for you:

    In main the flex application add the TraceTarget component which will log client side networking calls (in and out) to the flashlog.txt

    Basically just add this to your flex app anywhere in the main mxml page:

    Then when you run the flex app, if you are running in the debug Flash Player (which you can check here:, you will generate info in the flashlog.txt (which on windows should be located here: C:\Documents and Settings\{username}\Application Data\Macromedia\Flash Player\Logs\)

    If you don’t have the debug Flash Player you can get it from here:

    (Note you can upgrade to a higher version# of the flash player, but if you are trying to install debug player with the same version number over top of the release player, that won’t work. You’ll have to uninstall the Flash Player first. The uninstaller can be found here:

    More info on flashlog.txt:
    (including where to find the flashlog.txt on other platforms.)
    More info on TraceTarget:

    No Comments »

    November 30th, 2009 by Kyle Posted in: Uncategorized

    Well….after the fiasco of my last Rubbernecker’s review post where I messed up the html links, this one should be better.

    Here is another week’s worth of great links:

  • reloaded (from Adobe Flash Platform Blog)
  • Paging Data in Spark Components (AsyncListView) (from flex spaghetti)
  • LCDS 3.0 released (from Anil Channappa’s Blog)
  • LiveCycle Data Services 3 and doc available (from Flex Doc Team)
  • My Adobe Devnet Article About P2P Is Up (from Adobe Flash Platform Blog)
  • ShareFire 1.8 released! (from Daniel Koestler)
  • AIR 2.0 Multitouch Examples (from Cynergy Blogs)
  • Demonstration of Gesture APIs in AIR 2 (from Christian Cantrell)
  • AS3 ProximityManager V2 (from gBlog)
  • I’d like to highlight the multitouch demos and information from Andrew Trice at Cynergy and Christian Cantrell at Adobe. These 2 seem like the best resources in the early stages of this technology. With their demos and samples I have been making headway in understanding how this all works. If anyone has any other good resources or knows of any other good samples/demos, please comment. I should have a demo of my own that encorporates multitouch in a little while…so keep checking back.

    No Comments »

    November 18th, 2009 by Kyle Posted in: Uncategorized

    I know. I know. Quite a gap between the past and current Rubbernecker’s review. What can I say? It has been a busy year so far. With this new “Chapter”, I hope to get back into the swing of things and resume weekly (or even twice weekly) reviews (and this time with some commentary).

    Here is another week’s worth of great links:

  • AIR 2.0 Multitouch Examples (from Andrew Trice)
  • AS3 ProximityManager V2 (from gBlog)
  • Adobe TV and PPT: High Performance Real-Time Messaging…(from Damon Cooper’s BLOG)
  • Updating AIR 2.0 Flex 4 Apps (from EverythingFlex: Flex & AIR)
  • Your First AIR 2.0 EXE file (from EverythingFlex: Flex & AIR)
  • Adobe AIR 2 Beta Now Available! (from Adobe AIR Team Blog)
  • DataStack (from Tink)
  • Frameworkless MXML (from Flex : Recently Published Documents)
  • A Demonstration of Encrypted Socket Support in AIR…(from Christian Cantrell)
  • By far my favorite news of the week is the release of the pre-release versions of AIR 2.0 and Flash Player 10.1 as I mentioned here:

    However, don’t let this completely overshadow some of the new things in the new release of LCDS 3.0 that is just out.
    Specifically you should check out a presentation from one of the LCDS engineers from MAX that was noted by the LCDS Engineering Manager on his blog.

    This presentation is done by Mete Atamel, who I have had the opportunity to work with on a few occasions when troubleshooting customer issues and he really knows his stuff. To keep up with what he is doing, check out his blog at:


    November 17th, 2009 by Kyle Posted in: Air, Flash Player, Uncategorized

    Pre-release versions of Adobe AIR 2.0 (runtime and SDK) and Flash Player 10.1 were released on Adobe Labs.

    Complete information available here:

    And to skip right to the interesting bits:

    Get the Flash Player 10.1 here:
    Get AIR 2.0 here:

    By far the most exciting functionality for me is the multitouch functionality. In fact, I pretty much coincided my purchase of an HP Touchsmart tx2 laptop with the release of AIR 2 and Flash Player 10.1, just so I could dive into this new and exciting feature! (By the way, good prices on Amazon for these devices!)

    To be sure, you’ll see some future blog posts on this blog regarding this new functionality after I have digested these cool looking sample apps on Adobe Labs

    that demo this functionality.

    1 Comment »

    « Previous Entries