Last Friday we had the first usergroup meeting in the Adobe Office. This was the first larger organized meeting and I think a great success. Jens managed to invite Cliff Hall, the man behind PureMVC.
“PureMVC is a lightweight framework for creating applications based upon the classic Model-View-Controller design meta-pattern.”
Cliff did an awesome job explaining MVC and his approach with PureMVC in a very understandable way.
PureMVC does not only want to be an AS3/Flex framework but is ported to many different platforms like AS2, AS3, C#, ColdFusion, Java, Perl, PHP, Python and Ruby.
So the goal behind is that when you e.g. develop an app in AS3 with PureMVC it should not be that great effort to port this to e.g. C# or Ruby. The price you pay is that you don’t use platform specific features. In Flex for instance there is the data binding feature which PureMVC does not use at all. Instead it works with notifications which also would work in let’s say Java or Perl.
I have not used PureMVC for any project yet and am still satisfied using Cairngorm as the microarchitecture for my Flex projects. However, Cliff made me so curious that I will try PureMVC for my next playground project to get a deeper look into the framework.
Jens also registered the new domain flexughh.de for the Hamburg usergroup.
Here you find the slides of the presentations of Cliff and Jens.
On the PureMVC AS3 site you can also find utility classes like e.g. the Desktop Citizen for AIR which manages remembering the size, position and state of an AIR window like other desktop apps do.
Today Adobe released the first public alpha of AIR running on Linux. If you develop for AIR this is great news. Nothing changes from the development perspective but Linux users will be able to use AIR software. Anyway, this first release is not feature complete yet but a great move so short after the release of AIR 1.0 for Windows and OSX about a month ago. Check the CNET article “Adobe brings AIR to Linux, joins Linux Foundation” and Ted Patrick posted a few weeks ago his definition of crossplatform.
Sometimes you want that there is only one instance of your flex app open on a client computer.
You can simply check if there is already an instance open if you connect the app with LocalConnection because only one connection is allowed. If you wrap this in a try and catch block you can handle the user feedback like:
private static const LC_NAME:String = "my_lc_name"; private var lc:LocalConnection; private function init():void { lc = new LocalConnection(); try { lc.connect(LC_NAME); // jump to the state which shows your first screen currentState = "welcome"; } // throws ArgumentError: Error #2082: Connect failed because // the object is already connected. catch(error:ArgumentError) { // jump to the state where you show your user that only one instance is possible currentState = "doubleInstance"; } }
This works also if a user tries to open the app in e.g. Firefox and Internet Explorer.
Yesterday Photoshop Express went into public beta.
Check the press release or various reviews. As mentioned in the TechCrunch review there are many others in online photo editing like Picnik but also Photoshop Express comes with social networking features as you may edit your photos hosted on Facebook, Photobucket, Picasa and soon Flickr.
Photoshop express is no strip down of the desktop tool but more about correcting your photos and sharing them with the world. I like the “Pop Color” tool where you can select a color and replace it with another with very cool results like here:

The photo above shows the “Fischauktionshalle” (english: fish auctions hall) in Hamburg when the water is higher than normal what normally happens a few times a year.







