Grabbing assets out of AIR apps

12 03 2009

I’ve done some work in the past with the Konfabulator (Now Yahoo! Widgets) widget patform and the workflow (no IDE) was that you used to rename the .widge files to .zip and decompress in order to view the JS and XML source. I was nosing at a few AIR apps today (Frienddeck and a Merapi AS3 to Java bridge application – in order to grab Skype metadata) and thought I’d give this method a test and yes you can kind of do the same with AIR! 

 Rename the .air to .zip and decompress (I use Winzip) – it throws an error but you get some source including a .swf which you can then run through a decompiler (I use Sothink) and you get the symbols (PNG’s, Movieclips etc…). This could be useful under certain circumstances so I thought I’d share. Cheerio :)

Err, just what exactly is PixelBender?

13 02 2009

 Pixel BenderBeen trying to work this out and it seems it’s basically a way of delegating computationally expensive tasks to a hybrid of GPU & CPU so you can take advantage of the local machines hardware better to extend how hardcore you can make client side computations in Flash Player/AIR runtime.

These slides did a better job of explaining than most:

Main things I’ve discovered:

- What isn’t apparent from the name is that is not restricted to graphics/video processing – you can do any Maths process with this for example manipulating audio live in real time in ways you can’t currently do e.g. proper DSP operations with float4 low level datatypes

- Creating a new PixelBenderJob via AS3 actually creates a new processor thread (confirmed to me at Flash On The Beach by Lee Brimelow) so effectively FP10 is capable of multithreaded applications in the same way Java is, it’s just that noone has got it working yet as far as I know…

I wonder how long it takes the ridiculously clever folks over at Hobnox, Alternativa, Papervision, Flint, Away3D etc to grab this or whether some other PJB wizard will create some next gen tools in this that may supercede their work in the 3D/Particle and audio DSP spaces where GPU’s are at their most useful?

I haven’t got any spare time as I’ve too many research projects on at the mo already (good times) but hopefully will get a chance to nose further at this soon…

Good links in the meantime:

Good weekend all

[code lang="actionscript"]EDIT[/code]

Just spotted this from the guys at BigSpaceship top stats and a very interesting comment from UnitZeroOne regarding the future of Papervision :)

FDT/Eclipse Setup & Flash Dev spring cleaning brings Happiness & new tools

6 02 2009

FDTAfter having a fresh evaluation of all my workflows, tools and processes recently and after quite a bit of time analysing Flex Builder 3 and Flash Develop; I’ve finally settled happily on FDT3 in Eclipse and the Flash IDE as my compiler (Including the AIR & AS_CORE goodies you get for free in Flex & all my favourite 3rd party AS3 Libraries via Eclipse shared Libs). During the experience I discovered loads of useful bits and thought I’d catalogue and share:

FDT can be set up to work with the Flash IDE (no slow workflow of editing SWC’s externally like with Flex) so I can live edit on stage assets as well as code as all mongrel dev/designers like me like to do. It’s also easy to set up Ctrl+Enter straight from the Eclipse IDE (Thanks to Wezside for the handy tip) like I used to with Se|Py. If you’re going to go and install this you might find this useful when you’re locating your ASO & S.O folders & various installation folders you need.

There’s only one annoying thAnnoying CS3 Flash Path paneing in that I have to add the classpaths for my external Libs to the FLA document as well as in the FDT Project (see pic) although I think this issue may be fixed or at least easier to fix with Flash CS4 (which I’ve started using on other machines and is awesome) as the settings are XML based in that rather than locked in the binary FLA.

Minor bug bear though, everything else about it I’m really pleased with. Onward to more details of cool features; for example FDT ‘Templating’. As a quick example of when to use this; I like trace – she’s done me proud over the years but I wanted to set up an FDT Template to use trace as as a keyword to enter the following line of code instead to work with ThunderBolt Logger:

[code lang="actionscript"]"Flash is calling: A simple string", myString);[/code]

Usually you want to trace the value of a variable that is right in front of you so rather than typing it you can highlight that word in Eclipse & the FDT template will populate it’s generated code snippet with the highlighted value and plonk it straight into your code.  E.G to trace out facade in the code below:

FDT sample

Highlight the word facade and press CTRL+SPACE then when you start typing the first few letters of the Template Command Name ‘tra…’ the list of suggestions populates including your custom Template:

FDT sample

You just click that and it inserts your snippet with it’s dynamic contents like so, et voila!

FDT sample

You create these rules via Eclipse -> Window -> Preferences -> FDT -> Editor -> Templates. Pic below shows syntax:

FDT sample

So thats cool. I also mentioned our linked Library set that Rob and I are working with, there’s loads of amazing Libraries out at the moment, here’s our list (still more to go e.g PaperVision and Flint but this is a good set of great libraries)…

FDT Linked Libraries

As ever a big thanks to the creators of all of them. Tip of the hat to you all Sir’s :)

Eclipse is comfortable and solid and gives you access to an existing plug in network which I’ve already found really useful. LogWatcher is a tool that lets you watch any text file on your system. I just pointed mine at the FlashLog.txt created by the FP10 debugplayer and it works just like FlashTracer for Firefox but within Eclipse. I love the ability to check projects directly out of SVN ino FDT via Subclipse and the fact that it’s so easy to work between Mac & PC platforms as Java is platform independent and I guess it’s also cool being familiar with a Java dev environment in case you want to port any existing cool stuff like Saqoosha did with FLARToolkit and some of the stuff Mario Klingemann’s BitMap manipulation stuff he mentioned porting in his lecture at FOTB08.

Flash Develop is wicked and I love to support Open Source but it hasn’t got close to the features FDT can (SWC Browsing, Refactoring, Eclipse base benefits & general subjective tool use pleasure) and V3Beta9 wouldnt save my settings properly :(

Flex for me is nasty as the split between design and dev is skewed away from the fine traditions of Flash. CSS? No thanks. I won’t miss the bloat and the framework (MXML, yuck) but the thing that I will really miss is the incredible Flex Builder 3 View Source creation wizard which I love.

I first spotted this on one of Tink’s tutorials and he’s done some cool patches for it too but if anybody knows a way of getting the com.adobe.viewsource.ViewSource classes and zip/framework building scripts working with FDT (On either Windows or Mac), please leave a comment! Hope that was useful to somebody. Cheers

Flash Thunderbolt & Firebug = best debugger ever

23 10 2008

The Thunderbolt tool is absolutely amazing for runtime debugging of AS2 and AS3 from Flash or Flex and the memory snapshot thing is too cool for school. I love that uses Firebug too as I’ve been using that for DHTML stuff for ages.

Flash Thunderbolt

There is an AIR app version too, although it doesn’t sound very Windows friendly… for more info check this out