First Flash Dallas Meeting!!!

June 11th, 2010

I am pleased to announce that we have a time and a place for the first official Flash Dallas meeting!


June 26, 2010
11:00 AM - 01:00 PM
Google Map




For details about the group click here.

For details about the meeting click here.

I would like to thank IMC2 for hosting our first meeting.

Apple denies apps built on translation, including using Flash CS5

April 11th, 2010

I was reading a friends blog and posted a comment regarding Apple not allowing people to use Flash or other translators to make apps for their devices. I thought I would post that comment here and then move on with my life.

I am, have been, and will continue to be a Flash developer. I also have been an Apple fan boy since I was a kid. I think the thing that bugs me most about this whole situation is that people are trying to equate the lack of Flash on Apple devices as the death of Flash. That’s just ridiculous. Silverlight has never been on Mac devices and will never be on Mac devices, but it continues to grow in usage. So if something like Silverlight is still moving forward, then why would Flash crap out? It won’t. For anyone out there who is worried about Flash going away, the best thing we can do to keep moving it forward is to keep developing with it. If you need something that runs on an iPad or iPhone, develop alternative content for those devices. It is possible to build something for one platform and serve up alternative content for another. We have the technology, it can be done. It might take more time and be more expensive, but it can be done. In fact, that is how it has always been done. There has never been and will never be a universal operating system or browser. So, do what you need to do and work with the technologies you like. Snoogins.

Nice Conversation w/ Kevin Lynch About Flash

February 21st, 2010


Kevin elaborates on his blog >>

AS3 clickTag Example

February 3rd, 2010

I’ve been making a lot of ad banners lately and it looks like we, the online ad industry, are finally starting to use Flash 9 on a regular basis for Flash banners. So, I thought it might be helpful to give an example of how to implement a clickTag in ActionScript 3. Remember that the clickTag code works in concert with the variables being passed in from the HTML container.

Simple AS3 Script:

//Define loader info object (Flash variables from browser)
var flashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;
//Event listener for clickable object
clickBtn.addEventListener(MouseEvent.CLICK,clickHandler);
                       
//function that is called upon click of your object
function clickHandler(e:MouseEvent){
     if(flashVars.clickTag){
          navigateToURL(new URLRequest(flashVars.clickTag),‘_blank’);
     }
}

HTML Container:

<head>
        <meta http-equiv=“Content-type” content=“text/html; charset=iso-8859-1″ />
        <script type=“text/javascript” src=“_js/swfobject/swfobject.js”></script>
        <script type=“text/javascript”>
                var flashvars = {};
                flashvars.clickTag = "http://www.flashinyourface.com";
               
                var params = {};
               
                var attributes = {};

                swfobject.embedSWF("clickTagTest.swf", "myAlternativeContent", "728", "90", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
        </script>
</head>
<body>
        <div id=“page”>
                <div id=“header”></div>
                <div id=“flash”>
                        <div id=“myAlternativeContent”>
                                <a href=“http://www.flashinyourface.com” target=“_blank”><img src=“clickTagTest_def.gif” width=“728″ height=“90″/></a>
                        </div>
                </div>
        </div>
</body>

There are some things to consider when coding for clickTags…

  • 1. While it is typical for a clickTag to be referred to in code as a “clickTag,” not all traffickers use the same notation for a clickTag; some use “clickTag” others use “clicktag” and still others use “ClickTag.”
  • 2. Traffickers also differ on how they refer to the first clickTag if there are multiple clickTags being used; some use “clickTag” others use “clickTag1.” Some even refer to the first clickTag as “clickTag” if there is only one tag and then change the notation for the first clickTag to “clickTag1″ if there are multiple tags.
  • 3. Rich banners, such as expandable banners that are trafficked through a special vendor, often have proprietary methods you have to use for clickTags. You would need to reference their API’s to see what to do.
  • 4. Pop-up blockers sometimes block links called from Flash using “navigateToURL.”

So considering these things, is there anything we need to add to our code? Well, we could write a script that parses through all of the clickTags and makes them lowercase so you can easily check and apply them and not worry about the naming conventions that the trafficker is using. We could also write some code that looks to see if you are running your ad inside of Flash. If so, you can call a default url for the clickTag since you can only reference the actual clickTag via the HTML. Finally, we could check to see if there is an external interface available. If there is one available, we could launch the clickTag by calling a javascript instead of using the “navigateToURL” method inside of Flash. By doing so, we will hopefully avoid a user’s pop-up blocker. All of that code is starting to sound like a class. I happen to know that such a class file will probably be available in the next version of Jason’s book, Creating Flash Advertising. So, for now, let’s just work on something to avoid pop-up blockers.

AS3 clickTag w/ Pop-up Blocker work around

import flash.external.ExternalInterface;
var _defaultURL:String = ‘http://www.flashinyourface.com’;
var _extInterfaceAvailable:Boolean;
var _playerType:String = Capabilities.playerType.toLowerCase(); // check for local testing

//Define loader info object (Flash variables from browser)
var flashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;
//Event listener for clickable object
clickBtn.addEventListener(MouseEvent.CLICK,clickHandler);

//check to see if you are running in a browser and if ExternalInterface is available
if(_playerType==“activex” || _playerType==“plugin”){
        _extInterfaceAvailable = ExternalInterface.available;
}else{
        _extInterfaceAvailable = false;
}
                       
//function that is called upon click of your object               
function clickHandler(e:MouseEvent){
     //if running in a browser and External Interface is available, call clickTag via javascript,
     if (_extInterfaceAvailable) {
          if(flashVars.clickTag){
               ExternalInterface.call(‘window.open’,flashVars.clickTag,‘_blank’);
          }
     }else{
          //if testing in Flash this will call the default URL
          if(_defaultURL){
               navigateToURL(new URLRequest(_defaultURL),‘_blank’);
          }
     }
}

Obviously this might not be exactly how you want to layout the code, but it should give you a good idea of what your options are and how they work.

zip file iconDownload Example w/ Source Code >>

SNOOGINS.

TexFlex 09 Spark Skinning Presentation Files

February 3rd, 2010

The files from our TexFlex presentation on Spark Skinning are available for download on Fincanon’s site. Again, I would like to say thanks to everyone that attended TexFlex and to those who were kind enough to come spend an hour with Jason and myself.

Spark Skinning Presentation Files >>