Need Your LOLCat fix? Go D/L it from the AIR Marketplace.

My LOLCats viewer built in AIR is now available at the Adobe AIR MarketPlace. Check it out. Oh Hai, You Can Haz LOLCats From Da AIR.

Flex Developer’s Journal Plays “Find the Content”

Was doing some Googling for Flex tips on how to do something (what it was now, I don’t really recall)… Something about tooltip styling, placement etc for components… Anyway, cames across a link to what seemed like a useful article at a reputable sounding site, “Flex Developers Journal“. Problem was, I couldn’t find it. Everything was covered in or by ads… 3 Video ads (one of which autoplayed audio), A coupleGoogle boxes, a popover interstitial and some other “advertorial” type content. Ugh. No thanks. Didn’t even stick around for the article. On top of it, they set 8 cookies in my browser for this one page. 8! Take a look at this screenshot (click to enlarge)My God, It‚Äôs Full of Ads!

I’minlikewithyou.com: An amazing example of great Flash/Flex UI

I don’t have a lot of time on my hands these days to visit this site, but if you are looking for a great way to blow an afternoon or three and see some fantastic Flash/Flex UI work, go visit Iminlikewithyou.com. It’s pretty freakin’ fabulous. Great design, silky smooth animations and tranistions, quick loading, unique social networking tools and of course, the unforgetable Blockles. (It uses SWFAddress and some other great modern Flex/Flash techniques, too… It’s really really nice). Think of it as a snarky multi-player Tetris clone and you’ve got it. Absolutely brilliant. It’s the brainchild of Charles Forman, aka SetPixel. He’s a great designer/developer I had the privilege of working with as a freelancer at the now defunct iToons, a Chicago based game design and dev studio, and a fun fun place to hang out and work, I might add. A shout out to all the gusy there, Davers, Norm, Kevin, Tony, Juan and JonK to name a few. Ahh good times… but enough reminiscing… go play some Blockles.

New Designer Spotlight on Kuler: It’s Me!

Got notification that I was added as the most recent designer spotlight at Kuler! Very cool indeed. Many thanks to the Kuler team for building such a cool site (I love the new features added recently – create a theme based on a photo, so cool!) and thanks to Stacy Williams for putting the profile together.

Take a look:
My Kuler Profile!

New Degrafa/ColourLovers Mashup: DekafLovers

I got a communication from Darius at ColourLovers that they were starting up an API for their fantastic site ColourLovers. He wanted some examples of what people could do with the API, and since I had done some work with color APIs before, specifically, Kuler, he wanted to know if I was interested. Of course I was, and so, DekafLovers was made. A simple interface to ColourLovers deep deep palette library (significantly larger than Kuler’s, actually), it creates randomized compositions using rectangular geometry drawn by the Degrafa drawing library. A variation on the Kuler powered, Dekaf, this only took a couple hours to port over in Flex and test. Darius was really cool about it and got a crossdomain file set up for other Flash/Flex developers, to make mashups, etc with, so go to town… All in all a lot of fun, and I really want to build something else with the api, perhaps using the patterns also resident at ColourLovers. So without further delay… Here is Dekaf Lovers.

Overheard at a MS developer blog… “Why Silverlight is Nailing Flex”

TheWayIThink and sebastien-arbogast.com have been going at a little blog fight back and forth on the state of the battle between Flex and Silverlight. I wouldn’t be willing to speculate on who is winning, but I do know this… all this attention on RIAs from both Adobe and MS is good for business on both sides of the developer camp.

I also do know that my post “Why Microsoft Silverlight Will Fail” is still #1 on Google when you search for “Silverlight IDE” (There are some great comments on that thread, BTW). Not sure if that’s related, but it does speak volumes about the development landscape for Silverlight. You have VisualStudio and that’s about it.

TheWayIThink does certainly seem to be a MS biased blog (kinda like how I lean towards Adobe tools, here, I suppose), but his post on “Why am I so IphonePhobic? made me nearly spit out my coffee. That was a good laugh.

Anyway… Sebastien’s post on what makes a good RIA is a pretty insightful list of things to keep in mind. I do suggest reading it. It does seem that based on thsoe criteria that Flex is currently leading in maturity/features, but with MS’s recent MIX08, Silverlight does look to be coming on strong. Overall this sort of discussion means little to the audience’s that consume the apps we produce, but certainly illustrate that devs are passionate about what they build.

I am watching this space closely. I think 2008 will be shape up to be a very interesting year for all developers and tool vendors. Flex 3 is ready, and Silverlight 2 and Flash Player 10 are just around the corner, AIR and Google Gears, Mozilla Offline, Silverlight Offline… wow. Lots of new tools.

So, is “Silverlight nailing Flex”? Doubtful… But I’m not ready to claim any sort of victory by Flex either. Unlike a VHS/Beta or HD-DVD/Blu-Ray battle there isn’t a loser on the consumer end by drawing out the battle due to incorrect purchases, etc. Granted, the developers need to allocate more training hours to familiarize themselves with the new tech, but if you are really into this stuff, like I’m sure most of you view this stuff as playing with new toys. Speaking of toys… I gotta go play some Smash Bros.

Presentation Notes: Intro to Flex

I gave a presentation at Bradley where I introduced Flex to a group of students. Many thanks to Suzanne Nguyen at Adobe for the freebies and giveaways for the event. I gave away a copy of “Programming Flex 2″ and several copies of the DVD training for Flex from Total Training. The Jelly YoYos were a It went really well and they seemed interested in downloading the educational version of Flex. I have actually about 4-5 student ask me questions about Flex in the days after the presentation. In the group of about 20 students nearly 3/4 of them said they would be interested in taking a RIA focused class where Flex, AJAX and Silverlight would be taught. Very cool indeed! You can download the PDF of the slides here.Flex Presentation.

My Favorite Thing About Flash Moving To an XML Format (XFL)? Let Me Count the Ways….

Though not 100% official, John Nack recently blogged that according to Colin Moock, the next gen of the FLA file may actually not be the binary blob that we have all come to know and love/loathe. How many of you have had a FLA take a dump and end up unusable, corrupt or somehow otherwise messed up beyond repair? I’m sure a few of you know what I am talking about. Beyond this reason, an editable, XML based file certainly has some advantages. Let’s bluesky here… what am I excited about with this?

  • Speed up repetitive timeline operations – Blam. You have a pile of similiar actions/keyframes you need to pound out? Don’t want to write the AS to Tween or do something else via code? Need to share the file with animators later that don’t likey the codey? Why not fire up Flex’s editor and regex till your hearts desire and rework or add to that XML file with a few surgical search and replaces. Might actually get me to use Flex less often for some things, especially if Flash added a “Markup View” where you could directly edit the XML in Flash’s IDE.
  • Share/reuse parts of files - Client Logos, Nav bars, commonly used assets, etc… I could see having a few snippets of XML in my “frequently used bits” folder that get copied/pasted into new Flash files on project starts.
  • Proper versioning support – Subversion doesn’t properly support binary file formats, so running diffs on two FLA files just doesn’t have the same effect that you get with AS or MXML files. A non-binary file format solves this neatly. Now, since XFL looks to be some sort of ZIP file, etc… there could be some diceyness here, but ooh lala, my IT guy is liking this, I can tell.
  • Authoring with a ton of different apps - Don’t like the Flash IDE? Make your own. Use Visual Studio, Eclipse… write one with Actionscript. After all, if you are simply editing/writing XML, why not?
  • Replacing assets sound like a snap – Yes, you can use Flash’s library pallette and run one by one updates/linkage adjustments, etc… But if you can simply drag files into a XFL archive and reopen that file in Flash to see all your assets updated, I say let’s do it! Sounds way way faster!

I’m sure I could spend a few more minutes and come up with a half dozen more reasons, but enough… what are you thinking? Do you see the possibilities? What’s on your mind about this development/news?

How To: Apply a Painterly Effect to a Loaded Image.

So, painterly might be a stretch, I realize this… It’s kind of pointilistic, though, maybe, or something… Take a look. Feel free to use the ActionScript after the image…

Sophia Circles.

You can also download the FLA file here. You’ll need to also download Zeh Fernando’s Tweener. Take a look at the somewhat animated Flash file here.


import flash.display.Bitmap;
import caurina.transitions.*;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.Shape;
import flash.events.*;
import flash.net.URLRequest;
 
var url:String = "yourImagehere.jpg";
var size:uint = 80;
 
function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}
 
function loadClip():void {
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    var request:URLRequest = new URLRequest(url);
    loader.load(request);
    addChild(loader);
}
 
function completeHandler(event:Event):void {
 var image:Bitmap = Bitmap(event.target.content);
 for(var i:Number=0;i<5000;i++) {
 	var currX:Number = randRange(0, event.target.width);
 	var currY:Number = randRange(0, event.target.height);
 	var currColor:uint = uint(image.bitmapData.getPixel(currX,currY));
 	var child:Shape = new Shape();
    	var halfSize:uint = Math.round(size / 2);
    	child.graphics.beginFill(currColor,0);
   	child.graphics.lineStyle(randRange(0,5), currColor, Math.random());
    	child.graphics.drawCircle(currX, currY, randRange(3,8));
    	child.graphics.endFill();
 	child.alpha = 0;
    	addChild(child);
 	Tweener.addTween(child, {alpha:Math.random(), time:randRange(1,2), delay:randRange(1,5)});
 }
}
 
function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
}
 
loadClip();

So, We Had a Squirrel In Our House. You Heard Me. A Squirrel.

Last Thursday I got a call from Renee telling me I needed to come home. A squirrel was in the house. This little story here, pretty much sums it up…

PEORIA JOURNAL STAR (AP) – 07 Mar 2008. A homeless individual, I. M. (Fuzzy) Squirrel was abruptly thrust from a West Peoria home where he had sought refuge from the cold winter elements. Fuzzy stated that he was just looking to find a quiet, warm place to spend a few hours, due to the severity of this winter. He stated that he just wanted a reprieve from the cold. When he entered the West Peoria home he was met with shrieks and screams from the residents. The residents of the home then proceeded to chase him through the home and even enlisted the aid of some strong arm individual from the Animal Control Department.
An obviously shaken Fuzzy stated that he was attacked by the Animal Control employee with some type of a grasping fork weapon that he said totally frightened him. Fuzzy is sure that he will have nightmares about that implement. Fuzzy stated that he has already been approached by attorneys from the ACLU and SPCA that want to plead his case and get reparation for the mental anguish and physical abuse he suffered.
Offers to house Fuzzy are pouring in. It is thought that he will have adequate shelter from the elements. Fuzzy said that his faith in people has been reborn due to all of the kindness that he has been shown. The residents of that West Peoria home and the Animal Control Department have refused to comment due to the possible litigation that will surely follow.

Page 1 of 212