Speaking at InsideRIA – Continuous Integration for RIAs

I just got accepted to speak at the InsideRIA Conference! The show will be going down August 23 to 24, 2009. It’s looking like it’s going to be a great show, hosted by our colleagues at 360|Conference and O’Reilly. Tickets are cheaper on a first-come, first-serve basis, so buy your tickets ASAP at http://insideria.eventbrite.com to get the best possible price. See you there, and hopefully you will have a chance to make it to my session.

Just for the record, I’m speaking on continuous integration in RIA development architectures ;-)

Decoding Flex “Unable to transcode” SWF error

Tonight (this morning?) while catching up on some work, I was trying to embed assets created in Flash in a Flex project, using the good ‘ole Embed method. I’ve done dozens of times with excellent results, but this time was different. For some reason, my tried and true approach was generating an ambiguous error message from the Flex compiler.

It read as follows:
Unable to transcode Assets.swf

I wasted a bunch of my own time (and some of Abdul Qabiz’s) trying to figure it out, but nothing I tried seemed to work. Of course I googled for help, and the results their were even more mystifying. The only post I could find that sounded remotely close to what I was experiencing was this: http://www.codeverge.net/item.aspx?item=100658 and even though “mac_55″ was able to get it working, he had – as he put it, “No idea why it wasn’t working before.” That didn’t help much.

I started to suspect that Flash was somehow to blame, so I tried using another existing asset SWF that I had used w/ success in a previous project. Low and behold, it worked perfectly. Okay, that’s a clue… it’s somewhere in Flash.

Next, I saved the .fla that created the SWF that was working to the desktop and recompiled… then I tried using the resultant SWF in Flex again. You guessed it, it didn’t work.

Now I was really starting to think I was on to something, Flash was creating corrupt SWFs for some reason. I had crashed Flash about 10 times earlier trying to import PSDs, so I thought a restart may be in order, hopefully to resolve some phantom memory leak. So, I restarted.

After restart, I opened the previously successful, but now failing .fla and rebuilt. I noticed a ton of errors. Apparently, when I saved the .fla to the desktop, I broke the dependency chain somewhere and caused a bunch of errors. I realized that I hadn’t seen the errors before, most likely because the Output window was buried beneath a bunch of panels. Then, I opened the .fla for my apparently un-transcodable SWF – published the movie and poop, an error. Apparently “Background” is a reserved name, and my library item w/ the linkage id “Background” was causing the error. I changed the name to “BG”, it compliled fine, and worked perfectly in Flex.

The morale of the story is: if you see the “Unable to transcode” error message, make sure you’re freakin’ SWF is building properly. duh.

Hopefully someone on the Flex team can make sure that we get a more verbose error message in Flex 4.

Live Blogging from FlashForward!

The conference organizers have asked me to live blog from the upcoming FlashForward conference, and I have obliged. So, for those of you who aren’t fortunate enough to actually attend the conference, you can stay up to date with the topics covered in each session by following my blog, the FlashForward blog, and twitter.

If you are one of the fortunate attendees of this year’s FlashForward conference, by all means say hello if you see me ;-)

This year, FlashForward is a single track conference, so that means I could potentially cover each and every seminar… I’m not promising that, but I will promise to keep you up to date on the items that are the most interesting (IMHO). I’ll be doing my best to invoke conversations with all of the speakers and many of the attendees, and I’ll be sure to take and publish plenty of notes, including of any interesting URLs or examples for people to try.

If anyone has any idea on how we might make the live blogging from the event more relevant or useful, please let me know ASAP. I’m often too busy writing code to stop and blog, but things are changing soon… in a major way. Stay tuned for updates :-)

Vuvox has been acquired by eBay

Vuvox, the Flash/Flex/Ruby-based company for which I am the former Lead Software Engineer, has been acquired by eBay. I’ve seen several articles about the acquisition online, so apparently it’s public. I haven’t seen any posting about how much it was sold for, so I guess I’ll just keep that info to myself.

For those of you who don’t know, here’s the blurb on Vuvox:

VUVOX is an easy to use production and instant sharing service that allows you to mix, create and blend your personal media – video, photos and music into rich personal expressions.

http://ebayinkblog.com/2008/06/23/vuvox-on-ebay/
http://seekingalpha.com/article/82695-ebay-acquires-vuvox?source=feed

Congratulations to Brian, Jim, Belmer, and Luke… Great work fellas

Flex Elections Analytical Tool

Today CafePress Meter™, a quick project I have been working on that kicked off just weeks ago has gone live. You can check it out for yourself at: http://www.cafepress.com/cp/buy/elections08_meter.

It’s a tool built in Flex that allows you to view a “real-time look at what’s selling at CafePress, the colorful marketplace brimming with millions of user-created products that express your passions and points of view.”

This project, which is conceptually very simple, is testament to the rapid development one can achieve with relative ease using Flex and the Flash Platform. There’s not much eye candy, but nevertheless it’s launch is a feat that shows how quickly a large company can get cutting edge projects out the door using Adobe® technologies. The tool is totally customizable due to it’s content model which is largely XML based and thus can be customized by non-technical people w/ ease. Also, I think it’s cool that this project will continue to take shape over the next year as the elections progress.

A big thanks to all the folks at CafePress who helped make this happen :-)

The easiest way to view Flex/Apollo trace output

I have been messing around with Apollo and Flex quite a bit lately (actually, I fell in love with it … but that’s another article). Unfortunately, the solutions for viewing trace output that I have found were less than satisfying. They were either too cumbersome to implement, or caused my system to slow to a crawl.

The solution that I’ve found is simple, elegant, and totally familiar with anyone who has ever had to view a typical server log output.

Basically, I used “tail -f” and pointed to the local flash log. Unfortunately, this has the same problems as viewing any server log output using tail; it’s not very pretty, and it can be hard to read at times. However, it hauls ass and is easy to implement, and that is all that I really want.

It was easy to take it a step further in order to make it an easy to access command. Basically I just edited the “.bashrc” file found in my home directory, and input the following line:

alias flashTrace='tail -f /Users/USERNAME/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt'Obviously, you’ll want to replace “USERNAME” above with your local machine username (If you don’t know how to get this, just open Terminal and type “cd; pwd”. The part right after “/Users/”is your local machine username).

After that, you can open a terminal from anywhere and type “flashTrace” to see the output (hit ctrl-c to return to the command line).

If you are a Windows User and don’t already have a shell solution, do yourself a favor download cygwin to access a unix-like shell and then you can also implement the above.

Simple, easy, and effective… at least it works for me :-)

Cheers