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

Adobe Max 2007 – Chicago – Peter Elst

Adobe Max 2007 – Chicago
Peter Elst – OOP for AS3

Myth – Do you need to use OOP if you are a lone programmer?  YES

Concepts of OOP

  • Classes
  • Inheritence
  • Encapsulation
  • Polymorphism
  • Interfaces

Introducing Design Patterns

What is OOP?

OOP structures code into reusable units that provide a blueprint for any number of instances that are created from it.

In OOP there are

Class = Blueprint
Object = House

 What’s new in AS3?

  • Display List API
  • DOM3 Event Model
  • ECMScript for XML(E4X) – easy way to query XML
  • Runtime Error Checking – Prevents you from making major mistakes
  • Regular Expressions –
  • Method Closures
  • Protected Scope
  • etc…

Classes

  • Classes describe an object using properties and methods
  • Anynumber of instnace can be created from

Inheritance

  •  Allows you to extend classes, propeties of a super class(i.e. the clas which to extend
  • AS3 classes require the override keyword to override methods or por
  • The final keywords disallows for any extending of classes

Inheritance vs. Composiion

  • Composition does not extend a class but instantiates it at runtime.
  • Inheritance is used for an ‘is a’ relationship, whereas composition typically implies a ‘has a’ relationship
  • Composition gives control over creation and destruction and garbage collections

Encapsulation

  • Allows you to protect the inner workings of a class through the use of access modifiers
  • Provide an API to interact with your class through getter/setter methods
  • Keywords
    • public – accessible everywhere
    • private -only accessible within class
    • protected -within class and derivative classes
    • internal – accessible within same package

Polymorphism – (the easiest concept in OOP)

  • Allows different classes to respond to same method names with their own implementation.
  • Common mehtod names make classes interchangeable at runtime.
  • Uses override to change the function at runtime

Interfaces

  • Allows you to specify a set f methods that classes are required to implement
  • Classes can implement multiple interfaces, interfaces can extend each other
  • Interfaces can be seen as contracts to be developed against.
  • Interfaces just implements a list of code

    public interface Cat implements (IAnimal, ICuteness)

Patterns

Observer Pattern

  • Don’t make any references to the classes that you listening to.

Singleton

  • Eables a class to have just one instanceaccessible through a static method
  • Singleton classes provide a global point of access
  • AS3 doesn’t yet allow constructors to be private so you must do an if statement to check if it has already been called.
Posted in Uncategorized

Adobe Max 2007 – Chicago

Adobe Max 2007 – Chicago
Keynote – Kevin Lynch

Announced the Adobe Developer Connection

IntroNetworks has their next generation app online transformed into a Flex app.

This is the 30th Anniversary

80’s people put their stuff on floppies,
90’s Copmact Disc was the new format
2000’s everything is now on the web and the hey are now Swank Rich Internet Apps

Shatanu Narayen

We believe that the time is right for the flexibility of the web and the power of the desktop.  We need to make the customer front and center.  Great digital experiences are more the exception than the rule, even today.  I would like to share 5 experiences.

  1. Content is king.  Sometimes the wrapper is a barrier.  Don’t develop the interface first but rahter the build around the content.
  2. Make it personal.  – Deliver when and where people want.  Specifically phones. Example showed that the focus on multimedia, video, pictures, and social life.  If you can adap the software to the user you will have customer loyalty.
  3. Less is (still) More – Focus on the heart of the problem and make it simple.  Premiere Express is made so that anyone can edit video.  It is software as a service. He showed that with a few drag  focus on a few things and do them really well.
  4. Movement has Meaning – make the actions meet the users expectation.  He showed the Adobe Media Player with the ‘Glide UI’ that makes your eyes track.
  5. Create an Experience Not a UI – Showed California Bike Tour, integrated video with GPS info and added Flickr images and chat into one experience.  Make it engagin

Technology is finally catching up with our vision.  We can make the whole digital experience what we dremed in the past.

Kevin Lynch –

Video – 70% of all video on the web is Flash.  Flash is the number one standard on PC’s.
H.264 is now embedded in the Flash Player.  Yahoo showed a movie about how they can point their appdirectly at their h.264 content and it will just play without any additional transcoding.

A huge upgrade to the Flash player and video

  • h.264 support
  • upt to 1080p on video (the quality is amazing compared to 480p)Halo3 site is full video and interactivity
  • Building desktop video app with AIR – CBS, PBS, etc… The Adobe MediaPlayer will pull all content into an easy to experience.
  • Adobe media player is available today.
  • Flash Lite3 is coming out soon
  • 300,000,000 phones have Flash.  1 billion by 2010.  Video will play the same with mobile phones and Flash lite and FLash media server with downloaded or streamed content.  Download next month.
  • United way connects people to help as disasters happen.
  • Cold Fusion 8 just came out.

Scott Fegette / Ben Forte

In one week they created many things on  the United way site.  They combined a form that then output a PDF that gave a personal document based on user input.

Spry Framework 1.6 available today on Adobe Labs.

AIR – One guy wrote an AIR app that does drag and drop of vCards that then pulls in a

Beta2 of AIR and Flex3 and Flash Authoring AIR extension are available today.  300,000 downloads of AIR to date.

Hiedi Wiliams – Four of the new features

  1. Performance profiling – Can look at all
  2. Language intelligence – Refactoring – refactor/rename.  With a single click of a button the
  3. Advanced Data Visualization Components –
  4. Flex Framework caching – A 500k app is now 300k.  The framework is only downloaded once.  Download the beta of Flex3 on Labs.

AIR Developers Derby

spaz.AIR – a twitter cllietn

Ora Time Tracker

Agile Agenda – The winner of the AIR Developers Derby.  It is a great little project management tool that is really simple to use.

Search Coders

Digimix

Ebay is launching their new interface as an AIR app.

AOL is developing  a great new AIR app

Cary Gibaldi/Bob Ott

Adobe AIR gives the best experiential app for Disney Travel, agents and travelers.  The demo showed drag and drop from the dashboard, images from the desktop, text from a PDF.  He then compiled a PDF directly from the app that was custom made.

Kevin Lynch

Showed tweetr a new app that is a twitter inteface

Snipage

Pronto

Google Analytics is now an AIR app as well.

Paypal has an AIR app for all of their API’s  You can darag and drop between AIR apps.

FaceBook chat called WaveIM

DigiMix will save wav files

Nickelodeon has a puzzle app that you find the pieces on the web and drag and drop the pieces from the web into the  AIR app.

Buzzword – A robust word editor that Adobe just acquired.  IT is collaborative, you can wrap images, you can open word docs and pagination.  It runs Flash player, Flex builder Flash and AIR.

MTV is making an Adobe AIR Challenge. Sign up today.

Anthropologie has a really terrific app to find clothes, match with colors or

Next version of Flash is called Astro.

Emmy Hunag/ Justin Everett Church – Astro

New Text Capabilities

ActionScript Text Components

Left to right languages break appropriatley even in a right to left language blocks, column breaks,

New 3D Effects

  • Simple API for Transforming display objects in 3D space – We will now have Z rotation as well as Z and Y.
  • Full interactivity
  • High Perfomrance

New Custom Filters, Blend Modes and Fills

We can create filters today because it is already on Labs.  The language for creating filters is called Hydra.  Hydra is a pixel shader.  You can adjust color samples,

Posted in Uncategorized

Flash Forward Boston 2007 – Search Engine Optimization

Flash Forward – Boston 2007
Day Three (Sept 19) – Giovanni Gallucci
Flash and Search Engine Optimization

  • flash != seo | lies, lies, lies
  • true | bots can’t read flash ( this is actually not true)
  • u | quit being lazy – it’s not that hard

 

Unexpected

  • flash seo-sdk? | podunky
  • div tags | yes, that will work
  • rebuild site in HTML | quit being lazy – it’s not that hard
  • sync swf’s? | sloppy hack good… when it works

False Assumptions

  • content is the only factor with SEO
  • if you work with flash, your only option is to build the entire site in Flash
  • dan rather is not a moron
  • o.j. is innocent

 

10/90 rule with SEO

  • title tags (most important keywords in the title tags first, not more than 255 cahracters)
  • inbound links
  • content|keyword ratios
  • sitemap.xml (This will give the ability to crawl the site even if the links are not crawled)
  • metatags have little to no effect in SEO

SEO Facrtors – There are over 200 factors google considers when ranking a page.

  • positive on-page factors
  • negative on-page factors
  • positive off-page factors
  • negative off-page factors
  • 3-4 seconds is the max load time for Flash – put all content before loading Flash

Top 10 overall keys to good SEO

  1. keyword use in title tag (1st is best)
  2. Global link popularity of site
  3. anchor text of inbound links (whenever you get a link to a site
  4. internal link popularity
  5. age of site
  6. topical relevance of inbound links to site
  7. link popularity of site in topical community
  8. keyword use in body text
  9. global link popularity if linking site
  10. topical relationship of linking page

Enter social search

  • This is not a revolution…it’s evolution
  • This is not your daddy’s seach
  • Relevance for today’s generation

 

Random babblings

MySpace and Youttube account for almost 50% of all searches on the web. People are using communities to search rather than search engines

MSN is the search for myspace

eurekster.com is a user generated search engine

googlebase
grokker.com
yahoomindset
rollio – your own search engine

viewzi is a flash based interface

viewzi.com has an API and everyone should use their API.

Constantly check your site

site:yourdomain.com
link:yourdomain.com

Use only one H1 tags, use 3-4 H2 tags, use 6-10 H3 tags.

Put all javascript and session state code in external files because it will be ignored by bots if not on page which will let the real content be read.

7-10% of all text needs to be keywords or keyword phrases

Each page should have different keywords

use misspellings

Don’t do drugs, don’t do frames

Search engines have a limit of amount of text that they will read.

http://blog.deconcept.com/2006/03/13/modern-approach-flash-seo/
www.SEOscribes.com
www.KeywordDensity.com
www.KeywordTracker.com

Alt tags have a low impact but will help.

Create myspace, verb, etc pages and link to my website, facebook, redit, magnolia,

Posted in Uncategorized

WordPress is Not My Friend Today

So I was taking detailed notes of the fantastic sessions that I attended at the Flash Forward Conference – Boston 2007 and was posting to my blog here as I attended the sessions.  So besides the latency in typing my notes were being published real time.

Well when I got to the last session of the day I hit submit to publish the session on Robert Hoekman Jr and I got an error and all of the days posts were blitzed.  At first I didn’t understand what was going on.  Then it dawned on me that the session from Micelle Yaiser or the Multi-touch Multi-person table was gone and the inspirational session  by Craig Swann and all of the rest were gone.

I called tech support at BlueHost my hosting company, I looked through the WordPress database, I soured forums and have found no way to recover the data.

If you have any idea why I get the following error please let me know:

*********************************************************

WordPress database error: [Duplicate entry ‘6’ for key 1]
INSERT INTO wp_post2cat (post_id, category_id) VALUES ('178', '4')
Warning: Cannot modify header information – headers already sent by (output started at /home/flashcon/public_html/curtismorley/wp-includes/wp-db.php:133) in /home/flashcon/public_html/curtismorley/wp-includes/pluggable.php on line 331 *********************************************************

I think that I will roll back to the old version of wordPress if I can’t get this figured out soon.

Posted in Uncategorized

Flash Forward – Boston 2007 – John Say

Teams of people take 8 weeks to create a game ready for Alpha.

WiiFlash.com provides files for creating games for the Wii.

Casual games brought in over $1Billion industry his year.

Bejeweled has sold 10 million copies for $20

Showed us the game Flow

LinRider is slated to be a Wii and & DS Title.

Experiments that are done for fun turn into

MIT is designing an audio game that is specifically designed for blind players.

gambit.mit.edu

3 kinds of innovation

Iterative – Chuzzle is the iteration of Bejeweled that is different enough and changed enough that it is another game and not cloned.
Innovative Fusion – Taking poker and combining it with Mahjong
Radical Innovation – Brand new game lke linerider

Edutainment fell on it’s face originally because of the distribution model on CD etc.. and the fact that they couldn’t truly be innovate like we can be now with Flash.

Xprize is having a contest just like they did with Race for Space but they are doing it with the best Educational Game.

Posted in Uncategorized

Flash Forward – Boston 2007 – Aral Balkan

Flash Forward – Boston 2007
Day one (Sept 19) -1:30-2:45 – “Let’s talk about SWX, Baby!” – Aral Balkan

Aral Balkan at Flash Forward 2007 Boston

We wrote 14 lines of code to directly access the Flickr API and loaded images in literally less than 2 minutes. Writing a very simple PHP class we were loading data from the server. Aral showed how easy it is to use and how quick it is to implement. We looked at PHP, Ruby in Rails, and how to connect to API’s including the talking bunny.

The bigest laugh was when Aral loaded a picture from Flickr of little kid bums. “When you work with live data on stage you get burned.” -Aral Balkan

The uses of SWX
Application Development
Mobile Development
AIR
Flash apps
PSP apps (because Flash 6 is supported)

The future of SWX
More API’s
Yahoo Mail
AS3
Flash 9 support

One thing that I realized SWX can also do is act as a proxy for common API’s. This could solve many issues. SWX – A great idea.

Thanks Aral Great Session

Posted in Uncategorized

Flash Forward – Boston 2007 – Rich Shupe

Flash Forward – Boston 2007 – ActionScript 3.0 for Designers by Rich Shupe

This is a high level overview of AS3
The Good
AS3 is more powerful.
More Powerful
10-100x faster
More like other languages
Stricter(Better Error Reporting)

The Bad
Stricter(Initially Frustrating)
More Verbose
Some things have changes and are just gone (Release Outside, _global
Bigger Learning Curve

The Ugly
AS1/AS2 are not compatible with AS3
May need to Straddle the AS2/AS3 fence
Flash Platform diverging and converging
-Different component set than Flex
-Different Authoring techniques
AIR is now making Flash easier

Code Placement:
No more code on objects(can not put on() event on button/movieclip)

What I learned:
You can set the frame rate at run time
Group the Actions Panel to the left with the other panels for easy access and it won’t get in the way.
In “publish settings” I can uncheck “Automatically declare stage instances if I want to always declare each instance.
There are two types of display objects. Object and Containers Everything is an object but movieclips/etc can contain other objects
computeSpectrum() gives 512 values of the sound that you loaded.
To make a sound visualizer use two channels of 256 objects

Posted in Uncategorized