One of the new exciting features of Flash CS5 is the arrival of the new source file format : XFL – which is a non-compress, text(xml)/raw assets-based version of the fla format. What is this good for ? Version control to be the first ! As symbols are now xml files, once we making changes we can always tracking down by doing a diff comparison to find out what all the changes are. Secondly, all assets are now exposed and artist can change it any time to make an update.
The disappointed thing is it’s not just working that way. The more i used new XFL format, the more I got angry about how useless it is.
First fail :
I eagerly open up some of the new XFL format folder to see what’s inside, everything seems good, until i see a folder named bin. What should be inside, binary data of course, I guess it was temporary caching data to speed things up. OK, good, so i delete those files and try to open the XFL file again. It’s not working ! How should i use version control if the new XFL is still using binary data ? One more thing to mention is the binary data is very BIG ! much bigger than all asset plus the symbol xml files !
Second fail :
I created a new XFL file and import some images. Later on, I decided to update them so I copied some new images to overwrite them, then relaunch the Flash CS5 IDE, nothing happens (I supposed to see some kind of dialog telling me they are reimporting the assets caused it was changed). Try to compile to see that the old images are still there, though in the images folder I did replace them with the new ones. I end up to select all images and updated manually wondering why don’t they do a simple check to perform automatically updates for all changed items in the folder, is it that hard to track down if the assets are changed ?
Third fail :
I rename some symbol in the library and put them into folders. I expected to see the symbol names changes in the the explorer, but it’s not, still there. I open up the .xml files of the symbol to read, and there are some stupid mapping there (symbol names to file name), the real assets won’t be moved or renamed. Why they did this ? I want things to be named exactly what i named, and put where i put in the library. How can you find a symbol with some fancy name symbol234 or something like that in a big project ? And how can I know (by looking through the diff) which symbol is changing if the file name is not named after the symbol ? It’s nightmare !
Flash CS5.5 did changes the name and have a move to folder function that somewhat help us to have a way to work around, but this hasn’t solved the problem yet
Forth fail :
I have an old project that are using fla file, now i wanted to making changes to the images so I save the fla as XFL hopefully all images will be exposed so I can edit them. It’s not ! There are noway to tell them to expose these images. Copy images out one by one is time consuming and can not be considered a solution. I tried to save to other different fla versions then save back to XFL hopefully they do clean up somewhere but it’s not working still.
Later on I see that when right click onto an image in the library and choose Edit with … > Cancel, it did copy the image out (from the binary data in bin folder i guessed), so I chose to do it. The fact is you can not select multiple images to Edit with … > Cancel ! What a usability friendly workflow they has offered !
Ok, to sum things up :
That’s it, can you think of a useful use case of the XFL format ? I know that continuously and automatically checking for changes might be performance intensive and your team is not very good about optimization anyway. But is it that hard to have a clean up button that force things to be synced ? File changes got update, files got renamed and moved to correct places just as we did with the symbols ? Won’t it be peace to all of us ?
I’m really disappointed about the Flash IDE itself now, and I know there are a huge number of developers out there got so depressed on your tool that they don’t even care to complain. All the IDE features are broken, it keeps crashing a thousand times a day !
Common guys, I know you can do it better !