The first public beta of the Flash Player 10 code-named “Astro” is on Adobe Labs. Be sure to check out Pixel Bender (formerly known as Hydra) to create custom filters and effects. When you have installed the beta visit the demo site to get some impressions.
Ryan Stewart and InsideRIA posted nice summaries so far.
Via The Inquisitr I came to Domize an ajax based search engine for domains.
“Domize is a secure, instant domain name search tool. As you type a domain name into the query box we immediately check its availability.”
It comes with an iPhone version and the live search is very fast. When you roll over a reserved domain you get a preview like in the screenshot below. Really good experience!

You want your Image to behave like a Button with a hand-cursor?
Set buttonMode and useHandCursor to “true” and that’s it:
[Bindable] [Embed(source="/path/to/my/image.png")] private var myIcon:Class; private function handleImageClick(event:Event):void { // your click handler code } <mx:Image source="{myIcon}" useHandCursor="true" buttonMode="true" click="handleImageClick(event)" />
Interested in what the Flex team plans for states in Flex? They show what they are planning on the Open Source Wiki. I came across this via the Fatara Systems blog and it is also covered by Ted Patrick and InsideRIA. The inline state syntax looks a lot easier and it is very nice to see how open the Flex team works on the new features.
When you started with a Flex project for the browser and you decide to switch to AIR or vice versa you have to change the Flex Builder project settings.
In the application MXML you have to switch the root node from Application to WindowedApplication
In the .actionScriptProperties you have to change useApolloConfig=”true/false”.
For AIR projects the .project file needs the apollonature meaning <nature>com.adobe.flexbuilder.apollo.apollonature</nature> as the first of the three natures (before flexnature and actionscriptnature). Sometimes I had a refresh problem when I opened the project settings (every entry showed up twice) after editing these files so better close and re-open the project, re-build the project and the switch should be done.
The Macromedia Adobe XML news aggregator which is now called Adobe Feeds is up again under http://feeds.adobe.com.
Thanks to Christian Cantrell and the others involved for all the work and the fast transition to a new server infrastructure! Adoeb Feeds is such a great resource to learn about Adobe Technology especially Flash, Flex, AIR and ColdFusion. I switched a few month ago from Netvibes to Google Reader to read feeds and am really glad about how fast I can consume information. This was a simple move as I only had to export and import the OPML.
- Debug information with the good old “trace” is around since ActionScript 1 and has been heavily used as this was a key for debugging a Flash application. In AS3 trace has lost its importance as Flash Player 9 supports Runtime Exceptions and the Flex Builder debugger supports breakpoints so you can have a look at all variables where and when you want.
Instead of “trace” I recommend to use the logging API of the Flex framework. To have the output also on the Console window add the TraceTarget to your main application MXML:
<mx:TraceTarget fieldSeparator="->" includeCategory="true" includeLevel="true" includeTime="true" />The nice thing you get when you add the TraceTarget is that the internal logs of the Flex framework also show up. If you use for instance HTTPService and load something this shows up in your console:
“[SWF] Users:soenkerohde:Documents:workspace:Example:bin-debug:Example.swf - 191,465 bytes after decompression
19:23:22.843->[INFO]->mx.messaging.Producer->’54A8E65E-90C9-3D70-66F6-BA1BEE5842F9′ producer set destination to ‘DefaultHTTP’.
19:23:22.956->[INFO]->mx.messaging.Channel->’direct_http_channel’ channel endpoint set to http:
19:23:22.960->[INFO]->mx.messaging.Producer->’54A8E65E-90C9-3D70-66F6-BA1BEE5842F9′ producer sending message ‘33FDE4CB-764A-C757-4FC6-BA1BEECFF0A6′
19:23:22.973->[DEBUG]->mx.messaging.Channel->’direct_http_channel’ channel sending message:
(mx.messaging.messages::HTTPRequestMessage)#0
body = (Object)#1
clientId = (null)
contentType = “application/x-www-form-urlencoded”
destination = “DefaultHTTP”
headers = (Object)#2
httpHeaders = (Object)#3
messageId = “33FDE4CB-764A-C757-4FC6-BA1BEECFF0A6″
method = “GET”
recordHeaders = false
timestamp = 0
timeToLive = 0
url = “http://feeds.feedburner.com/soenkerohde?format=xml”
19:23:22.978->[INFO]->mx.messaging.Producer->’54A8E65E-90C9-3D70-66F6-BA1BEE5842F9′ producer connected.
19:23:23.002->[INFO]->mx.messaging.Producer->’54A8E65E-90C9-3D70-66F6-BA1BEE5842F9′ producer acknowledge of ‘33FDE4CB-764A-C757-4FC6-BA1BEECFF0A6′.
19:23:23.006->[INFO]->mx.rpc.http.HTTPService->Decoding HTTPService response
19:23:23.011->[DEBUG]->mx.rpc.http.HTTPService->Processing HTTPService response message:
(mx.messaging.messages::AcknowledgeMessage)#0
body = “… REMOVED THE CONTENT HERE”
clientId = “DirectHTTPChannel0″
correlationId = “33FDE4CB-764A-C757-4FC6-BA1BEECFF0A6″
destination = “”
headers = (Object)#1
messageId = “6AF8650F-3634-FD0D-FF23-BA1BEEFFCDDB”
timestamp = 0
timeToLive = 0″
As you see this a bunch of information and the brackets in front indicate the level of the logging message which are DEBUG and INFO here. If you are not interested in DEBUG logs at all simply change the level in the TraceTarget to LogEventLevel.INFO.
What you need to log on your own is pretty simple. Just add this to every class (MXML/AS) to define your logger constant:
import mx.logging.Log; import mx.logging.ILogger; private static const logger:ILogger = Log.getLogger("MyCategory");
Now you can use the constant like:
logger.info("this is an info message");
which shows up as: 19:51:47.917->[INFO]->MyCategory->this is an info message
Replace “MyCategory” with a category name. I always use the name of the class. In this case an info message is used but there is also debug, warn, error and fatal to represent the kind of your log message.
InsideRIA posted an article about Flex Builder Enhancements. I am already using the TODO/FIXME Plugin by Dirk Eismann for a long time now which works really cool.
I did not know the Snippets plugin which I now also tried out. The usability is not that straight forward but it also does the job.

If you like to import my snippets.xml which includes a for loop and a bindable getter/setter.
Due to my Wordpress update and server change I forgot to update my permalinks settings which are now the same as before the update. This could cause some recent links to my blog to brake but the older once should work again - sorry.
Adobe and Industry Leaders Establish Open Screen Project. Have a look at the new OSP website and listen to CTO Kevin Lynch.
“The Open Screen Project is dedicated to driving consistent rich Internet experiences across televisions, personal computers, mobile devices, and consumer electronics. The Open Screen Project is supported by technology leaders, including Adobe, ARM, Chunghwa Telecom, Cisco, Intel, LG Electronics Inc., Marvell, Motorola, Nokia, NTT DoCoMo, Qualcomm, Samsung Electronics Co., Sony Ericsson, Toshiba and Verizon Wireless, and leading content providers, including BBC, MTV Networks, and NBC Universal, who want to deliver rich Web and video experiences, live and on-demand across a variety of devices.”
Since today the formats SWF 9, FLV and AMF Specs are open and free from license restrictions.
It is all about leveraging Flash and AIR to provide a consistent runtime environment cross-platform and across devices and consumer electronics.
Now is this cool news? I am sure all Flash/Flex/AIR developers open up a beer! I will do now
Some more links:







