Adobe Max 2009 Anouncement – Flash Player 10.1

Flash Player 10.1 is now available which gives mobile phones users the ability to run the full version of Flash on a mobile device.  This release has a tremendous amount of features and developments.  As you can see in this graphic from Kevin Lynch’s presentation Flash Player 10.1 is now:

  • Smartphone enabled
  • Multitouch capable
  • Accelerometer capable
  • Hardware accelerated
  • HTTP video streaming capable
  • Contains content protection
  • Has Peer assisted networking (social network integration)
Flash Player 10.1

Flash Player 10.1

Flash Player 10.1 also has significant performance enhancements as you can see in the graph below.

Flash Player 10.1 Performance Improvements

Flash Player 10.1 Performance Improvements

Talk about Happy Flashing!!!!

Flash for Android

So it seems that Android has jumped ahead of iPhone again and the launch of Flash Player 10 will be released in October during the Adobe Max confernce.  Flash for Android is a big step for the mobile industry.  Besides running the SkyFire browser on Windows Mobile and Symbian phones this is the first major release to allow Flash 10 content on mobile.  Leave it to Google to be the first to run Flash Player 10 on mobile devices.  Google seems to really have embraced Flash.

Check out the full article at www.tmonews.com

Flash Player 10 will be available on Android

Flash Player 10 will be available on Android

AS3 Error #1126: Function does not have a body.

ActionScript Error 1126: Function does not have a body.

ActionScript Error 1126 Description:

I got this error from one of my UVU students code.  And as promised in honor of her I am thusly naming AS3 Error 1126 the Erin Johnson Error.  This error is given, in this case, because a semicolon is used instead of a colon after the parenthesis.  A semicolon in the ActionScript language is equivalent to a period in the English Language which means that if Flash sees the semicolon it says to the compiler finish this line of code and move on. The colon on hte other hand is used to say what Type something is or in the examples below what “Type” of data will be returned when the function is called. In the example below we don’t want to return a type so we use :void (notice the colon). This should help solve AS3 Error 1126.

 

Flex / Flash Error #1126 Fix:
Replace the semicolon with a colon.

Bad Code 1:

function someFunc(event:MouseEvent);void
{
doSomething();
}

Good Code 1:

function someFunc(event:MouseEvent):void
{
doSomething();
}

Related Errors:

ActionScript Error 1084: Syntax error: expecting colon before leftparen. This error is a psuedo error in this case because once AS3 Error 1126 is reslved this error will also disappear.

This should help you resolve Flex / Flash Error #1126

Thanks and as always Happy Flashing

Curtis J. Morley

Speaking at FITC Amsterdam

Flooglytics = Flash + Google Analytics
I am excited to say that I will be speaking in Amsterdam in February at FITC AmsterdamFITC has always been one of the leading Flash conferences and happening around the globe.  This will be the full length version that goes more in-depth into techniques and case studies.

What:

Flash and Google Analytics = FLOOGLYTICS
Flash has always been considered the ugly step sister in the world of SEO and Analytics. Well now Flash takes “Center Stage”. Using Google Analytics data can be extracted from Flash that could never be pulled from HTML. This session will explore the ins-and-outs of how to setup Google Analytics to work most effectively with your Flash files and how to set up Flash to work most effectively with your Google Analytics account. Go beyond just seeing what users did. See what users meant to do or even wanted to do but didn’t. The most important part of the equation is how to refine this gold that Flash and Google Analytics provide. Walk away from this session armed with the tools you need to implement Floogylitics and make your site effective. Combine this session with the MAX session announcing the new developments at Google Analytics and you will be miles ahead of the competition.

Where: FITC Amsterdam

When: Feb 22-24, 2009

Links:

Curtis Morley Speaker Bio at FITC Amsterdam
Flooglytics – Flash and Google Analytics Summary

So sign up for and I will see you in the The Netherlands.

Happy Flashing,

Curtis J. Morley

ActionScript Security Error 2060: Security sandbox violation

ActionScript Security Error 2060: Security sandbox violation: ExternalInterface caller
file:///C:/Curtism/ExternalInterface_GA.swf
cannot access
file:///C:/Curtism/ExternalInterface_GA.html

Description:This error pops up when you are testing or deploying a web page that uses ExternalInterface to call a Javasacript function on the containing HTML page.  You may see this error when using Flooglytics (Flash and Google Analytics) or whenAjax is used in conjunction with Flash.  It basically means that what you are doing is not allowed with the way you have embedded your swf.  It is a really simple solution to fix this ActionScript Security Error

Flex / Flash Security Error #2060 Fix:
In the HTML make sure that the parameter ‘allowscriptaccess’ is set to ‘always’ rather than ‘sameDomain’ or ‘never’ in all cases.  Do a search in your HTML for allscriptaccess and change all references.  Usually there is two places to cahnge this.

Bad HTML Code using swfObject 2.0:

so.addParam('allowscriptaccess', 'sameDomain');

Good HTML Code using swfObject 2.0:

so.addParam('allowscriptaccess', 'always');

————————————————-

Bad HTML Code using AC_FL_RunContent:

‘allowScriptAccess’,‘sameDomain’,

Good HTML Code using AC_FL_RunContent:

‘allowScriptAccess’,‘always’,

————————————————-

Bad HTML Code using embed tag:

allowscriptaccess="sameDomain"

Good HTML Code using embed tag:

allowscriptaccess="always"

————————————————-

Bad HTML Object tag:

<param name=”allowScriptAccess” value=“sameDomain” />

Good HTML Object tag:

<param name=”allowScriptAccess” value=“always” />

————————————————-

This should help you resolve ActionScript Securtiy Error #2060

Thanks and as always Happy Flashing

Curtis J. Morley

ActionScript Error 1184: Incompatible default value of type int where String is expected.

ActionScript Error 1184: Incompatible default value of type int where String is expected.

ActionScript Error 1184 Description:
This error is quite simple.  It just says that you have the wrong type of data in your parameter initializer.  Or in other words you tried to assign a string where you typed the parameter as a uint.

Flex / Flash Error #1184 Fix:
Match the parameter type to the proper data type.

Bad Code 1:

bob(someValue:uint = “Happy”)
{
trace(someValue);//error 1184
}

Good Code 1:

bob(someValue:uint = 5)
{
trace(someValue);//output 5
}

Related Errors:

AS3 Error 1047

This should help you resolve Flex / Flash Error #1184

Thanks and as always Happy Flashing

Curtis J. Morley

ActionScript Error 1047: Parameter initializer unknown or is not a compile-time constant.

ActionScript Error 1047: Parameter initializer unknown or is not a compile-time constant.ActionScript Error 1047

Description:
Let’s break down ActionScript Error 1047 into it’s various parts.

  1. Parameter = The variable inside the parenthesis of a function
  2. Initializer = An initial value set on the parameter inside the parenthesis
  3. Compile-time Constant = Something Flash knows the value of without evaluating

So long story short – you are trying to assign a value to a parameter that has to be evaluated.  Still don’t know what I mean?  Check the code examples.

This is actually a really great feature of AS3.  Say for example you have an event listener that calls a function.  You also want to call this same function without the event. Unless you pass a value in you will get AS3 Error 1136.  AS3 allows you to set the Event parameter to null and therefore accept a call to that function without passing in a parameter.  function myUtilFunc( e:Event = null);

You can initialize and function with any Compile time constant for example a string like “Happy”, a constant like null or an int like 5 but you can not throw in anything that needs to be evaluated like a variable, math operation, an in-line array like [a,b,c] or date.

Flex / Flash Error #1047 Fix:
Remove any variable data and use only constants in the initializer such as Strings, Numbers, Null, etc…

Bad Code:

var init:String = “Happy”
function bob(someValue:String = init){
trace(someValue);
}

Good Code:

function bob(someValue:String = “Happy”){
trace(someValue);
}

or

function multiFunction(e:Event = null){
//doSomething;
}

Related Errors:

AS3 Error 1184

This should help you resolve Flex / Flash Error #1047

Thanks and as always Happy Flashing

Curtis J. Morley

Flex / Flash Compiler Error #1023: Incompatible override.

AS3 Compiler Error #1023: Incompatible override.

AS3 Error 1023 Description:

This ActionScript error is the most terse error that AS3 has provided us.  It is nothing like the beautiful description of AS3 Warning 1090

It popped up, rearing it’s ugly head like a teenager on Halloween. In most cases this error has more to do with AS3 Error 1021 than it does with an “Incompatible override”.   The first example below demonstrates this behavior. Example 1 will also give AS3 Error 1021 every time.

The second example is when an “Incompatible override” really is the reason.  Method signatures have to match or you will get this error.  Basically it means that you have not matched everything up properly from the method/Class that you are overriding.  So if you are overriding something that accepts events and you forget to put in events you will get this error.  If you give it a different Type you will get this error. Etc…

Adobe gives a good explanation of my second example.  They say:

“A function marked override must exactly match the parameter and return type declaration of the function it is overriding. It must have the same number of parameters, each of the same type, and declare the same return type. If any of the parameters are optional, that must match as well. Both functions must use the same access specifier (public, private, and so on) or namespace attribute as well.”

Flex / Flash Error #1023 Fix:

Make sure that you do not have duplicate names with an object and a function

or

Match the Method Signature of the soon to be overridden class.

Bad Code 1:

var myArray:Array = [1,2,3];

function myArray () {
}

Good Code 1:

var myArray:Array = [1,2,3];

function myArrayFunction () {
}

Bad Code 2:

override protected function draw(event:Event = null):void

Good Code 2:

override protected function draw(event:Event):void

Related Errors:

AS3 Error 3596
AS3 Error 1021
AS3 Error 1023 (Different error same number)

This should help you resolve Flex / Flash Warning #1023

Thanks and as always Happy Flashing

Curtis J. Morley