Joeflash’s Enigmacopaedia

Professional Flex 3 Book Advance Launch at 360Flex!

Posted in AIR, Books, Flex, Projects, Publishing, Flex 3 by Joeflash on the May 15th, 2009

As some of you may know, the eight of us have been eagerly awaiting the publication of our book, Professional Flex 3. Well, I’ve just received confirmation the book will be out in stores around end of May, and that Wrox will have 20 advanced copies of the book, hot off the press (literally), ready for givaways at 360|Flex in Indianapolis this coming week.

Yesterday a colleague of mine asked how our book was going, and how big was it. What I told him sums it up pretty good:

8 authors, 1400 pages, 75 chapters, 12 sections, 750MB of code, 18 months.

You can download a PDF of the table of contents here to give you an idea. It’s a hefty volume — the ToC alone is like 31 pages!!

You can also reserve your copy on Amazon now, or buy it from the publisher’s site when it’s out in stores.

Professional Flex 3 Book Cover
Authors from left to right: Joseph Balderson (me), Andrew Trice, Jun Heider, David Hassoun, Todd Prekaski, Joe Berkovitz, Tom Sugden, [Peter Ent not present]

I cannot say enough about these guys, it’s been hugely awesome working with my co-authors throughout this process, including the tech editors and all the great folks at Wrox. This has been a monumental and amazing journey, for all of us. A year and a half ago, I wanted to write the most kick ass, comprehensive and exclusive Flex 3 book out there. To really paint a broad and deep view of the entire Flex ecosystem of technologies. So after getting together seven other amazing programmers and communicators, and writing for many many months, we’ve done it. There are things in this book that you will not find anywhere else.

Converting Flash Projects into Flex

When converting from a Flash CS3/4-based project, to a Flex-based project, there are not just one or two conversion paths to consider, there are many, all of which depends on the Flash project in question.

I’m on a discussion on LinkedIn, in which one guy asks if we know anyone who can do a Flash-to-Flex conversion project, which evolved into a discussion on techniques. Rather than post a pages-long reply, I thought I’d post it here instead:

First, for any Flash-to-Flex conversion to go smoothly, you’ll need at least one person on your team with a good dose of real-world experience with both Flash and Flex-based RIA projects (Flash banners do not qualify ;)), to guide the conversion process and make sure the best deployment strategies are implemented.

As far as the conversion path, there are several possibilities. Depending on the kind of project, you may want to migrate some, most or all of the project to Flex. When migrating from Flash to Flex, you’re not just migrating code, you’re migrating from a visual asset instantiation and state management environment to a purely coding-based methodology (if we forget for a second about Design View in Flex Builder).

Three ActionScript 3.0 Conversion Books of Interest

Posted in Flash, ActionScript 1.0, ActionScript 2.0, ActionScript 3.0, Books, Publishing, Flash CS4 by Joeflash on the February 11th, 2009

Looking back on the book projects I participated in over the course of 2008, I notice that the two ActionScript 3.0 books I served as principal tech editor are both out. The ActionScript 3.0 Migration Guide by New Riders/Pearson is a compact guide illuminating some broadstrokes of migration from As2 to AS3. The ActionScript 3.0 Visual QuickStart Guide by Peachpit Press from my Community MX colleague Derrick Ypenburg, is a great primer on the basics of ActionScript 3.0, which is also a useful primer for those converting to ActionScript 3.0 for the first time.

There’s an interesting back story to the AS3 VQSG: I was actually commissioned to write this book, and got as far as writing the outline and scope of the text. At the time I just started writing two books, this one and the Professional Flex 3 book, and it didn’t take me long to realize that writing two heavy books at once would be career suicide, as I would have no time for client work (a man’s got to eat, right?) But I can’t just drop the book: I am honour-bound to find myself a replacement. So I call up my colleague Derrik Ypenburg: we talk about the book, he agrees to take on the project, and we decide that I’ll stay on as the tech editor. Derrick did a great job of writing the text, and at times the project felt more like a collaboration, a co-creation than an editing job — even though Derrick did all the hard work ;) — which is how all team projects should be. Well done Derrick.

The RPC Fault Security Error that wasn’t

Posted in Books, Flex, Community MX, Security by Joeflash on the February 1st, 2009

In the first chapter of our upcoming book Professional Flex 3, I built a simple RSS reader in just a few lines of code to demonstrate how easy it is to build a Flex application. I expanded on this application in a few recent articles at Community MX, creating a mini RSS feed reader for all the book authors. All was well, until one of our tech editors Matthew Fabb, told me that the reader I built was producing a dreaded security error. Good catch Matt!

Here’s the original RSS reader code used in the book:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="feed://"
  3.     layout="absolute" creationComplete="RSSFeed.send();">
  4.     <mx:HTTPService id="RSSFeed" url="feed://http//"/>
  5.     <mx:List id="postTitles" labelField="title" left="20" right="20" top="20"
  6.         dataProvider="{}"/>
  7.     <mx:TextArea htmlText="{postTitles.selectedItem.description}"
  8.         left="20" right="20" top="190" height="200"/>
  9.     <mx:Button label="Go to page" left="20" top="400"
  10.         click="navigateToURL(new URLRequest(;" />
  11. </mx:Application>

I tried it locally, and no security error, of course. I loaded it onto my server, and I got the following error:

[RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"] ...


The Professional Flex 3 Book is Now In Session

Posted in Books, Flex, Publishing, Flex 3 by Joeflash on the March 20th, 2008

Well, after much planning, and searching, and a few hiccups, our team line-up for the upcoming Professional Flex 3 by Wrox is finally established.

We’ve got a phenomenal team line up, consisting of Andrew Trice, Peter Ent, Joe Berkovitz, Tom Suggden, Todd Prekaski, David Hassoun, Jun Heider and myself.

We’re all very excited about this book, and the reason for so many authors is that this book aims to be the next Bible for Flex, something long overdue for such a wide-ranging and complex ecosystem of technologies, and as such it will be fairly massive and very comprehensive. Some of the advanced topics to be covered in this book will be Cairngorm, LCDS & Blaze DS, Flex Video, Advanced Flash Integration, VM1/VM2 Communication, Application Optimization, PHP/Java/.Net Integration, Automation Framework, FlexUnit, Logging Framework, Stress Testing Framework.

All I can say is, THIS IS GOING TO BE SO FREAKING AWESOME!!!! (okay, so i’ve been spiking my own kool-aid, so what?) :)

We’ve already got a fair number of volunteers to help us beta test the code for the book so that it comes out squeaky clean, but if you’ve got an advanced understanding of ActionScript and/or Flex development, and you’re interested in becoming a “beta tester” or tech reviewer for the book, drop me a line at jbdesign - at - joeflash - dot - ca.

PS: the Amazon listing for this book is incorrect, of course — jumping the gun with a photoshop job of the last title so they can pre-pre-presell the book ;)

Flash R Flex 4 Teh Win?

Posted in Flash, ActionScript 3.0, Books, Flex, Workflow by Joeflash on the January 15th, 2008

Sean McSharry, co-author of Foundation Actionscript 3.0 with Flash CS3 and Flex, has issued a challenge to the community in giving out free copies of his book.

The challenge is: “Which is better and why: Flex or Flash?

Since my answer was unexpectedly long-winded, I am reposting it here.

Let us assume by Flash we mean both the Flash CS3 IDE and its compiler, and by Flex we mean Flex Builder and its MXMLc compiler.

a) Different tools for different jobs. Neither is better.

From a design standpoint, Flash CS3 as an authoring environment is better suited toward designers creating interactive or “branding-oriented” gaming experiences which do not rely heavily on data enablement, due to the ability to create timeline animations using the design tools.

The Flash workflow can also be used to create component-enabled solutions using the CS3 components (fl.*), which results in a much lighter weight application, though this advantage will be less important when Flex 3 comes out with Persistent Framework Caching RSLs.

The Flex workflow, on the other hand, is a coding-centric environment for creating component-centric data-enabled applications using the Flex component framework (mx.*). Flash CS3-based projects can be data-enabled, but the Flex framework has more tools for large-scale data integration, and the CS3 component set lacks data-enabled components such as Tree or DataGrid.

So, tools for the job: do you want expressiveness and possibly light-weight components for your project, or do you want a component-centric large-scale data-enabled application?

b) Since both the Flash CS3 compiler and Flex Builder/MXMLC compiler both produce SWFs aimed at the Flash Runtime which are based upon the core ActionScript 3.0 language/Flash API, both are better.

Both workflows can be leveraged intelligently to create both visually engaging experiences and data-enabled large scale applications. Flex component-centric data-enabled applications can leverage Flash assets developed using a Flash workflow. In other words, Flash assists a Flex project.

Another workflow use-case scenario, is that the Flex workflow can be used to create “Flash”, i.e. pure ActionScript 3.0-based applications (flash.*) which are not component nor necessarily MVC-based, and does not require the use of the CS3 or the Flex component frameworks. An example of such an application would be a very complex interactive game or 3D simulation using PaperVision 3D, Sandy or a physics engine. Since as of Flex 3 the Flash-Flex workflow is be more closely integrated, both can be used in the workflow. In other words, Flex assisting the development of what might have previously been considered a “Flash” project.

In other words, an ActionScript 3.0-based project which is not dependant on either the CS3 component architecture, or the Flex component architecture, can use either Flash, or Flex, or both authoring environments in its creation.

In summary, the answer is: neither, and both, are better.

I Do Like Writing Books, Sam I Am

Posted in Geekness, Tutorials, Business, Books, Training, Community MX, Inspirations, Personal, Presentations, Publishing by Joeflash on the January 5th, 2008

I do like writing books, Sam I Am… I would write them on a train, or in a plane, in a tree, they are so good, so good, you see!


I am writing this partly in response to Jesse Warden’s post “I Will Not Write a Book“, partly in response to all those enquiries about helping out with the upcoming Professional Flex 3 book, partly to share my experience for all those writers-to-be.

There are several reasons not to write a book, as Jesse mentions:

  • the money generally sucks
  • it’s a huge effort
  • the return is not tangible, or obvious
  • I could be playing XBox

For me, though, there are several more reasons to actually write a book or pen a tech article. The most obvious one is that I’ve always loved writing, and have kept a journal with miscellaneous thoughts and ideas since I was 14.

I also love to teach, even though I don’t do that much of it these days. I caught the teaching bug by giving private Flash lessons back in 2002, and achieved one of my dreams when I worked at Humber College in 2005-2006 as a Flash instructor, and later as an Adobe Trainer with New Toronto Group. I love watching students’ eyes light up as they figured out a key concept in class, almost as if I could see the light bulb going off in their heads. Sharing in that Eureka! moment is what makes teaching very special for me. Giving a lecture or seminar, or penning an article or writing for a book holds a similar fascination.

I also remember being inspired by the Visual Quickstart Guides and Friends of Ed books back in the Flash 4 and 5 days, by so many authors. I still get inspired by a good “Flash” book. My latest favourites are Head First Design Patterns and ActionScript 3 Design Patterns.

Now that I’ve learned a thing or two worthy of sharing with others on their learning path, to have the opportunity and the potential to inspire others, knowing that somewhere I will have contributed to more Eureka! moments as I have been inspired and coached, is a real honour. That is mostly why I write.

In describing motivations, I won’t use the word “selfless”, because I dislike thinking in those terms, for me it reinforces the notion of martyrdom — if writing for you seems selfless, as in thankless, as in feeling like a martyr to the Great Hordes of N00bs, you’re missing the point IMO.

I would also not describe the motivation as one of ego. Sure, it’s nice, seeing one’s name in print or a book on the shelf (which I have yet to experience, but I’m sure it feels good ;)), one’s name on a course completion certificate as the instructor, or an article in a reputable journal. It’s a validation, a reward for all the hard work of sharing the work and building community and paying it forward that to me says, “see, I’ve done something important, I’ve built something.” But if you let this feeling of validation, of recognition become one of the dominating raisons-d’être of your teaching or writing, the result becomes some twisted, misshapen thing funnelled through the lens of your own selfish need for gratification. I’ve seen a few developers who take the stage go all starry eyed after a few lectures, and have even fallen prey to that beast myself on occasion. Writing is also similar in this respect.

Make no mistake, more often than not the money totally sucks. As Jesse pointed out, I also could make ten times more money in consulting. It’s a given that people don’t write books for the money, it’s more of a fringe benefit than anything. That’s not to say that tech writing is completely without tangible payback. Sometimes, the money is actually pretty good, even if it isn’t a primary motivator. I don’t think I could stay committed to the hours it takes to consistently produce well-written tutorials for Community MX (with a little help from the editors ;) ) without some reasonable renumeration. At first it was hard work, but after two years of writing two or three articles a month, you develop shortcuts and tricks for quality writing that make the mechanics of it less of a chore, such that now writing for that publication is actually a pretty decent part time job for me.

And the other month my agent brought me a book for which the advance was equivalent to a few months’ salary, which granted is not the norm, but it made the proposition an interesting one to be sure — I could do it part time for four months and maybe have to either lessen my consulting workload or work 80 hours a week, or I could just take a few months off and do nothing but write the book. As it turns out the commitment was too great, so I turned it down in favour of the Flex 3 book I am currently writing. So it can pay, not nearly as well as consulting, but it can have a financial benefit to offset some of the long hours.

I won’t blow sunshine up you arse and tell you that I’m not doing it for a little self-promotion as a freelancer. I think every author is in it for that angle to some degree, whether it’s for one’s own consulting business or the company you work for, even though it’s not something we like to advertise, lest people get the wrong impression. There is no question as to the networking angle: I have gotten consulting gigs based my writing exposure, as well as the many other ways of meeting people such as workshops, lectures, conferences, training sessions and discussion forums. So there is definitely a benefit to improving one’s visibility in the community.

There is also the spirit of sharing, which I equate less to “a selfless desire to build community,” which is more a result than a motivation, as it is a desire to share some awesome thing and totally geek out on the coolness of some shiny new toy. Which to my mind is very similar to the drive programmers have to develop open source code and blog about their discoveries. It’s announcing to the world, “hey check this out! Isn’t this like, SO COOL DUUUUDE! Geekout, man!!” (okay, I would never actually say that, it sounds dumb, but you get the idea.)

And then there is the self-exploration angle. Someone once said, “I write to know what I think.” * For me, there is a very direct and personal gain I get from writing. Because this particular book I’m writing now is on the cutting edge of the technology, it feels a little like writing a PHD thesis (not that I’ve ever written one, mind you), where you log the results of experiments investigating new territory, with empirically verified results for other scientists to replicate. And in every tutorial I write, no matter how basic, I always discover something new, reinforce something I thought I knew, and boy, do I ever know it well now. So writing actually makes me a much better programmer. In fact, I don’t know how I could remember half the stuff I know without having written about it.

* I’m killing myself trying to find the author to that original quote. If anyone knows who said it please let me know. Some days the internet feels like a billion terrabytes of utter shiite when you’re looking for something that should so obviously be there.

I am excited to be writing my first book on Flex 3 with a group of superbly talented individuals, none of whom need another book under their belt, believe me. The fringe benefit of writing this book with such brilliant people* is that I would have never met them otherwise. And writing these past two years alongside the likes of Tom Green, Stephanie Sullivan, David Stiller and many many more has been a huge huge honour, and to be considered a close acquaintance and even friend by some to be an even bigger honour still. So another benefit to writing is meeting such cool people.

* Sorry I cannot announce who else is on the team at this point because the co-author lineup has yet to be finalized)

So to summarize, to me the benefits of tech writing in general are:

  • I get to inspire others and share in their victories
  • I get a warm and fuzzy feeling of accomplishment
  • I get to geek out on sharing cool shit I’ve discovered, or cool shit others have discovered
  • sometimes it actually pays
  • I am a much better programmer as a result
  • I may even get a contract or two from the exposure
  • I get to meet cool people in the industry I’ve admired for years

And if everything I’ve been coached on by my estimable colleagues and my agent is of any indication, writing books is indeed hard work, make no mistake about it, so I can see how one could get burned out on them if you don’t balance your life. Granted, most of my experience is in article writing and teaching for the moment, so my enthusiasm for book writing may be premature, but somehow, with the proper perspective and balance, I think these words will still ring true for me in a few years to come.

When evaluating enquiries in response to my call for writers, if the first question in the email was “what’s the compensation,” forget it, out to lunch, not even worth a reply. Or if the email did not contain a link to any work or writing of any kind, ditto. You’ve got to give something to get something. So I apologize to those whom did not get a reply to their queries; many of you did.

You’ve got to be passionate about sharing knowledge to do technical writing, and it can’t come from a place of ego or martyrdom, and you’ll need to balance your life carefully to go the long haul. Humility and generosity are huge must-haves if you’re going to go into this. One starts in the writing biz much like in programming: at first you get volunteer, pro-bono work, like tech editing or making a contribution, eventually making a name for yourself in training, teaching or publication writing, and eventually graduate to being asked to co-author or write a book on your own. And it need not be a thankless job without tangible recompense: if the money is not good enough, hold out for another book, another writing avenue, or go into corporate training.

It’s a long, arduous road, but if you’re passionate about it, it’s worth it in the long run, so I’ve been told, and based on what I’ve experienced thus far on the path, I am certain that is completely true.

Professional Flex 3 book (calling all Flex writers!)

Posted in Books, Flex, Publishing, Flex 3 by Joeflash on the December 6th, 2007

I’m very excited. I have just been handed the lead authorship role on the upcoming Professional Flex 3 title by Wrox/Wiley Publishing. No release date has been set, but it’s estimated to be out in the summer of 2008.

We are in the process of getting together a “dream team” of experienced Flex writer/developers for this project, and I just wanted to open up the process to anyone out there who may want to help write an important Flex 3 reference title.

The goal of this title is to be a very comprehensive, in-depth overview of the Flex ecosystem of technologies, and I am looking for people with good writing and communication skills and experience building visually expressive and/or data-oriented applications in Flex. If you have the passion, the chops and the time to help write this book, or think you might and you have a few questions, drop me a line at jbdesign-at-joeflash-dot-ca.

Feel free to pass on the word to any experienced Flex developers you know who may want to get involved.