Calgary Flash and Flex Developer
By scott
I have read about this issue in the past, but I have never ran into it myself. Most likely because I don’t do a lot of work with FLA files, I usually work with Actionscript projects in Flash Builder. Well, last night, my luck ran out, and this issue hit me full force. And of course, I was working on a file I hadn’t committed to a source repository, a.k.a. – no backup. Needless to say, my stomach hit the floor when I saw the “Flash can not parse this document” error message.

When I tried a second time, I got a different error message, something along these lines:
An error occurred opening file 'Users/smorgan/work/project/src/someFile.fla'
The following JavaScript error(s) occurred:
Cannot find file Users/smorgan/work/project/src/someFile.fla.
Before I saw these error messages I had opened up an fla file I had last worked on in Flash CS4 in my new and shiny Flash CS5 IDE. There was nothing special about this file, very minimal code on the timeline, mainly just timeline animations and library assets/MovieClips. When I attempted to save the document after I made a few changes I got the standard “This file will be converted from Flash CS4 to Flash CS5…” confirmation message.

Pretty standard practice, this type of message has always occurred in the Flash IDE as far back as I can remember. Naturally I clicked “Save” and everything appeared to be normal. I even made a few more changes, saved my work, and published a swf without any problems. Armageddon didn’t set in until I closed the file, or the IDE and attempted to reopen the newly saved CS5 FLA again.
Normally I always check my work into a source repository and this corrupted file wouldn’t have been such a huge issue because I would have had a backup. However, this time there was no backup so naturally I thought I was screwed. Then I remembered that during the CS5 beta program I played around with the new FLA format which is really an archive of files, a ZIP file. I changed the .fla file extension to .zip and attempted to unzip the file, thinking I may be able to restore something from the original file. I’m on a Mac and by default ZIP files are unarchived with the native Archive Utility when they are double clicked on. Double clicking the .zip file didn’t unarchive the file, instead it added a second file extension .cpgz which still had the standard OSX archive file icon. I tried unarchiving this file again and nothing happened, just removed the .cpgz extension and if I clicked on the file again it added the .cpgz extension again. An endless loop of nothingness. Time to hit up Google and I came across this forum which suggested using StuffIt Expander.
Stuffit Expander successfully unarchived the .zip file. Inside the unarchived directory I could still see all of the fla assets, very promising.

Because the error message indicated Flash could not “parse” something I figured it is probably an XML issue. FLA’s saved in CS5 use the new XFL (not Vince McMahon’s Extreme Football League) file format. The XFL file format is a way to represent a Flash Professional document as an XML-based, open folder of files. Because there are numerous XML files in the XFL archive I figured one of them must be corrupted, so I opened the DOMDocument.xml, MobileSettings.xml, PublishSettings.xml, and all the XML files in the Library directory (which represents all the assets saved in the Library of your FLA). Unfortunately, none of these XML files appeared to be corrupt. The XFL archive also contains an .xfl file in the root of the archive which is essentially an FLA and can be opened by the Flash CS5 IDE. For me, attempting to open this file gave me the same “can not parse” error message.
Now that I had confirmed none of the xml files were corrupted, I started to think how long it would take me to rebuild this file from scratch. Not a fun thought because I had no idea what was in the original file, well not everything anyway, only the few things I touched. Then I had a brilliant idea (IMO) which ended up restoring my corrupted file. That’s right, I fixed the corrupted FLA, it was a very tedious process but it worked, and that’s all that mattered. Here are the steps I took.
1. Open Flash CS5 if it isn’t already open.
2. Create a new CS5 Flash file and save it as a “Flash CS5 Uncompressed Document (*.xfl)”.

The uncompressed *.xfl document is really a directory of files just like the unarchived .fla I mentioned above.
3. Once saved, a directory is created instead of a single FLA, this directory contains the same files I showed above, only differences being most of the files are empty and the bin, LIBRARY, and META-INF directories are empty.
4. Now the tedious fun begins, I started dragging over files 1 by 1, after each file I attempted to open the .xfl until I once again saw the “Flash can not parse this document” error message. For me, it was the second last xml file in the LIBRARY directory that was causing the issue. I read on a couple sites the corruption usually occurs when there are blank nodes within a , like so.
<DOMLayer name="Layer 1" color="#FFFF00">
<frames/>
</DOMLayer>
In my scenario blank frame nodes was not the issue. I had a few of these in my “corrupted” library xml file, when I removed these nodes like a few sites suggested nothing changed, still got the “Can not parse” error message. The next thing I did was started deleting lines in the “corrupted” XML file until I could open the .xfl in the IDE. I finally figured out that deleting the following XML “fixed” my corrupted file.
<DOMFrame index="0" duration="2" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="playerOpen" name="">
<matrix>
<Matrix tx="-1.2"/>
</matrix>
<transformationPoint>
<Point x="5.6" y="6.15"/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
I tried to figure out what was corrupted in the above XML. I added data into the name attribute, I changed the negative coordinates to positive coordinates, I changed all the coordinates to whole numbers, I changed the libraryItemName ensuring it was unique, changed the duration, and index, and other random things. Nothing. The only way to fix my file was to delete this whole chunk of XML. When I opened up the XFL file and found this item in the library the frame was empty and I had to recreate it. After I recreated the frame and saved the file the above “corrupted” XML looked like this.
<DOMFrame index="0" duration="2" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="playerOpen" name="" centerPoint3DX="4.4" centerPoint3DY="6.15">
<matrix>
<Matrix tx="-1.2"/>
</matrix>
<transformationPoint>
<Point x="5.6" y="6.15"/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
The only difference is the centerPoint3DX and centerPointCDY attributes were added to the DOMSymbolInstance node. Not sure why these attributes matter because other SymbolInstances in the same file and other files don’t use these attributes. Anyone have an explanation for this?
Anyway, hope my approach helps someone. I can’t believe this critical bug made it past the Adobe QA. Thankfully XFL exists, without it I would never have been able to fix this issue.
UPDATE: There is a patch on Adobe.com that fixes this issue. However, if the file is already corrupted this patch does nothing. So make sure you udpate your IDE before opening legacy files. I missed this update because the Adobe Updater is so fricking annoying. The IDE should inform users of critical updates as soon as you open it, I have trained myself to ignore the Adobe Updater because it is so annoying (that’s a whole other post, and may others have already posted on that exact topic).
By scott
Eltima recently released a new decompiler aptly named Flash Decompiler Trillix. According to flash-decompiler.com “Flash Decompiler Trillix is the only application capable of converting SWF to FLA with high speed, high quality and hundreds of additional features.” A pretty loaded statement, so I thought I would take a look at it and see if they live up to their marketing departments self praise.
I am reviewing the mac version of this software, I haven’t looked at the PC version as I swore off PCs years ago. I assume both versions and their GUI are identical.
Upon launching the app you are presented with a non-traditional application. It has no OS chrome, sort of looks like something created in AIR, but dated – sort of like a classic mProjector app (for those who remember mProjector). The applications footprint is small but it is packed with options. Almost overwhelming at first. The app does have some nice features, but the GUI design just doesn’t do them justice.
For this review I decompiled three swfs, a compiled ActionScript 3 project with no timeline, a timeline based project that has some Actionscript code spread out on the timeline, and a Flex project (essentially a complex ActionScript 3 project with no timeline so I won’t write my review of this, I do make a few comments and suggestions about decompiling the Flex framework below).
ActionScript 3 project with no timeline
The ActionScript 3 project I chose to decompile is very complex. 110 classes, thousands of lines of code, and not a single timeline in site (just how I like it).
The first step is to select the source swf as the instructional text states, easy enough, I select the “…” button next to the SWF file name field. Not sure if “…” is the best labeling, I know what it means, not sure if everyone will. Next I select the path of where I want the decompiled FLA to be saved. Again, I select the “…” button next to the FLA file name field. By default it chooses the same directory as the SWF and appends _conv to the file name. The problem I have with the GUI is it doesn’t show you the full SWF or FLA path. If you don’t click on the “…” browse button you have no idea where the FLA will be saved.
Next I have to select my decompilation settings from a massive list of about 70 options. I wasn’t kidding when I stated the interface was a little overwhelming. Luckily they have a settings filter so you can drill down to the exact settings you are looking for. It still doesn’t hide the fact that there are 70 or so options. All of these options have a default selection which I assume are the most common selections.
Some of the options are fairly straight forward such as File Format and SWF Version. However, some of the options are very confusing. The one that confused me the most was the ActionScript 2.0 toggle? The website told me that this app can decompile ActionScript 3.0 swfs, but the toggle label says Actionscript 2.0 and is checked by default? If I uncheck this does it mean it will decompile to Actionscript 3.0 or will it think it is ActionScript 1? The contextual help for this toggle doesn’t mention anything about ActionScript 3. “Toggle ActionScript 2.0 decompilation on/off. If not enabled ActionScript 1.0 will be generated”. This option should use a combo box and the combo box should populate itself based on the SWF Version option selected above. Obviously if the user selects Flash Player 6 SWF Version the ActionScript toggle shouldn’t offer the opportunity to select ActionScript 3. After playing around with this toggle I came to the conclusion that it doesn’t really do anything, AS3 is retained no mater what.
Another confusing option is in the SWF version combo box. One of the options is “same as FLA”, I know what they are attempting to do here but not everyone is going to know that Flash MX 2004 is Flash Player 7.
Personally the Page options section I feel is not needed. It’s been a while since I have actually used the Flash IDE but I am pretty sure it remembers settings from the last time it was used. Do I really need to select if I want rulers visible when the file opens? There are way too many options in here for the average user, just trying to scale this massive list of 70 options down. Or maybe move these options to an optional options section that doesn’t show by default. KISS – Keep it Simple Stupid.
Lastly, the contextual help on a lot of the options are completely useless. For example, one option label is “Decode all classes as dynamic”. The contextual help for this option is “Decode all classes as dynamic”. I know what this means, does the average user?
I think a few very important options have been left out. One would be an option to not decompile Flex Framework classes, as you will see below in my Flex project decompilation there are a lot of excess classes decompiled for no reason. I guess there is a reason if you don’t have the Flex framework already on your machine. How about an option to create a swc of the Flex framework so the user doesn’ t have to wade through excess classes?
Another nice option would be export ActionScript only. Some of us don’t care about FLAs. Edit, I just figured out that you can extract only the AS, you have to select the Extract button and uncheck everything but scripts.
OK, enough of that, lets take a look at the decompilation results, after all that is what is important here.
First off, the decompilation was fast, less then a second which is very impressive. Once the compilation is complete it automatically opens the decopiled FLA in the Flash IDE (this is one of the 70 options you select). The decompiler created a project file and the project panel is opened automatically. I do not have a copy of Flash CS4 yet, I wonder if the gProject panel would still work. I would assume the gProject panel is backward compatable, if not there would be a lot of complaints by now I’m sure.
All 110 classes in my ActionScript project were decompiled and all of the class paths (directories) are correct. All the code is representative of what it was pre-compile with a few notable differences.
1. All local variables do not retain their names. For example, if I had
var foo:String = “bar”;
in my code, after it is decompiled the var looks like
var loc1:*;
loc1 = “bar”;
I understand the renaming, the compiler changes the name of local vars to something representative to their position in memory allocation and Trillix is masking those unreadable names to something that is somewhat readable. What I do not agree with is the formatting, variable defined on the first line, value assigned to it on the second line. Pre-compilation it was all in one line.
Also vars which aretyped as String pre compilation are typed as a wildcard (*) when decompiled unless you implicitly cast the value to whatever you typed it as. For example:
var foo:String = String(bar);
will decompile to this:
var foo:String;
foo = String(bar);
Does anyone know if the compiler does this after it validates the type upon compilation, or is the decompiler being a little lazy? Interestingly if you type your var using as:
var foo:String = bar as String;
it will decompile to:
var foo:*;
foo = bar as String;
not cool.
Lastly, all of the local vars are moved to the top of the method. If your code look like this before compilation.
private function foo(bar:String):String {
if (bar != ‘local’) {
var thing:String = String(LoaderInfo(OS.instance.root.loaderInfo).parameters.thing);
return thing;
}
return bar;
}
It will look like this after decompilation
private function foo(arg1:String):String {
var thing:String;
thing = null;
if (arg1 != ‘local’) {
thing = String(LoaderInfo(OS.instance.root.loaderInfo).parameters.thing);
return thing;
}
return arg1;
}
2. Along the same lines as above, all method arguments names are changed to arg1, arg2, etc. The good thing is method arguments keep their proper typing and are not wildcarded like the local variables.
3. Oddly enough all class level variables are moved to the bottom of the class, again a personal opinion, I prefer them at the top. Good news is, class level variables retain their original name and typing.
4. All import statements are wildcarded, again, not sure if this is something the compiler does. In AS2 this would have been a larger issue as all classes in the wildcarded package would be compiled into the swf. In AS3 classes are only compiled into the swf if they are instantiated. So even if you import flash.display.* doesn’t mean that Loader is available at runtime anywhere in your compiled movie, you actively have to instantiate Loader by calling new Loader() somewhere in your code. From a personal standpoint I have seeing wildcarded imports, just seems lazy and sloppy. I’m sure others will disagree.
5. And of course, comments are not decompiled. This is because comments are stripped out during the compilation process.
6. Lastly, all for loops are converted to while loops (for each loops remain for each loops). This is the same as AS2, the compiler converts all for loops to while loops at compile time, not sure why, but I am sure there is good reason.
All and all I am very impressed with the decompilation of my Actionscript project. I was able to recompile my project again based on what was decompiled. The only issue I ran into was when a swc was compiled against, obviously the decompiled version would have no reference to the swc used at compile time. Most of my code issues mentioned above are minor and of a personal nature. The UI issues I mentioned are more severe and I hope are updated in a future release.
Timeline Based Project with Actionscript 3 On Multiple Keyframes
Since I don’t spend a lot of time on the timeline this part of the review will be quick. Again, the decompilation of the swf was very quick. Less than a second. Once the decompilation was complete the Flash IDE opened and there was my FLA. The timeline, including my tween were completely restored, however my layer names were dropped (expected, the layer names are not compiled into the swf).
The big problem is all my timeline actionscript code was gone. Or was it?
The decompiler, actually the compiler does this behind the scenes, a class file is created for every display object and the class is linked to the display object in the library. This could be very confusing for a flash animator who doesn’t use a lot of code, and has never used external class files. I couldn’t find an option that dropped the actionscript back onto the timeline. That would be ideal.
Conclusion
I am very impressed with the output of the decompiled code. It is clean and readable. I have a few issues with how variables are declared (see above). With all the options in the GUI I wish there were more code preference options. I really have an issue with the GUI. It looks like they tried to jam too many features into a widget type design. Personally I think the design is a little dated and should have more of an applicationesque look to it.
All in all I am impressed. I will most likely use this application on a reglular basis.
Read more »
By scott
The majority of the time I use MXMLC and COMPC to compile my work via ANT tasks. Most of my work is Actionscript only projects so I rarely use the Flash IDE compiler.
Once in a while I find myself in the Flash IDE, mainly because I am working with an artists files, or I need to set up something on the timeline with document classes, or templated swfs that designers can base their work on. What I hate is the lack of compiler options in the IDE. Why can’t some of the command line compile options be available in the IDE?. Simple options like -load-externs, -link-report, externs, -external-library-path, -include-libraries, -includes, -library-path, -runtime-shared-libraries, and -source-path (to name a few).
With CS3 you can place a swc in the same directory as the FLA and use that for compile time checking and excluding classes in the compiled swf but this doesn’t work in most workflows. Why can’t I point at a shared swc outside of my project? A lot of our work runs in a global framework and for the most part designers don’t care about the framework or when it changes. If the designers could point at a swc on the server that can be updated at any time or in one common directory pulled out of source control they would recieve the updates and compile time checking without even knowing. You should be able to point to any swc or even a swc directory (again, like in Flex Builder).
Flash 8 had exclude.xml at least, even that would be a nice touch if that was offered again. I haven’t been able to find if any of this has been added to CS4, most of the discussion is around the visual tools. I’m ok with that, the designers deserve the love, the last release was all about the developer, AS3. Just curious if anyone knows if the compilation and workflow in the IDE is any better? I know about XFL, and I am excited to start playing with that. I already have a few ideas for workflow improvements.
Also, Adobe if you’re reading this, can you please add an omit trace statements option in the command line compilers. I know it can be done with ANT and some RegEx trickery but it shouldn’t be that difficult. </endOfRant>
By scott
I am not one to usually complain on my blog, mainly because I think the people reading my blog could give a rats ass about my problems. However, this time I feel I need to complain because a) it has to do with online user experience (something I am passionate about) and b) pizza (something every developer is passionate about
.
The other night I went online because my wife and I decided we wanted to order from Red Brick Pizza. Originally the plan was to just look up the phone number. Once I got to the site I remembered you can order online. Last time we ordered from Red Brick this is exactly what I did and it worked out fine so I figured I would try again.
The initial experience is standard, you hit the homepage and you are greeted with a massive shot of a mouth watering pizza that looks to be the size of the Millennium Falcon. From there I clicked on the “Menu” link in the top menu, again very standard for a restaurant site. Once I am in the menu I can use the left side navigation to browser their menu and below the menu is the “Order Online” button.
Little did I know the hell that awaited beyond that “Order Online” button.The first screen you are presented with inside “Order Online” is a Red Brick’s “Location Search Utility” (so official, geez). OK, I entered my ZIP code and clicked “Show Locations”. Ok, first problem, did anyone catch it? Earlier I mentioned that I have ordered online from Red Brick before. Why didn’t they remember my information. Hello, marketing opportunity, make me create an account, that way it is convenient for me next time I come, and it is convenient for you because you can mail me crap that I won’t read. Instead now I have to go through, enter my zip code, and select the restaurant that is closest to my house. That’s right, I have to select the restaurant closest to my house. Dear Red Brick, geo-location isn’t anything new. How about you suggest the restaurant that is closest to my house? Or pre-select it. I realize 2% of the time users may want to select a different restaurant because they are going to be on the other side of town or are picking it up en-route to a friends house, have you heard of a “Change Pickup Location” button?
Their “Location Search Utility” results page has a few issues too. When I entered my zip code, the results came back with two restaurants but only one restaurant is plotted on the Google map, the furthest one from my house (this may explain a few things…keep reading). Being extremely hungry I wasn’t in the mood for reading, and because the map was so zoomed out, I clicked the map plot, and clicked the “Go To Store Page” link in the map point call out.
Finally I made it to the online ordering page. Again, they show me the zoomed out, view from pluto, map with the map point again, not entirely necessary on this page. Below that is their entire menu listed with three columns to the right of each available item. In each column is a large, medium, and small number ticker and the corresponding price for each size. In Firefox, the layout of this page was horrible, none of the number tickers lined up with the corresponding items, sometimes the number tickers wrapped to the next line so you had no idea which item you were selecting. Luckily the two items I was ordering were at the absolute top of the list and the absolute bottom so it didn’t take much to figure out if I was using the correct number ticker.Well, there are so many things wrong with this page. Even in 1996 this page would have been horrible. The largest complaint, why isn’t this page merged with the menu they already have? I massive scrolling page with no categorization is just horrible user experience.
Ok, this may be because they are using an off the shelf e-Commerce solution and they were unable to incorporate it with their existing site. Nope, if you check the url, the same query string schema is used in the marketing type pages so we are still in the same system, we didn’t switch to https (you’ll see why shortly). I think it just comes down to laziness, someone, somewhere probably created an excel spread sheet with the prices and sizes available and gave it to a developer, that developer then cut and pasted that content into Dreamweaver (check the source, lots of MM_, not difficult to figure out they were using DW).Next issue, you can’t click on any of the items in the scrolling list? I see “NEW! Pizza Bianco”, however, I have no idea what a Pizza Bianco is. As a user, if I really want to know, I have to click on menu, then click on signature pizza, and find Pizzas Bianco. Then when I find it and navigate back to online ordering page my session was wiped and I have to start over, right back to the location selector…UGH! A simple solution would be to store the session and make each item clickable so the user can check out what each item is. The ideal solution would be to incorporate the ordering and menu sections but I already mentioned that. A middle of the road solution would be to have a mouse over div created that showed the image and description of the product. I assume all this data is stored somewhere since the site is running on Cold Fusion, there must be some sort of back-end?
Also, what is up with all the number tickers? Why aren’t they just using combo boxes, each combo box would contain the three sizes and the price. This would make the page look less daunting, would fix the layout issues, and personally I feel it is more standard and what users are used to. Not 16 thousand number tickers. Oh ya, if you click the number tickers too quickly the price in the top right doesn’t update, without looking at the code there must be some interval set up which isn’t catching the change event when you click fast.
Wow, this blog posting is getting a little long. I could go on and on and on about this horrible experience. Before I wrap it up I want to mention one more, and this one is the kicker. Once you have magically figured out what you want and possibly selected the correct size and quantity from the slew of number tickers and figured out that the “Proceed” button is way up in the top right of the browser you are redirected to the “Your Order” page. Once again I am asked to enter my location information. Didn’t I do this already? Note to developer <cfset session.zipcode = #FORM.zipcode#> does wonders for usability. Oh ya, I hope you don’t want to change anything, because if you click back at this point the number tickers don’t reset but the box in the top right that displays the current price of your order does so it appears that nothing is selected. Ok, now for the real fun. Fill in your contact information, click Submit (mmmm, I can already taste my pizza), and you are greeted with message “A pizza ambassador will contact you within 10 minutes to verify your order”. WHAT?!?!? call me? I just spent all this time online for nothing? I still have to deal with the phone.
Oh ya, so I lied, one more huge thing. After the pizza ambassador called me and confirmed my order, I went to pick it up and bingo, it wasn’t at the restaurant 1/2 mile from my house that I selected. It was at the restaurant on the other side of town. Interesting how the only restaurant that showed up on the map was the restaurant on the other side of town, however, the text results showed the restaurant 1/2 a mile from my house. So frustrating!
Red Brick, if you are going to offer online ordering, truely make it online ordering, don’t make users do a ton of unnecessary work and eventually end up on the phone with them anyway. Aixen Solutions, you may want to go back to the drawing board on this one.
Just my 2 cents, and in case anyone was wondering, the food was great, a little cold cause I had to drive so far to pick it up, but still tasty! They can’t make a website but they do make a decent pizza.
By scott
Chrome has only been out a few hours and I have to say I already love it. My largest complaint is there isn’t a Mac version of it yet. 90% of my work is done on a Mac, of the 10% of the time I spend on the PC about 5% of that is spent in a browser. So what is so special about Chrome?
- Extremly small download, 7mb (which includes 40+ languages)
- Fast, fast, fast.
- Virtualized JS engine (courtesy of V8 – no not the veggie drink), which I have heard is much cleaner thank Tamarin or Spidermonkey (haven’t had a chance to look myself yet).
- Offloaded cache and processing using Gears.
- Task Manager specific to the browser processes THANK YOU Google!
- Geek mode THANK YOU again, however I do miss Firebug already.
- Supplied developer tools work great, just need more.
- Crashing doesn’t take down the whole browser, instead it only blows away the specific tab. This is due to multiple processes, one per tab to be exact.
- And of course, searching Google is just that much easier.
The first thing I did was test the Disney suite of sites, better we catch the bugs before the evil QA department does (just kidding Eric, don’t assign me more bugs because of that last comment). The only major bug I have noticed so far is some redraw issues when AVM1 content is running inside of AVM2. Play some of the games on the Disney site and you will notice that the redraw hangs unless you scroll to the bottom of the page and back up. It seems to happen once AVM2 content is layered over top of AVM1 content. If no AVM2 content is layered over the AVM1 content everything seems to work fine. Sounds like more of a Flash Player bug then a Chrome bug.
The second issue I just noticed (which actually may be a feature) is multiple alpha tween animations seem to not animate, instead the content all pops on once all the tweened instances are complete.
I am not a huge fan of the default text rendering, probably one of the many reasons why the pages draw so quickly. IMHO the text looks like ass.
The other major problem is penetration, what is it going to take to get the world to download this browser. Sure the developer world is a buzz right now, but I don’t think the average joe is pumped about a new browser. Hopefully Microsoft and Mozilla learn or thing or two about browser development.
By scott
Long time no blog! I just found out I will be presenting at Flash Forward in San Francisco on August 21, 2008. At this point I know I will be presenting with Neil Ishibashi, Disney.com Art Director extraordinaire. As to what exactly we will be presenting, I’m not 100% sure. I know it will be along the lines of Engineer/Creative work flow on the all new disney.com. Our presentation will be at 10am – 11am on Thursday morning, directly following the Adobe keynote (not a bad lead in). Leave me a commnet if you are going to be there and if there are any particular items you would like us to cover in our presentation.
By scott
I haven’t blogged in a while, mainly because I have been extremely busy at work. One of the projects we launched tonight is the WALL-E takeover of the Disney.com homepage.
Earlier this year I was lucky enough to go up to the Pixar offices (yes it is an amazing office) to discuss this project. June 24 seemed so far away when we were storyboarding out the concept and presenting our ideas. I must admit, the final rendered version looks much better then those sketches and block animations we toyed around with.
From a technical standpoint there isn’t much to write home about here, however, it was a pretty cool project to say I worked on…sorta. Check it out, it will only be up for a few days.

By scott
While flying back from Toronto the other day I thought of a new URL – flashmorgan.com. I visited a comic book store in Toronto, maybe it inspired the new domain name, it is somewhat super hero-ish. It’s a little more exciting then scottgmorgan.com. I don’t know how many complaints I have received from people who can’t find my site because they forgot the g in scottGmorgan.com. The new domain is much easier and shouldn’t cause any problems.
There is no need to update your bookmarks (unless you want to of course), I am not getting rid of the old scottgmorgan.com domain anytime soon.
By scott
I kept running into blogs using the same theme I was using so I decided it was time to switch it up. This new theme isn’t my final choice. I am going to be experimenting with a few new themes over the next little while. And if I find the time (highly unlikely) I may even design my own. When searching for a new theme I noticed there are a lot of bad themes out there. Anyone know of a site that has good quality WordPress themes? Please post the link in the comments below if you know of any.
By scott
First there was the Ford Fusion (the server side vehicle), then there was the Ford Edge (the corporate newsletter of the bunch), and now the Ford Flex (the highly customizable utility vehicle). What’s next, the Lincoln or Mazda CS3? Maybe the Mercury Air, or the Ford Premier. The Jaguar XK already comes with the Flash Player installed in the dash. Anyone else think this is coincidence or conspiracy?