Archive of March 2009

March 12, 09

Managing Flash (and Adobe CSx) file versions without changing the extension

When Flash CS4 came out we got yet another FLA file format. All sweet, it has the same legendary FLA file extension but now it can only be opened with Flash CS4 IDE. What's wrong with it? Imagine the following scenario: if you bought Flash CS4 (or decided to use trial version) and played about with your CS3 files there, you could accidentally save over them with CS4. When the trial expires, you're no longer able to access your files (well, you could revert them if you keep everything under version control but you'd still lose your changes). Or you might just have downloaded some cool source FLA files from a Flash blogger and doh! – they won't open with your CS3 although they are not using CS4 features at all (I had that problem with BIT-101's FiTC source files before having CS4).

The easiest fix was found by Senocular, let me quote Trevor:

All this takes is 3 additional key strokes for the first time you save a source file. No Fireworks engineering effort is required, it works for all versions of Fireworks, and Fireworks source files can continue to be easily recognized by other applications – and even, for that matter, humans. Using a .fw.png extension clearly indicates (to developers) that the PNG file is a Fireworks source file.

So next time you save the file, please do append 4 extra characters after the filename and before the actual file extension, e.g., if you save from Flash CS4 use filename.cs4.fla – in fact, you could apply this rule to all (almost) Adobe CS products, i.e., when saving from Photoshop, use filename.cs3.psd, etc.

I hope that this naming convention will get somehow included in Adobe CS5 (so opening the .cs4.fla file and re-saving it will still at least auto-rename it to .cs5.fla), so everybody will be able to easily distinguish between different file versions coming from the same named app.

The published SWF will follow the same convention: filename.cs4.swf and I think that makes sense as well, it may give you a clue what version of Flash Player the build is targeted for (unless you change the Publish Settings).

11:45 PM | | 0 Comments | Tags: , ,
March 11, 09

Geek Tool loves Flash trace logs

Geektool trace(); Have you ever used trace(...) to debug your Flash files? Somewhat it might be very limiting (comparing to some professional debugging tools around) and you'd get condemned by many Flash devs in your town. Well, they'd be right there – there's a few cons not to use trace(...) method at all, i.e., it only allows to view logs in Flash IDE (slowing down the performance of your SWF when loads of traces are dumped out), but hey! - it may become your racing horse as well. Here's how.

If you develop on Mac (and I hope you do so), there's a neat free app called GeekTool – all what it does is displaying contents of a file (files) directly onto your desktop wallpaper – check out example screenshots. As you already might know (especially if you were using Firefox FlashTracer plugin by Sepiroth before), all trace(...) messages are added to a global log file which (on Mac) is stored in the following location:

/Users/<your_username>/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt

Check it out, if it's not there, you might need to create a mm.cfg file in your home directory (/Users/<your_username>/mm.cfg) containing the following:

TraceOutPutFileName=/Users/<your_username>/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt
ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=10

Geektool itself is trivial to configure, just add a group (by clicking the New Entry button), rename it to Flash (or whatever name it feels appropriate for you) and paste the Flash log path into the Path field. Make sure the Enable GeekTool option is checked and there you go, contents of your Flash log should appear directly on your desktop wallpaper.

Play around with fonts and colours, be careful with shadows though – that's somehow not perfectly working (at least with GeekTool 2.1.2). You may also want your log to be displayed always on top of everything (i.e., when you're using additional monitor).

In order to view your logs generated by Flash Player in a browser, you need a debug version of Flash Player.

And finally – make sure you only use trace(...) in production/development mode and disable it for release builds (by unchecking Omit trace actions in Flash IDE: Publish settings... > Flash tab), unless you want to entertain other Flash developers.

UPDATE:
If you are having problems with getting your logs out, Mark Walters describes ways of outputting Flash trace logs on various operating systems. Actually, I've found a comment there by Marc-André Lavoie pointing to the geek tool as well.

01:30 PM | 0 Comments | Tags: , ,
March 10, 09

Chyrp v2.0RC3 or Welcome

When the world starts to suffer from TMS (Too Much Stuff) syndrome (equivalent of Too Much Content/Choices I decided (quite ironically) that's the best time to just start blogging. In order to keep the signal vs noise level high here, I will be treading the narrow path of object oriented programming (OOP) in ActionScript 3, writing about interfaces and techniques for making stuff. I've learnt so much from the Flash community through the past few years that it feels natural to give it all back now, thus I will also share the source files whenever I can.

Frankly speaking, I had made this decision a year ago, straight after I got back from FITC 2008 from Amsterdam – when I realised that there's so many developers out there that crave for knowledge. My dream is to become a speaker myself one day and share even more, personally.

So, it's not WordPress. After using WP for several things before I wanted to give a chance to Chyrp – a lightweight and comfortable blogging engine developed by Alex Suraci. As far as I know, people from Big Spaceship Labs use it as well.

Before I got time to design my own theme (yes, that's planned too) I am using the default theme which is bundled with Chyrp 2.0RC3.

Meanwhile, enjoy your stay!

01:32 PM | 0 Comments