HBOGO in beta

Tags: , , , ,

HBOGO is HBO's ascent into syndicated online content. I spent 6+ months on this project, and after a healthy amount of work it has gone into beta and is looking beautifully. Please go give it a look.
Also check out a great friend and colleague who also worked on this site here






Flex List : ItemsChangedEffect - animation effects when adding and removing items in a list

Tags: , ,

Have you ever wanted the adding adding and removing of items to a list in flex to be more graceful, flashy, and interesting. There is an option, and it's really a great effect. List instances have itemsChangeEffect baked in. You use an instance of DefaultListEffect for this, and make sure you have variableRowHeights set to true, or you wont get the full effect of the animation. This has been around for a while, but I rarely see it used. You can see here - even with a list with 3000 instances

Here is the test application

Here is the source

Debugging Parsley Messaging Errors

Tags: , , ,

When first starting to use Parsley the black-magic that is happening behind the scenes may confound some people.
Parsley purposely swallows runtime errors in order to not disrupts its messaging flow. You may see something like

 
DefaultMessageProcessor Message Target threw Error
 

The author of Parsley Jens Halm explains his reasoning behind this in this thread on the spicefactory forums

In larger application where Parsley messaging are kicking off complicated routines - the lack of detail that Parsley logs when swallowing errors can be prohibitive in finding the source of the Error - and if you don't know to look at your console the Errors will be effectively failing silently.

In Parsley 2.1 Jens introduced the [MessageError] metadata. This can be applied globally to all Errors that happen during the flow of a Parsley message or on a selector basis.

In our application we recently implemented a way through this new hook to catch and throw these errors - giving you valuable stack trace information - ultimately revealing the source of your Error. This makes it much easier to track down the source

 
package
{
        import org.spicefactory.parsley.core.messaging.MessageProcessor;
 
        public class ParsleyErrorBroker
        {
	    [MessageError]
	    public function handleError (processor:MessageProcessor, error:Error):void {
                throw error;
            }
        }
    }
}
 

After writing this class you have to add the following to your compiler arguments

 
-keep-as3-metadata=MessageError
 

Add this class to your Parsley Context - and you're set- after that all Errors will be routed to this class and thrown.

If you have any questions feel free to post below

Session videos posted for Adobe Max 2008

Tags: , ,

See them HERE