Adobe to open-source Flex

FlexLogo Adobe announces plans to open-source Flex under the Mozilla Public License (MPL). Developers will soon be able to freely download, extend, and contribute to the source code for the Flex SDK, including the Flex compiler, command-line debugger, and application framework.
You can find more info on Adobe Labs

Flex Component Kit for Flash CS3

The Flex Component Kit for Flash CS3 allows you to create interactive, animated content in Flash, and use it in Flex as a Flex component.
Use the Flex Component Kit when you want to use interactive or animated Flash content in Flex. The Flex Component Kit converts your Flash content into Flex components. These components work with Flex features such as view states and transitions, skinning, and tool tips. The content can be used as a child of a Flex container, or as a skin for any Flex component.

Check it out here:
Flex Component Kit for Flash CS3

Apollo Cheat Sheets Released

Sean Moore has released 3 Apollo cheatsheets So if you’re a developer starting with Apollo, these are very usefull. All of the new Apollo Classes are on the sheets. Be sure to check the Blog to see all the cheatsheets. Keep up the good work Sean.

Apollo Cheatsheets

Here are the links:

Apollo mx.controls & mx.core Cheatsheet

Apollo flash.display & flash.events Cheatsheet

Apollo flash.filesystem, flash.html & flash.system Cheatsheet

Adobe Media Player Announced


This video comes from the Web 2.0 Expo where Kevin Lynch was presenting found on Daniel Dura’s weblog

Adobe is going to release a DRM solution for Flash Video via Adobe Media Player.(one of Adobe firs Apollo Apps) This player was anounced at NAB and with it the consumers will be able to play FLV content right in their desktop ( Mac and Win System Linux support will follow ) and the publishers of the content will have the option to restrict the content in various forms its suppose to have a Beta Version in the summer some of its features will be:

– Double click an FLV file to play it inside the Media Player, including HD footage, and do so cross platform.
– Stream, download and manage FLV content, watch it offline.
– Create Playlists.
– Automatically download your favourite shows.
– Protect FLV content both in downloadable and streaming format.
– Track your content.

Yummy can’t wait to have my hands on this baby.

SWFGEEK Blog on Technorati

Technorati Blog Search Engine

I just subscribed this weblog to Technorati, Its a very good Internet search engine for searching blogs and they have The Technorati Developer Program that helps you integrate Technorati data directly into you apps. They have the SDK, some example scripts, a mailing list, and other helpful resources to assist in development process. When I get some free time I’m going to start playing with the Development side of it.

A new update on the Flash Player 9

Adobe have released an update to Flash Player 9, the Flash Player 9.0.45.0 is out and fixes some bugs that could affect content created with Flash CS3 Professional.That lead me to think that it’s the first time that a Flash Authoring Tool will come after its corresponding SWF Player release wish in my personal thinking it’s good because there’s already a good acceptance number (Flash Player 9 at 83.4% in the March 2007 penetration study) on the player, that means less”You have to update Your Flash Player for the content we made” when the Adobe Flash CS3 comes out. Emmy Huang, Group Product Manager for the Flash Player team, has a blog post that goes over the update in detail.

Kelvin Luck’s Flasher

flashrTest

Yesterday my wife asked me if I could somehow display her flickr archives on her personal website. And to be quite frank I had been playing with the flickr API but never gave me the time to make something real out of it, so I started googling around and found out this great Actionscript 2.0 wrapper called Flashr by Kelvin Luck that makes it easy to develop Flash applications to display and interact with photos on flickr.com.

So this is a very simple example (based on an tutorial of the version 0.4 of Flashr and I updated it to work with the current version (0.5)) of what can be done with Flashr but I plan to add more functionality and eyecandy to it (I’ll upload the result of that).

I almost forgot here’s the script that make this work:

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import com.kelvinluck.flashr.core.Flashr;
import com.kelvinluck.flashr.core.Photo;
import com.kelvinluck.flashr.core.Photoset;
import com.kelvinluck.flashr.core.Person;
import com.kelvinluck.flashr.core.FlashrResponse;
import com.kelvinluck.util.LogWrapper;
import com.dynamicflash.utils.Delegate;
 
class com.cecymeade.UserRecentPhotos {
var xMax:Number = 214;
var yMax:Number = 214;
var xTemp:Number;
var yTemp:Number;
var apiKey:String = "Your Flickr API key here";
var userNsid:String = "90349680@N00";
var _target:MovieClip;
 
function UserRecentPhotos(target:MovieClip) {
Stage.scaleMode = "noScale";
LogWrapper.getInstance().init();
LogWrapper.getInstance().addTracePublisher();
_target = target;
var _flashr:Flashr = Flashr.getFlashr();
_flashr.apiKey = apiKey;
var _flashrResponse:FlashrResponse = new FlashrResponse();
_flashrResponse.setSuppressOutput(true);
_flashrResponse.onPeopleGetPublicPhotos = Delegate.create(this, onPeopleGetPublicPhotos);
_flashr.peopleGetPublicPhotos(userNsid, null, 16, 1);
}
 
function onPeopleGetPublicPhotos(p:Person):Void {
var photosArray:Array = p.getPhotos();
var userNsid:String = p.nsid;
for (var i:Number = 0; i
var thisPhoto:Photo = Photo(photosArray[i]);
var mc:MovieClip = _target.createEmptyMovieClip("photo"+i, i);
mc._x = 1+(i%4)*76;
mc._y = 1+Math.floor(i/4)*76;
mc.createEmptyMovieClip("jpgHolder", 1);
mc.jpgHolder.loadMovie(thisPhoto.thumbnailUrl);
mc.xMax = xMax;
mc.yMax = yMax;
var freeDepth = (_root.getNextHighestDepth());
mc.onRollOver = function() {
xTemp = this._x;
yTemp = this._y;
this._x = Math.min(xTemp, xMax);
this._y = Math.min(yTemp, yMax);
this.swapDepths(freeDepth);
this._xscale = this._yscale=120;
};
mc.onRollOut = function() {
this._x = xTemp;
this._y = yTemp;
this._xscale = this._yscale=100;
};
mc.photo = thisPhoto;
mc.onPress = function() {
getURL(this["photo"].photoPageUrl, "_blank");
};
}
}
 
public static function main():Void {
var u:UserRecentPhotos = new UserRecentPhotos(_root);
}
 
public function toString():String {
return "[com.cecymeade.UserRecentPhotos]";
}
 
}

[snippet=6312]