Zinc 3 is out!

I’ve just seen new MDM site where you can find the new release of Zinc!

I download it and I want to try in next few weeks, I hope to great new features and new performance.

You can find more information in Zinc page, take a look and stay tuned to read new Zinc 3 experiences!

Flex 3 is coming and also a lots of new books!

Yes, Flex 3 is coming, we don’t know when, but there are pre-release conference around Europe, so I think it will come next few months.
Today I ask to myself: “Which books are coming on Flex 3?!”.
So I go to amazon and I make a search about Flex 3 books.
I find some interesting results, my favouorite are:

I put them in my wish list!

Flex is growing up so much and there is a big interest around this new world, I think that 2008 become Flex & AIR year!
Or almost I try to do that.

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: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" />

Very easy to use and so powerfull API!

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


Ribbit phone contest, don’t miss it!

We are in Xmas time and a new gift made by Ribbit team is under our tree!

Ribbit is name of new project that give us the ability to make and receive calls or messages (and more!) with new API for flex and air projects, so the team announces a new flex and air contest with big prizes like $2.500 (first prize).

In Ribbit site you can find more information about challenge:
Build the best Personal Ribbit Phone Application for either the web (Flex) or Desktop (AIR). Similar to Joe Johnston’s award-winning AIR iPhone (now considered the most downloaded AIR app to date), your personal Ribbit Phone will provide an incredible and creative experience for someone to use and enjoy Ribbit services, primarily making and receiving phone calls. “

Take a look at Ribbit blog and good luck guys! 

Flex, IE7 and HTTPservice

I’m working in a project where my application calls some web services to retrieve data for popolate SpringGraph component (very cool component made by Mark Shepherd).

After extends and change component’s classes, I find a documented issue with HTTPservice and Internet Explorer 7.

In fact you must put server header with no-cache because randomly calls to service don’t work!There is also some comments about this problem in Adobe livedocs (search “ie7” in the page).

So be careful and Flex yourself! 

First images of Zinc 3.0

Zinc 3.0 codename Pandora will be release at Q1 of 2008, but now you can see first images for Macintosh and Windows directly from Jaspal Sohal blog.  You can also try to enter in Candidate BETA program if you are registered in multidmedia.comIn fact they said:“The Public Beta will be a Release Candidate Build with all functionality that will be in the final release. Registered Users will have an opportunity to download the Public Beta and test it over the Holiday period. The Zinc™ 3.0 Public Beta will be available for both Windows and Mac OSX.”

Cryptation algorithm in Actionscript 3

One of my customers ask me to pass some sensible data to server with MD5 algorithm.
So I don’t know what was MD5 algorithm and I start search some news about it… I love wikipedia!

MD5 (Message-Digest algorithm 5) is a cryptation algorithm made by Professor Ronald Rivest in ’90.
In this algorithm you can pass a string to a hash function and it returns a new 128 bit hash value (a new string).

Surfing on web I search how it works to create an AS3 version, but I find some free libraries in riaforge.org that implements
this algorithm and many other!
Very useful if you must pass any important data, so you can take a look at Houser’s AS3 library and Torgemane’s library (I love this one).

For italian developers I also put a little flex example in flex developers UG.


Touch screen and cd-rom with Multidmedia Zinc

One recent project that I produce is a touch screen software, obviusly I made it with Zinc.

So I’d like to share my experience with my blog readers.

First of all, I must say that Zinc has a too bad documentation, a lots of examples don’t work and there are some big bugs.

In my last project I add a routine to download new files from touch screens.
Zinc FTP API works only in Windows, but for this project, all touch screens had OS Win, so no problem.
In this case, I found 3 problems, first of all I can’t download all files togheter because Zinc had some issues to do this operation, so when I download a file, when onComplete event triggered I launch another one.
Probably Zinc didn’t copy all bytes from FTP server to client and it crashed.
So I put a setTimeOut function to call a new file after 1 second and it works!
Finally, using close method of FTP class, FTP session is still opened…so I delete FTP istance and it works! So crazy!

ZINC and Flex
Recently I produce 3 projects with Flex and Zinc…I found a lots of interesting issues.
When you work with Zinc in Flex, you must add SWC library to use Zinc API, so you bring it from 2 folders(one .swc in for Flash and one for Flex, but you could use both in Flex) and there is different way to implements same API with .swc for Flash or for Flex, so take a look of which .swc you could use to work.
Another problem that I found is when you create a transparent application and you have mx:TextInput, if you have focus in textinput component and you try to use keyboard arrows to move cursor, you’ll receive an unknown error!
In Multidmedia forum Peter suggests to me to use callLater function, but it doesn’t work.

So those are some problems that I would share with you, I hope that they are useful for everyone.

learn.adobe.com new Adobe resource?!

Surfing on web, I make a search with google and I find learn.adobe.com, a wiki site where you can find some examples about Flex and Device Central.

The site is in BETA, so I think that propably they’ll release next weeks… I don’t know, it’s first time that I see it.
In home they write:

This site lets you:

Share tips and techniques with other members of the community
Edit and update information from Adobe, including Adobe Help documentation
Rate and comment on content from Adobe and others.

that’s so interesting!