Skip to main content

Still Life

Still Life

A remake of Antonio de Pereda’s piece of art, I used crayon colors on paper [50×35 cm]
This was long time ago, it reminds me of my first year living in Cairo/Egypt ..
Each time I take a look at this the same question hunts my head, should I take care of illustration instead of interactive development ?! or my mind just play tricks on me ?!

Golden Egypt Web Award

It has been 2 years now since I have joined AROMA Designs & Solutions, and I am proud to be the founder of a new Application Development Department which known as AROMA Systems ..

The Department is absolutely new to our world, it needs too much effort in order to evolve, but still, the very initial projects was nominated to Egypt Web Awards ..

Last Saturday I was invited to the Egypt Web Awards ceremony, and gladly we received 2 winning awards, a Golden award for graphicaroma.com in Advertising and Production category, and a Silver award for aromacreatives.com in Art and Design category ..

The beautiful part that the Golden website was my first project for the company, and was the key project for building a whole new department, it was the best event in my career so far ..

EncryptedLocalStore and AIR 1.5

I had my older AIR 1.1 application which uses encrypted local store data for saving specific settings per user, today when the AIR runtime gets updated to version 1.5 my application turned to a total mess!
I’m using various classes in my simple application that might cause this issue as far as I thought, like loading CSS on runtime or loading conditional states and components depending on certain parameters retrieved at login ..
I spent a few hours hunting down what actually happened and at last I think I figured it out ..
The new AIR has 3 new features, encrypted local databases, Flash Player 10 capabilities and the new WebKit update, it seems that Adobe somehow has made a change regarding to how the AIR runtime read and write the encrypted local data, and a simple try and catch block of code just revealed the problem ..

The following example assumes that there is encrypted data stored using an older version of the application complied using AIR 1.1, and the application checks for a certain key for loading the perspective CSS file, since the new runtime may not able to read the older version of the encrypted data then it should throw an error, at this point I reset any previous saved data and load a default CSS file in order to bypass this issue when any client update to AIR 1.5

var skinBytes:ByteArray;
var styleEvent:IEventDispatcher;
try {
	skinBytes =  EncryptedLocalStore.getItem("skin");
	if (skinBytes != null) {
		styleEvent= StyleManager.loadStyleDeclarations("css/"+skinBytes.readUTFBytes(skinBytes.length)+".swf");
	} else {
		styleEvent = StyleManager.loadStyleDeclarations("css/black.swf");
	}
} catch(e:Error) {
	//Alert.show(e.message);
	EncryptedLocalStore.reset();
	styleEvent = StyleManager.loadStyleDeclarations("css/black.swf");
}

Well, this is not an intelligent solution at all, cause these saved data my be much more complicated and I should not force my user to have it all wiped out just for upgrading the runtime!
Anyway, I’m not sure if my conclusion about the encryption handling change between AIR 1.1 and 1.5, especially that Adobe didn’t mention anything regarding to this particular issue as fas as I know, but I thought that may be this help someone else experiencing the same problem when migrating his application to the new AIR runtime.

Adobe AIR 1.1 for Linux

Yesterday I was trying to install the new beta version of Adobe AIR 1.1 for Linux ..
At first the installation didn’t work for me, it says:

    An error occurred while installing Adobe AIR. Installation may not be allowed by your administrator. Please contact your administrator.

After contacting Adobe Support they thankfully put me on the right track with the following steps:

  1. If you don’t have the Alpha version of AIR runtime, skip to step 4.
  2. Uninstall the Alpha version of AIR runtime:
      $ sudo dpkg -r adobeair-enu
      $ sudo rm -rf $HOME/.adobe/AIR /root/.adobe/AIR /opt/Adobe\ AIR /tmp/FlashTmp*
  3. Uninstall all the AIR applications that were installed using the Alpha release using dpkg, or simply just use click the air package for each and choose Uninstall.
  4. now you can install the Beta version of AIR runtime:
      $ chmod +x adobeair_linux_b1_091508.bin
      $ ./adobeair_linux_b1_091508.bin

Note: if you get the following message:

    The application could not be installed because the AIR file is damaged. Try obtaining a new AIR file from the application author.

That means you did not uninstall all the AIR applications that were installed using the Alpha release.

Flash Media Encoding Server

There’s so much to tell about how media files can be manipulated in web applications, especially when we talk about large amount of video files compared to quality displayed ..

A web application will use certain file formats depending on which technology is used to render videos at front-end and/or back-end streaming server [if there’s any]

Since Flash Platform is the best environment for such processes, it was difficult to prepare videos before using them on the web, developers had to have videos encoded from their original formats to FLV in order to use with Flash Player and Flash Media Server, then Adobe added the support for H.264/AAC since the release of Flash Player 9.0.0.115, that was wonderful feature but still we face the same old problem with encoding videos ..

According to my experience, the best practice to make this encoding process easier is to use FFMPEG in conjunction with PHP as a back-end server service, such procedure requires installing FFMPEG along with all its required libraries, after all a developer can use PHP to dynamically encode uploaded videos with FFMPEG and save the final FLV videos on server, plus other features like extracting image frames from videos ..
this article describes how to install FFMPEG on Centos 5

Yet this operation doesn’t give a perfect result regarding to quality and performance, but ..
It seems like there is a better solution is waiting to be unleashed ..

Adobe has announced the upcoming release of Flash Media Encoding Server on fall 2008 ..
you should read the features, quite amazing ..
Just think about the possibilities here ..