RIAjobs is on fire!

I’m so happy to write this post, because I think it could be very useful to anyone that are searching jobs on RIA world!
In fact Peter Elst with others companies present a new site RIAjobs.org .
This site allow you to find jobs for Flash, Flex, AJAX or Silverlight developers and not only!!!

Take a look at Peter blog and discover this great project!
Cograts Peter very cool job! 

Working with big images and AIR (memory issue: SOLVED!)

A couple of weeks ago I solved a big problem in an AIR application that I’m working on.
This application is an images manipulator; the most important problem when you work on a desktop application is that a user could be uses any kind of images, from 200kb to 5mb!

This problem is not easy to solve when you work with a lots of images because memory use increase a lots.

First of all I tried to use a “normal” load of an images working with Flex Image component, but every time that I load an 3MB image from a folder in my desktop, allocated memory grows up a lot! I arrive to use, with 10 images of the same dimension (3MB each one), 750MB of memory allocated for my application… that’s crazy!!! 
If you want create a batch you have so many problem to preview images and working with them.

So I find a good solution to use less memory (30 – 40MB for all AIR application) working with BitmapData class and Loader class.
I create a zip file where you can find a sample with a couple of images, download it to take a look. 

In this sample you can find 2 buttons, the first one load an image with Image component the other one load image with a class that I made to solve this problem.
When you try it, please open Task Manager (on Windows: right click in system bar) or Activity Monitor (on Mac: Applications>Utilities) and take a look at process and memory that every method use to do the same thing.

If you have any comment, suggestion or so on, please feel free to add a comment at this post or contact me directly.

Enjoy!

Let’s tour is (quite) ready

Yes guys, we are coming!!!

5 italian cities, an half day totally FREE with 6 shoots of 30 minutes each one, 3 teachers, a lots of technologies to show you (Flex, AIR, Flash LIte, Photoshop, Illustrator, PHP, PDF) that work together to create a final and amazing product workflow… that’s the Let’s TOUR!

Thomas Baggio, Tiziano Fruet and me will drive trough Italy (Florence, Milan, Turin, Verona and Padua) to make this show in the beginning of July, you can’t miss it!

Feel free to register yourself at the event and see you there guys!

SotR… Rocks! first day impressions

Here we are! I’m at Peter’s session about AIR but it’s the final session, after this we have Bird of fathers.

First day is very interesting, I meet very skilled and strong developers like Nico and also I have a great lunch with Neil, Peter and so on.

Atmosphere is very fresh, Edinburgh is an amazing but very relax city, I love it so much.
Event starts with Ben Forta and Adam Lehman that make a keynote about Coldfusion and integration with Flex, LCDS and AIR, very cool!

First session of my day is Working with OOP and CFML, Matt Woodward shows us why developers must work with OOP and which are benefits.
Then I follow Nico session about google analytics, I learn that old counters are better than analytics… no that’s a joke! He shows the true powerful of this google solution and give us some news about new features (native integration with flex and air… cool!)
And finally now Peter give us an overview of AIR API with a lots of samples, great work Peter!!!

If you are plan which event to follow next year, take in consideration Scotch on the Rocks, very friendly and fantastic atmosphere! 

easyAIR: how to develop easily with AIR

A couple of weeks ago I started some of new Flex and AIR projects.
When I start to work on it, I realize that when you work on AIR there are many times that you use same API.

For example save XML files, manage them (add, remove and finally change a child), create backup files and so on, they are normal operations to find in a desktop application.
So I decide to work on a little library for AIR that I’ll call easyAIR and I’ll release for FREE in next months (I suppose on October / November).
I’ve a lots of AIR and Flex projects to develop in next months so when I find a particular and interesting feature that I could use in many project I’ll create it and put in this AIR library.

If you have any idea, suggestion or request, please fell free to contact me and tell me what do you think about it.
Thank you in advance to everyone that email me.

Flex Builder compile Flash Lite projects, is it a dream?

Today was last day at 360Flex Europe, I spent great time there!

Talking with 2 Flex team guys, they said to us that if you’d like some new features in Flex 4, only make a feature request to Adobe jira system.
So I said: “One of the most cool feature that you could implement in next version of Flex Builder, it could be to compile Flash Lite projects and maybe Flex Builder could interact with Device Central.” They said me: “It’s first time that ask me this implementation“.

So I make a feature request for next version of Flex Builder, I think it could be so interesting working with Flex IDE and when I compile a Flash Lite project open directly into Device Central.
What do you think about it? If you’d like this feature too, vote please!

Make comments and we could create a great discussion about it.

Photoshop Express… ROCKS!

I wake up 30 mins ago and the first thing that I do every morning is looking MXNA and download my emails.

Reading MXNA posts, I see Photoshop Express from Ryan Stewart blog… Adobe release it this night, oh my god, I must try it!

So I go to the official link I register myself and I start to work with Photoshop Express.
This version of Photoshop is made with Flex and it’s amazing! I love so much how is clear and simple use this RIA.
Adobe done a great work also with instruments and with manage of images, you can create personal album, send the photo to a friend via mail, put own photos on Picasa or Facebook (I love that!).

Please take a look at this RIA, it’s so interesting and I’m sure that Adobe adds new functionalities and they’ll grow up this project so much!

To all Attendes of 360Flex Europe

Hi All,

360 Flex Europe is behind the corner, 10 days more or less and… it starts!
So to all attendes of this big Flex event I made the mobile application with Flash Lite 2.0, you can find the same things of Atlanta version but with another graphics and the final 360Flex schedule!

I hope to see you at the event.
Enjoy

UPDATE
Actionscript.it, italian Adobe UG, organize Birds of father event during 360Flex on Monday 7 from 6PM to 9PM, where attendes could ask any questions about 360Flex sessions, Flex and AIR, so please take a look at event page (it’s in italian) and register to the event!

PS: I’m making the sys files in next few days! Stay tuned!

UPDATE II
Thank you again to chall3ng3r to make sis files!  Download file for Symbian 2nd edition and for Symbian 3rd edition

See you next week at 360Flex Europe guys!

new ribbit API Beta 2

Ribbit team has just released new API (BETA 2) with new features and better performance!

In Ribbit blog, Mr. Freedman said:
“- There are more than 30 new methods and events, as well as significant changes for improving existing methods. Methods for loading messages have been modified and now support a more sophisticated ‘tagging’ model. Virtually none of the calling methods and events have been changed.
– Key performance enhancements include firewall compatibility, better voice performance and improved calling stability. There is a new set of methods for managing account information through the API, including recording and saving your Voicemail greeting, changing password and uploading a user photo.”

And also:
“- New features on the developer site, to be announced later this week, will include the ability to share your Ribbit applications and projects with other developers. Developers, especially those coding apps for the contest, will benefit from having others in the community evaluate and give feedback on their ongoing projects.”

When I tried it I was shock for the performance but if they come better…WOW, what amazing tool!
For now Europe developers could only try it with skype or with others developers that are involved in this project… I want Europe calls, please!
I suggest to take a look at this project if you haven’t done it yet.

My first steps with RIBBIT API

Today I spent an hour to take a look at Ribbit api and to start a first flex example with them.
For now you make a call to USA phone numbers only, in fact when you enter your Ribbit profile, you receive a USA number to use for test.
So I use Skype to make a call to my Ribbit number.
Example is very easy but with this few code you can receive and  make call to USA number (Europe number  are available  in mid 2008 probably).

After registrarion and approval from Ribbit team you can download SWC from Ribbit site that you add in your Flex application.

First of all you must create a Ribbit istance and a CallObject:

 private var myRibbit:RibbitRequest = new RibbitRequest();  private var ribbitObj:CallObject; 

Then you add listner to know when you are logged in Ribbit server, when you are making a call and when you are receiving a call.

 myRibbit.addEventListener(RibbitResponseEvent.LOGGED_IN, handleLoggedIn);
 myRibbit.addEventListener(RibbitResponseEvent.RIBBIT_SERVER_CONNECTED, handleRibbitServerConnected);
 myRibbit.addEventListener(RibbitResponseEvent.CALL_CONNECTED, handleCallActive);
 myRibbit.addEventListener(RibbitResponseEvent.INCOMING_CALL, handleCallIncoming);

So you login with:

myRibbit.login("user", "psw", "devID", "appID");

All data that you put in login method you can find in your Ribbit profile.

Then you create  function  that you define in Ribbit object listner:

private function handleCallIncoming(e:RibbitResponseEvent):void{                       receiveBtn.enabled = true;                       ribbitObj = new CallObject();      ribbitObj = e.data as CallObject;                  }              private function handleCallActive(e:RibbitResponseEvent):void{                 trace("call active man!")              }              private function handleLoggedIn(e:RibbitResponseEvent):void{                   trace("you are logged in")              }              private function handleRibbitServerConnected(e:RibbitResponseEvent):void{ 
    trace("server ok")                      makeBtn.enabled = true;              }

So now we only put in our flex project 2 buttons, one to receive a call and another one to make a call to a specific USA number.

<mx:VBox>
    <mx:Button id="makeBtn" label="make call" click="{myRibbit.makeCall('USAPhone')}" enabled="false" />
    <mx:Button id="receiveBtn" label="receive call" click="{myRibbit.answerCall(ribbitObj)}" enabled="false" />
</mx:VBox>  

Very easy to use and so powerfull API!

I remember to all that Ribbit team launch a phone contest, more information in Ribbit site

Enjoy!