Flash SEO – Google Analytics and Flash Overview

What is the most effective way to use Google Analytics and Flash?

How would you like to be able to know exactly how people are accessing your site and what they do when they are there? With Flash you can. And Google has provided the back end system free of charge for you to do it. It is called Google Analytics.

Google and Flash can show you exactly what people are doing on your site. I know how many people are mousing over the Flash piece. I know how many people are clicking a certain button. I know how many times a button is rolled-over without being clicked. I know how long the mouse is over the object. I can know every piece of data that is possible to know about what and how my users are interacting with the page, advertisement or application.

There are three key components in using Google Analytics combined with your Flash/Flex application or website. First is determining what you want tracked and how you want to use the statistics, the second is creating a Google Analytics account and setting up the proper filters etc.., the third is setting up the code in Flash and Javascript.

This is part 1 of a 5 part series on how to accomplish each of these areas.

Stay tuned for
Part 2 – “What Flash events should & shouldn’t be tracked with Google Analytics?” coming soon.

As always Happy Flashing.

AS3 Quicktip – Reversing a String With one Line of Code

ActionScipt 3 Quick Tip of the Day: How to reverse a string with one line of code.

I had the thought the other day – Is it possible to reverse a string in Flash/Flex with only one line of ActionScript Code?

I determined that it was. And here is the result of my ActionScript conjuring.

var myString:String = “ActionSript 3”;
trace(myString.split(“”).reverse().join(“”));
//Output – 3 tpirSnoitcA

Wondering what this is actually doing? Here is the explanation:

split(“”)

split() takes any string and separates it it based on the value that you pass in the parenthesis. This value is called the delimiter. For example, if I had a string “1!2!3” and split that string using an exclamation mark as the delimiter then I would have an array that includes the elements ["1","2","3"]. If I used “2” as the delimiter then the array would look like this ["1!","!3"]. Because I am not using a delimiter, just empty quotes, the string is split on each character. split() and split("") are not the same. split() without empty quotes will split on nothing and you will get an array with only one element which is the entire word.

reverse()

reverse() is a method that will take an array and and reverse the order. An array like this var myArray:Array = ["a","b","c"] will trace out as c,b,a if you use the following code trace(myArray.reverse());

join(“”);

join() will combine the elements from an array and create a string. The parameter that you pass it is called a separator and will be used to separate all the elements within the string. I use the empty string again in my code so that there will be no separation between the letters of the word. Without putting in the empty quotes you will get the result of 3, ,t,p,i,r,S,n,o,i,t,c,A with a comma separating each character including the space.

So in essence apply functions to the result of the previous function all in one line.  I take a string and split each letter into an array element, reverse that array and then join all of the separate elements back into a single word.

And that is your ActionScript 3 quicktip of the day.

As Always Happy Flashing

Flex Error – Flash Player Not Found

Are you running your Flex Application and continually getting the error below?

C:\Program Files\Mozilla Firefox\plugins\NPSWF32.dll
Flex Builder cannot locate the required version of the Flash Player. You may need to install Flash Player 9.0 or reinstall Flex Builder. Do you want to try to run your application with the current versio
n?

Flex Error - Flash Player Not Found

Description:
This error is not a critical error and if you click on the Yes button the application will most likely run the way the you expect it. The reason this happened may have been because you recently did an express install or just an upgrade to your Flash Player.

Solution:

To get rid of this window constantly popping up you need to do one of the following:

  1. Reinstall the Flash Player
    Follow this link and reinstall the Flash Player. Get the latest Flash Player Debug Version
    This may or may not solve the issue.
  2. Put the missing file in the folder that Flex is expecting.
    As you can tell Flex is looking for the dll in the folder C:\Program Files\Mozilla Firefox\plugins but if you look in that folder I would wager that the file NPSWF32.dll is not there. Where you will find the file is in the following folder C:\Windows\System32\Macromed\Flash . Simply do a copy and paste from the Macromed\Flash folder into the Firefox\plugins folder and you will eliminate the error.
  3. Point Flex to another browser.
    If the above method doesn’t work (which it should) then you can use IE as your default browser. The way you change your default browser in Flex is by going to the menu and clicking Window >> Preferences. This will pop-up the Flex preferences window. From within the Flex preferences window select General >> Web Browser and then change the Browser from Firefox to IE as shown in the image below.
    Flex Preferences window Web Browser
  4. Last resort reinstall Flex.

Below are two links to help you trouble shoot.

Get the latest Flash Player Debug Version
Find out what version you have.

As always Happy Flashing

P.S. I tried the solution on the Adobe Live Docs of updating the patch in Flex and this did nothing.

Posted in Uncategorized

Flex Error – Flash Player Not Found

Please read post below for the real answer.

This duplicate post is a result of using the Bee AIR application to do posts.

I am leaving it here to show what happens when using BEE.

error_FlashPlayerNotFound.JPG

http://www.adobe.com/support/flashplayer/downloads.html – Get the latest debug version of the Flash Player.

http://www.adobe.com/products/flash/about/ Find out what version you have.

Posted in Uncategorized

Adobe Max 2007 – Sneak Peeks

Adobe Sneak Peeks

Adobe Visual Communicator

It can be streamed live with Flash technology.
Blue Screen and Green Screen is supported
Everyone at Max got a copy of Visual Communicator

Voip in the Flash Player

PTP & P2P will be coming soon.

Flash Home

Totally cusomtizable phone interfaces for phones
RSS feeds
Integrated with the device
– SMS, phone, email, games, ringtones, call logs, ring detection, etc…
Push technology
OTA – Over the Air home screen updates

Photoshop Express

Built in Flex
Web based

Features:

  • AutoCorrect
  • Exposure
  • Crop and Rotate
  • hite Balance
  • Vibrance
  • Highlight
  • Blemish Removal
  • Saturation
  • Shadow
  • Full undo
  • Red Eye Removal
  • Timeline/History
  • Replace Color
  • Sketch
  • Hue
  • Tinit
  • Distort
  • Sketch
  • Distort

Fireworks

Skinning Flex Components
Truly create custom skins
Preview in AIR

Web to Print

Abode Flex and InDesign Server for print allows for custom print on demand.
Admininstrative Login and templating
On the Fly image exchange
Adobe PDF output

Future version of Flash

New Stage Rendering Core based on Flash Player 10
Live videoon Stage Playing at Author Time
Fully interactive video while playing – You can actually pick colors out of video while playing
3D in the Authoring tool
Property Changes over time
Create Motion Tween on Symbol rather than in the
Bezier Path for Tweens
Bone Tools – Works on graphics, movieclips, etc..
Runtime Reverse Animatics – Give the user the ability to manipulate the kinesthetics

Acrobat

Flash Runtime integrated into PDF
PDF is like zip – you can add any file types and it will play directly in the Acrobat Player
Create your own Interface for PDF in Flash/Flex
Flash and PDF can talk to each other
Flash can pull live data from the web, web services, Web API’s and throw that into a PDF and vice versa
CoCoMo is integrated in a PDF
Chat, View of Users, etc.. added to PDF
Sync view with other users in PDF

Flex on Linux

Full Flex Builder running on Linux
Available currently on Adobe Labs

C++ and Flash

He compiled Quake in Flash using C++
Seam Carving

SO INSANE!!!!!!
This was amazing!!!
It sizes and scales  without squishing or squeezing the image.
Shai Avidan

Posted in Uncategorized

Adobe Max 2007 – XD Bringing the Desktop to the web

Ty Lettau

One big issue with creating desktop apps is that people don’t know why they are on the app.  If someone is willing to buy a $1000 application then they are going to know the point of first involvement.

If everything is important then nothing is.

If you are going to do drag and drop make the objects look like physical objects.  When the object is able to be dopped then higlight the drop zone and make it painfully obvious that the drop zone is where the user can drop the object.

Seam-line model solves many problems

Contextual controls allow immediate control without mouse movement and additional clicks.

Constantly writing to an XML file that compiles on the fly.

People are not going to wait for a 2 minute compile time.  It needs to immediately be played back.

Bring the App to the content.  Don’t make users store the content in one more place.

Premiere Express took over six months with 1 engineering 4, manager, Bus dev lead.

Posted in Uncategorized

Adobe Max 2007 – Keynote Day 2

Keynote – Bruce Chizen

Amazed at the things that we as developers and designers are doing with the Adobe tools.

4000 people in attendance

Told story about how he got a backstage pass to a Dave Matthews band concert and the drummer, keyboard player and technical crew couldn’t stop talking about the Adobe products to the point where the were almost late going out on stage.  He said that is why he does what he does.  Because it affects famous people like the Dave Matthews band.  He seemed sincere

Posted in Uncategorized

Adobe Max 2007 – Chicago – Web Analytics

Adobe Max 2007 – Chicago
Web Analytics
Judah Phillips

The purpose of Web Analytics

  • Increase Revenue
  • Reduce cost
  • Improve Operations

Showed the Value Chain from Porter 1985

Use analytics to predict

Nisson, subaru, toyota, VW Adobe, CBS, CNN, HPinvent

Microsoft is producing getknow which shows behavioral trends in users

What are companies Doing with WA?

Gartner Chart that shows 5 levels created by Bill Gassman

Tips to Consider

·         The page view is Dead, NO, Long live the page view

·         Essentially no different than tracking a website

·         With Adobe applications, you determine when to tell the analytics tool too either

·          

What skills are needed?

·         Director

·         Engineer

·         Project Manager

·         DBA

·         Web Developer

·         QA

·         Business Analyst(s)

Tip #2 Use Proccesses

Web analytics demystified

WA must be considered as part of the site creation process

Involved from the beginning

Endemic Thorghout all phases

Processes:

·         Establish ownership

·         Alllocate Resources

·         Create Site

·         Buy Keywords

·         Add RSS feed

·         Create new subscription page

Circular Pattern – Identify Processes > Review, Update, Analyze As-Is > Design-to-be > Test and implement to-be > Back to Identify Processes

Track ROI

Tip 3 Understand how Web Data is Collected

·         Log Files – AwStats

·         Packet Sniffers –

·         Page Tags – Like Google Tags

·         Audience Panels –

·         Toolbars – Javscript page tags

·         Surveys –

Tip#4 – Determine the Best Technology

·         SaaS(ASP)

·         In house – /unica, WebTrends, etc..

·         Managed Service

·         Data Collection Methods

·         Reoprting requirements

·         Integration requirements

·         System Sizing

Tip #5 – Understand teh Vendor Landscape

Unica

Visual Sciences

WebTrends – Once had 55,000 customers WebAnalytics 8.0, SCORE

Omniture – Site Catalyst, Discover 2 that visuals data

Google – 23% penetration rate in Fortune 500, Can’t do some of the things that are heavy and customized

Core Metrics – Retail Analytics, could be the most

Tip #6 – Select you Data Collection MEthod

 

Tip #7 – Decide what you want to Measure

·         Commerce Sites: SEO, Conversion Revenue, Affintity and customer shift

·         Media Content Sites : Reach, depth, frequency length, ads

·         Service Delivery

·         Customer Support

·         Branding and Public Relations

·         Internal Business Applications

Tip #8 – Identify Goals and KPI

Three Main Concepts:

Actors – A human whose job is to influence a website.  Two tyes Decisional Acors A. Direct Actors, Indirect Actors (directors and managers)
2.Non-Decsision Actors – Everyone else
Bring Actors together
Associate Actors with Goals

·         Macro goals

·         Microgoals

·         Action Set

·         Translation

 

KPI – Key Performance Indicators

Tip #9 – Think About Progressive Enhancement

Accessibility

Tip # 10 – Understand the Web Analytics Vocabulary

·         Impressions (formerly know as hits)

·         Page Views

·         Visits

·         Unique Vistors

·         Time

·         Events

The Magic Triangle Quality travels up the triangle which is from top-to-bottom Impressions/Hits > Page Views > Visits > Unique Visitors

 

EVENT MODELS – Users  __  Activity __Events

ENGAGEMENT

INFLUENCE

VELOCITY

ATTENTION

Emetrics Conference

Web Analytics Association

Tip#11 Answer to Key Questions Before you design

Analtyics Facade

GetURLQue

Tip #12 -= Learn how to use GetURL

Available only with Javascript

Allows JS execution to make calls to functions exposed in your web anltyics tool

Flash Event is logged as a page view

Use when you have on

Tip #13 – Learn how to use the getURL Manager and getURL queu

Handles multiple getURL commands er frome

Traffic cop

Tip #14 – Learn how to use the Analytics Facade Class

Class keeps a list of default variables

Tip#15 – Create a Written Specification for Page Names and Events

Critical that each viaeaw in Flash contains a unique page name

Tip#16 – Declare Variables in the HTML Shell

All variables must be passed from Flash app to analytics package

Lots of different vars that can be set

Page titles’Categories

Taxonomy

Campaign ID’s

Other metad data

Tip#17 – Import and Set Up the Analytics Library

Adobe has many Anayltics tools and conmponents

SendAnalyticsEvent

Tip #18 Watch out for common issues with the Web Analytics and Flash

2x counting page views

Complexity

Limitations of 508 characters

Playback delays for animation while javascript is executing

JS error after 32 clicks

localized tracking only – JS/ Flash on Same page

Inaccurate linking

Tip #19 – Verify the implementation

·         Are all pages tagged?

·         Are all the log files synchronized?

·         Is the data being collected?

·         Are processes automated?

·         Does the system meet requirements for availability, performance, and capacity?

Tip #20 – Particpate in the Web Analytics Industry

·         Join the Web Analytics Assoction

·         Join the WAA’s Yahoo Forun

·         Read the blogs

·         grokdotcom.com

kaushik.net/avinash

Posted in Uncategorized

Adobe Max 2007 – Optimizing AS3

Optimizing AS3 Performance

Flash Player AVM2 Architecture JIT (2x compiled bytecode and JIT

When should I optimize?

  • Premature optimization can be a bad thing
  • Potentially added code complexity
  • Potentially increasing th number of lines of code just for perforemance
  • potentially degraded readability
  • Extra billable time spent optimizing when it coulf be spent on functionality

How should I optimize?

  • Use good coding practices
  • know your perfomrance goals
  • Profile your application before opimizing to determine the bottlenecks
  • Don’t over optimize
  • Optimize in incriments
  • Use Version Control

Tools

  • flash.utils.getTimer():int
  • trace
  • Flashdebug player
  • Flex Builder 3 Performance Profiler
  • REDbug
  • Firebug
  • FlashTracer

General Optimization Tips

  • Code Efficiently
  • Graphics can cause extreme performance hit if used incorrectly…so
    • Minimize the number of on-screen objects
    • Minimize
  • Optimize your memory footprint
    • Only load in instances of what you need
    • Make use of deffe
    • Remove references or make them weak references

    Remove debug Code

Mmxmlc -optimize=true -output HelloWorld

Optimizing Object Interaction

NON-OPTIMIZED

public function onInit()
}
var myFirstVar
}

OPTIMIZED

public function onInit()
}
var myFirstVar:int;
}

Unnecessary Object Definitions

for(var:int=0;i<1000000;i++
{

}

Use weak References and Array notation when accessing class members

Keep Arrays densely packed

Create a constant and use it within the app – Object instantiation is a huge process hog. Use constants whenever possible.

Take all calculations out of  loops.

Don’t use

while(i–)
{
var myReturn = a-b*c/d+e*g +i;
}

Use

var bob = a-b*c/d+e*g;

while(i–)
{
var myReturn = bob +i;
}

Try Catch is much slower than conditionals

Bitwise operators are much faster than with math.

Create a local variable referencing getters and setters and then call the members.

don’t use

Application.aplication.whatever

instead use

var myAppFriend:Application = Application.apllication.whatever

Build a class that I just need to throw in blocks of code and use getTimer() to preview time to execute.

Posted in Uncategorized