Merge folder on Mac – AIR utility app

I switched 2 months ago from a windows machine to Mac and as propably everyone would say I will never go back. I was on PC my whole life before and looking back at that time I know think I made the switch too late but better now than never :-)
The only little thing which I don`t like is that there does not seem to be an easy (none terminal) way to copy a folder into a new folder and just merge the content. The only option seems to be to delete the target folder and replace it completely with new content. Well I haven`t really looked that much for a solution so if there is a handy trick please leave a comment.

Anyway this i one of the reasons I love AIR so much! It`s just so simple to create little utility apps that can make your life easier. It just took 10 min and now I have a little app that does just that merging folder content :-)
You can select a target location and then drag all the files you want to copy into the app and it will tell you which files already exist and will be overwritten. You can then deselect the ones you don`t want to be overwritten or you just go on and merge the folders – replacing the existing files in the target location with the copied ones.
Again this might be a totally overkill app because I just can`t believe that there isn`t a hidden command to do just that on the Mac but anyway it was fun to build this…

[flashvideo filename=http://www.richapps.de/wp-content/uploads/2008/08/osxcopy.flv /]

Download it here. (Be care full and use on your own risk as it can overwrite files on your system! )
Source is included (right click the app)

FXG kicks ass!

I start to get the whole concept 😉 First i was not too overwhelmed with the new Gumbo stuff. Drawing with mxml did not looked too appealing – but it totally makes sense. By seperating the skin from the actual component in a clean way with it`s own format (fxg) it will be very easy to build a great toolset for the designer <-> developer workflow.

You can get a first impression if you check out the Fireworks beta on adobe labs. It has an export script that generates fxg out of your vector drawing – very cool! 
I think Fxg is really the missing link between designers and developers and it seems once again Adobe is getting it right. Ultimately Adobe will use this in Thermo and I think that Fireworks 10 will only get limited support for fxg. Maybe it will just be this little export snippet.

This is where i`m not so sure. I think the hardest part in getting developers and designers work together are the designers tools. From my experience it`s very hard if not impossible to make a designer switch to a new tool. They love their Photoshop and maybe a little fireworks for web stuff. 

But getting them to use a new tool like Thermo can be hard. Just look at Expression Blend from Mircosoft. I don`t really see designers using this tool and if – they are forced to do so 😉 So maybe it would be a better strategy to include the Thermo stuff into Photoshop or Fireworks. Or make it integrate so super smooth that they don`t realize that they are using a different tool. You have to trick them :-) Maybe even call it “Photoshop Interactive Designer” (Na that does not sound Adobeish).
Anyway some interesting links to get started with fxg:

Get Gumbo (Flex 4 SDK)

Skinning A Button in Flex 4 Using FXG

Jumping Into Skinning with Flex 4

Gumbo (Flex 4) Skin with Transitions

 Flex 4: Neue Grafik-Library (German)

Fireworks 10 Beta (2 day trial – more if you`ve a FW9 serial)

Man can`t wait till I can use this in production 😉

Parleys publisher in private beta

Last week my client Stephan Janssen visited me in Berlin and we finalized a first private beta of our publisher for parleys.com. We prepared a little talk including demos and an overview of the capabilities.
People that have seen my talk at the Adobe AIR tour will notice that some funky stuff is missing but it will be included when it`s more stable.

Check out the demo talk at parleys.

Critical Update for RichFLV

I finally found some minutes to do a critical update for RichFLV. The files produced with previous
RichFLV versions contained a small error wich prevented playback when streamed over RTMPT with FMS.
With the help of the Adobe FLV Check Tool I was able to finally fix that.
It should also handle flv files with variable framerates better now.

!!! Important notice: Because I`ve changed the certificate you`ll need to uninstall your previous RichFLV
installs manually before you can update !!!

Get the new version here:

Please upgrade your Flash Player This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.

Let me know if you have any problems.

Old School Flex Animations

I was just experimenting with some animation techniques when I tried one of the old school flash 5 stuff in Flex. In general I`m not a fan of the build in effects in Flex and most of the time I just do the animations myself with Tweener . I just think it`s smoother and more flexible. One thing that I find difficult to achieve is animating targets that change often and abrupt. For these types of thing the build in effects and even Tweener does not work very well. I got the idea when I saw Chet Haase example here. It`s a nice app but I don`t like that it only changes the interface when you release the slider. Would be much cooler and intuitive if live dragging was possible. So I did a dirty little example that does not use the fancy effects or Tweener but good old onEnterFrame exponational function (think that`s how Andries Odendaal coined it back then!?) tweening. It`s not a nice approach with some drawback but I think it just gives the sweetest result.

Take a look at the video and if you like download the AIR app (View source enabled)

[flashvideo filename=http://www.richapps.de/wp-content/uploads/2008/07/screenflow.flv /]

So this is maybe not how you would do it in a real world app because the ever running loop is not so nice but the smoothness of the animation is just unbeatable – or? How would you do this in a clean way?

Back from the onair tour in Warsaw

I had the honour to join the Adobe on AIR tour in Berlin and Warsaw and it was a blast. I`m really impressed how well all was organized and how much energy Adobe and espacially the evangelists put into these events. The highlight for me was that with Ethan Malasky a real engineer from the AIR tour was on board and we had some really cool discussions about AIR. After seeing how enganged Adobe is and how enthusiastic the people that actually build the platform are I`m even more convinced that the Flash platform will succeed and nobody should miss the train. I may be wrong but I have the feeling that this is one of the biggest advantages of Adobe compared to their rivals.

Mix .wav files in the browser with FP10

Another old AIR project I`ve converted to FP10 beta. It`s actually quite crazy that these applications are now possible :-)
You can import wave loops (only tested with 44.100kHz, 16Bit, Mono) – use small loops!. It will internally convert them to SWF files so they can be played. Then it will generate a wave form and you can add multiple tracks, drag`n drop and save the mix to your hard disk – all without server interaction – i love it!

I`ve made a quick screencast so you know how to work with it – see it here.

And check out the application here:

Again not heavily tested – use on your own risk 😉
I have aother version quite ready that also let`s you add mp3 files. It uses the new extract() method of the Sound object to get the raw PCM data. More later…
Benz

Cut and edit mp3 files with Flash Player 10

My first test with Flash Player 10 was to convert an AIR project to a browser only version. I choosed RichMP3 as it was the simplest one. I just replaced all File/FileStream instances to the new Filereference and it worked. Ah yeah sure I had to use the dirty hack to load the mp3 from the client (convert to swf > load bytes via loader). All pretty straight forward. Now you can cut the mp3 file see id3 tags and even change them including cover art. You can replace the cover art with a new image Jpeg,Png and save the edited file back to your harddisk. It`s really amazing that you can do this kind of stuff now without a server just on the client:-) The Mp3 reader should handle most of the mp3 files out there but i`ve not tested this a lot so use on your own risk 😉 and let me know if you have problems.

See it in action here

Update: I had some problems running this with the Flash Player Plugin for Internet Explorer. The save function of the FileReference did not work for me only under Firefox. Do you have such issues? It`s really hard to debug without the debugger 😉

Extended FileReference in Flash Player 10 is good but…

… it`s still not quite what I dreamed of. Out of enthusiasm about the new great features I blindly tried to convert RichFLV to a browser only version.
In theory everything is there to build such powerfull browser applications now but the problem is that it seems that there is no way to get the actual filepath to the selected file just the data. I can absolutely understand this because it might be another security concern but this means that you cannot display most of the data a user selects.
For a simple image uploader this might be fine because you can easily create an image from the ByteArray with Actionscript but for example for videos or sounds this is not the case. Yeah I know you can always create a swf in memory and then pass it to a Loader instance but that`s not really cool. So if I would want to create something like RichFLV in the browser there is no way to display the video directly on the client :-(

So please Adobe open up the NetStream Object so we can work directly with bytes on it.
Please vote for this feature here https://bugs.adobe.com/jira/browse/FP-5

I think access to the bytes of a NetStream object would also allow acces to the webcam stream and microphone right? This would be so important and open up thousands of possibilites. And it would be a perfect workaround for the security filepath problem. If we are able to actually do something with the data why would we need the filepath 😉

Just had to get this out before the feature list for FP10 is closed and we I have to wait for another 2 years :-)