Skip navigation

Just to mention that I had a good time with some Flash / Flex devs at our first 5 @ 7. (Thanks Adobe & LordAlexWorks for the drinks and snacks.) We talked about Flash Catalyst, and heard conversations about micro-architectures (Parsley, Robotlegs) and what we want to do for our next general meeting targeted for the end of August. Our next 5 @ 7 would be held at the beginning of August. To get free tickets, it is best to follow LordAlex‘s Tweets.

Every time when I consider using custom events I have to scour the web for it. So I am writing my personal notes for it.

Here is a good link about forming your custom event:

http://www.charglerode.com/blog/?p=51

Robert Penner also posts his observations on event handling from the Flash community.

One important aspect is the requirement of overriding the clone method (via Keith Peters.) Ben Clinkinbeard quotes on Robert’s post : “clone() is only called if an event is manually re-dispatched by passing it to dispatchEvent() again. So if a parent catches it and then does dispatchEvent( childEvent ), clone() will be used and required. Bubbling alone does not call clone(), but overriding it is good practice.”

My observation is that I have been getting errors in Flash Builder regarding to the order of parameters. So by adding new arguments after all the default arguments would give me errors. This was resolved when I added my new arguments after the “type” argument. So here is a code snippet.

[cc lang=”actionscript3″ tab_size=”2″ lines=”40″ width=”575″ line_numbers=”true”]

package myFilePathToEventClass
{

import flash.events.Event;

public class MyCustomEvent extends Event
{
//Add Custom Event ids here
static const SOMEEVENT:String = “someEvent”;

//Add public properties here (whatever data type) … will be available in the event handler
public param1:String;
public param2:Object;

public function MyCustomEvent(type:String,
param1:String,
param2:Object,
bubbles:Boolean = false,
cancelable:Boolean = true )
{
super(type, bubbles, cancelable);
this.param1 = param1;
this.param2 = param2;
}

override public function clone():Event {
return new MyCustomEvent(type, param1, param2, bubbles, cancelable);
}

override public toString():String {
return formatToString(“MyCustomEvent”, “type”, “param1”, “param2”, “bubbles”, “cancelable”);
}

}

}

[/cc]

On September 19-22nd, I attended 360 Flex, courtesy of InsideRIA and 360 Flex organizers John and Nicole Wilker. (BTW, thanks for providing the ticket ๐Ÿ™‚ !) This was the first time attending a Flex-centric conference. Of course, not all of it was Flex centric for there were quite a few people who came from a Flash/AS background. The main take-back from this conference was the awareness of using IOC-based frameworks. Although there are quite a few notably: Mate, Swiz, Parsley, and etc. (Cairngorm was dissed. It was suggested to not even go that way.) Robotlegs seems to stand out for me because of the flexibility to use the framework under the Flash CS5 IDE. Of course, I also have a copy of Flash Builder 4 (I even purchased the Sourcemate extension for Flash Builder), but knowing that I am free to use whatever IDE to implement an IOC-based framework looks very appealing.

Another feeling I got from the speakers and attendees is that Flash Builder is not up to par (e.g. Jesse Warden’s rant) to comparable IDE’s for Java development or MS Visual Studio. However, Flash Builder 4 is taking a step in the right direction about changing the framework to separate visual graphical assets (Spark) from the code. The Hero build is expected to be released around Adobe MAX for Flex Mobile development.

All the sessions are now posted by the conference organizers online.

Here is a rundown of all the sessions I attended:

 

Sunday, Sept. 19

PushButton Engine (Ben Garney): This was a rundown of the PushButton Engine API. It takes care of the hassle of creating games and helps you to focus on the coding the game itself. I spoke to Nate Beck who also contributes to the framework. It was very kind of him to give me an overall view on how it worked. If there was something I would love to do is to create a simple mini-game hands on, but that would require a whole day to do instead of the 4 hours allocated to the session.

 

Monday, Sept. 20

Adobe Keynote (Christian Cantrell): Obviously, mobile is the focus this year. It was a good general overview of what Adobe is doing for mobile development. Of course, it seemed like propaganda to attend Adobe MAX of which, I would be unable (or can’t afford) to do.

Tangents (Doug McCune): Doug McCune is very much alive. (This is an inside joke in the Flex dev community.) Doug’s creative inspiration on what he does when he goes off on a tangent while creating his projects.

Advanced FTE and tiny-TLF (Paul Taylor): This just blew me away. Okay, well text doesn’t really impress people visually. However, as a developer and incorporating dynamic text for my courseware, this presentation was a godsend. One of the main criticisms of Flash involves the lack of support of the flexibility of text rendering. This was resolved with the advent of the Flash 10 player with the “Flash Text Engine” framework, a low level text API. With the release of CS5 Adobe incorporated the Text Layout Framework (TLF) for designers and developers to ease development with the FTE. Of course, after a while, one is bound to encounter some limitations. Paul Taylor created tinyTLF is an alternative TLF to write advanced text layout controls. Please check out his blog.

What’s Getting Under Your Skin (Jeff Tapper): A general overview of using Spark for graphics integration in Flash Builder 4.

IOC Concepts with examples (Jeff Roberts): My favorite session because he introduces the concept of IOC, and Dependency Injection (DI). He could relate to the concept by showing some old BASIC code. It was a trip down memory lane. ๐Ÿ™‚

The Art of Computer Science (Ben Stucki): Ben brought out some reflections during his computing career.

 

Tuesday, Sept. 21

The Invaluable Freelance Flasher (David Ortinau): David’s presentation wasn’t just applicable to being a freelance developer. His talk is very relevant in a company or working for a client. Networking, and NOT BAILING OUT is so ever important.

Re-architecting the Designer-Developer Workflow (Richard Lord): It was impressive to see his use of IOC to create smart components which eased development for other projects. This helped out the designers to know pick out exactly which component was needed for their projects and developers could move on to other more interesting creative projects.

SWFAddress and Google Analytics (Dan Florio): Dan is famous (or infamous?) for working on runpee.com: a site which tells you when it is ideal to leave in the middle of a movie to do your <i>urgent business</i>. He incorporated SWF Address for deeplinking and Google Analytics to monitor his visitors.

Framework Debate – General Session: This was a a presentation which introduced Mate, Swiz, and Robotlegs. No one would say that one framework would be better. (There is no such thing is a perfect framework anyway.)

 

Wednesday, Sept 22nd

Enterprise Actionscript: Writing Clean Code Fast with Swiz 1.0 (Ben Clinkinbeard): By this time, I think I was too tired to grasp the concepts here.

Decrapping Your Flex App (Garth Braithwaite): This wasn’t a best-practices on Flex coding. It was a best-practices on UX session.

Okay, got to go. I will post images and videos of my experience later.

My next and final conference for 2010: RIAUnleashed in Boston, MA.

– David

Adobe Flash PlayerRecently, Adobe Labs has released a 64bit Flash player codenamed “Square” that would work on Windows, Mac, and Linux. Wow! Before, they were working on the 64-bit Linux player. (For at least I remember, people have been clamouring for a Flash Player for 64 bit applications since Windows XP 64bit. That was a looooooonnnnngggggg time ago.) Thankfully, Adobe seems to take this seriously since my last posting related to the CNet article now that the Flash Player for mobileย Android has been released. Another interesting feature is enhanced support with IE9 which “leverages the new GPU support to deliver faster and a more responsive user experience.” (Adobe blogs)

I hope this would be finally released by the time MAX comes around. ๐Ÿ˜‰

DJ

I happen to attend the free session at the Ottawa Mobile Development day. Got to thank Zee Yang who set this up. The Adobe offices in Ottawa were pretty cool. Here is a brief summary of what I learned:

  • Mobile Projects by Paulo Fierro (Jade Hopper) – Interesting overview of the mobile market.
  • Mobile AIR Development by Julian Dolce (QNX/RIM) – Gave an overview of the AIR for Android API
  • Mobile HTML5 by Mohammad Jangda (Vortex Mobile) – Quick introduction of HTML 5.
  • iPhone Development by Tariq Zaid (SelectStart Studios) – Overview of IOS development (Answered my question on distribution. Turns out that we do not need to put all of our apps on the Apple iTunes store. We can also have network distribution targeted for the vertical market.)
  • Windows Phone 7 by Colin Melia (DreamDigital) – What’s coming up on Windows 7 Phone OS (Ideal for Requires Silverlight / .Net / C# dev developers. As coming from a Flash/Actionscript background, I found it very hard to be convinced to develop for this platform.)

Next conferences on my schedule:

Flex 360 in Washington DC Sept 18-22nd. (Thanks to InsideRIA and Flex360 for the free ticket). This will be my first attendance at this kind of conference. I have been leaning towards Flash Builder lately. All my training in Papervision, and Away3D has been through Flash Builder. It would be the ideal conference to learn about best practices and workflows. Looking forward to it.

RIAUnleashed (Boston, MA) Nov. 11-12. This is a two day conference held at Bentley College. The hands-on sessions look pretty sweet.

Actually, for those who would like to attend both conferences, there is a discount available.

– David

I had thought that that the updater for Flash Builder 4.0 wasn’t working out for me via Eclipse or so I assumed. While I was taking Seb Lee Delisle’s video series on Papervision 3D 2 training on lynda.com I noticed that creating a new Actionscript project did not include the Flex 4.1 SDK. Then I thought “Wasn’t Flash Player 10.1 released recently?”

So after playing around with Eclipse and scouring the web, I landed on insideRIA and decided that the manual update was my best bet. But that did not pan out since the the manual update failed.

So finally by checking the Adobe Flex Support page, I had to pay attention to “Eclipse plug-in Users” heading instead of “Stand-alone Users.” Plugin users have to uninstall their plugin and reinstall the new plugin. BTW, by default, the stand-alone is offered so just scroll down the combo box to choose the Eclipse Plugin. (See screen shot below.)

Alas, this is part of my learning process of migrating as a Flash developer from the Flash IDE with FlashDevelop to Flash Builder.

So if anyone who is wondering why Flash Builder hasn’t updated on their eclipse build, check it out here at adobe.com.

DJ

Choose Eclipse Plugin

Select the Eclipse Plugin in the dropdown box.

In view of the upcoming Flash conference, CNet noticed a topic on a new feature of the upcoming Flash Player notably 3D support. This isn’t a surprise. It sounds like a revisit of Macromedia Director all over again. (Ala Battlestar Galactica “Razor” episode – “All this has happened before and will happen again. Again, again, again, again, again, again, again, again, again.”) I wonder how this will change the existent 3D APIs already like (Away3D, Papervision 2, and 3, etc…)

The 64bit issue has been mentioned as well.

Check out the link: http://news.cnet.com/8301-30685_3-20009940-264.html?tag=TOCmoreStories.0

DJ

It’s been too quiet on the 64bit front. My OS now uses 64bit computing. It seems that they are taking this route as “top priority” (now that 10.1 has been released for browsers and for mobile, they can shift resources over to 64bit player development.)

The article is linked below:

http://news.cnet.com/8301-30685_3-20008290-264.html

My prediction: They’ll announce it at MAX 2010. (I hope.)

DJ

Powered by Twitter Tools