Flash Player 10 beta on Adobe Labs
Thursday 15 May 2008 @ 10:50 am

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.

Comments (0) - Posted in Flash, General by Sönke  




Domize Domain Search
Friday 9 May 2008 @ 6:58 pm

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!

Domize

Comments (1) - Posted in General by Sönke  




Flex Image control as Button
Thursday 8 May 2008 @ 6:15 pm

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)" />
Comments (2) - Posted in Flex by Sönke  




Flex 4 inline states
Tuesday 6 May 2008 @ 8:06 pm

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.

Comments (0) - Posted in Flex by Sönke  




Change project from Flex to AIR
Tuesday 6 May 2008 @ 6:03 pm

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.

Comments (0) - Posted in AIR, Eclipse, Flex by Sönke  




MXNA aka Adobe Feeds is up again
Tuesday 6 May 2008 @ 1:57 pm

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.

Comments (0) - Posted in General by Sönke  




Stop tracing and start logging
Monday 5 May 2008 @ 7:55 pm
    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.

    Comments (3) - Posted in Flex by Sönke  




    Pimp your Flex Builder
    Friday 2 May 2008 @ 5:59 pm

    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.

    Snippeds View

    If you like to import my snippets.xml which includes a for loop and a bindable getter/setter.

    Comments (1) - Posted in Eclipse, Flex by Sönke  




    My permalinks changed
    Friday 2 May 2008 @ 1:11 am

    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.

    Comments (0) - Posted in General by Sönke  




    Adobe Open Screen Project
    Friday 2 May 2008 @ 12:40 am

    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:

    Comments (3) - Posted in AIR, Flash, General by Sönke