Flash on Tap slides

Preview:

Citation preview

Flash on Tap 2009

Jamie KosoyAssociate Technical Directorj.kosoy@bigspaceship.com

Thursday, June 4, 2009

the situation

Thursday, June 4, 2009

the situation

Thursday, June 4, 2009

the situation

Thursday, June 4, 2009

the situation

Thursday, June 4, 2009

4 weeks until launch.

the situation

Thursday, June 4, 2009

the situation

Thursday, June 4, 2009

10 fundamentals to our process.

Thursday, June 4, 2009

1. Give everyone a say.

Thursday, June 4, 2009

give everyone a say

StrategyProductionDesignDevelopment

Thursday, June 4, 2009

give everyone a say

StrategyProductionDesignDevelopment

bad.

Thursday, June 4, 2009

give everyone a say

StrategyProductionDesignDevelopment

good.

Thursday, June 4, 2009

2. Never say it’s too hard.“Non-trivial” is better.

Thursday, June 4, 2009

3. Build fast.

Thursday, June 4, 2009

In Flash:

+ Set relative publish settings.

+ One Document root to rule them all.

In HTML/CSS/JavaScript:

+ Publish main SWF to the root directory.

build fast

Thursday, June 4, 2009

+ Leverage the community.

- GTween

- BulkLoader

- Corelib

- SWFObject

- SWFAddress

build fast

Thursday, June 4, 2009

Simple Code Rules

- $argument

- _private

- public

- __private static

- CONSTANT

build fast

Thursday, June 4, 2009

Oh yeah, protected variables:_vvv$_$$pppp$_$p____$_$$$$protected__$p_________myInfo_loadercontentloaderinformation

build fast

Thursday, June 4, 2009

Main

Header Footer

Model

BigScreen

(Some Footer Component)

build fast

Thursday, June 4, 2009

obligatory code slide

build fast

Thursday, June 4, 2009

public function Main()

{

if(stage) _initialize();

else addEventListener(Event.ADDED_TO_STAGE,_initialize,false,0,true);

}

private function _initialize($evt:Event = null):void

{

Security.allowDomain('*');

stage.scaleMode = StageScaleMode.NO_SCALE;

GTween.timingMode = GTween.FRAME;

Out.enableAllLevels();

if(Environment.IS_IN_BROWSER) Out.disableAllLevels();

_layers = [];

_layers[Model.ABOUT] = new About(about_mc);

_layers[Model.HEADER] = new Header(header_mc);

_layers[Model.FOOTER] = new Footer(footer_mc);

_layers[Model.SCREENS] = new Sprite(); // jk: screens will get added to this sprite.

_layers[Model.SUBMIT] = new Submit(submit_mc);

for(var i:int=0;i<_layers.length;i++)

{

_layers[i].tabEnabled = false;

addChild(_layers[i]);

}

_layers[Model.FOOTER].addEventListener(“foo”,_footerOnFoo,false,0,true); // jk: an example event.

}

build fast

Thursday, June 4, 2009

4. Build ugly.

Thursday, June 4, 2009

build ugly

Thursday, June 4, 2009

build ugly

Thursday, June 4, 2009

build ugly

Thursday, June 4, 2009

build ugly

Thursday, June 4, 2009

5. Trust the timeline.

Thursday, June 4, 2009

trust the timeline

Thursday, June 4, 2009

trust the timeline

Thursday, June 4, 2009

stop();

dispatchEvent(new AnimationEvent(AnimationEvent.ANIMATE_IN));

trust the timeline

Thursday, June 4, 2009

+ Developers

- No motion chops.

+ Designers

- Lots of motion chops.

So the equation in codespeak:

if(developer.chops.motion < designer.chops.motion)

assignMotionWorkTo(designer); // jk: duh

trust the timeline

Thursday, June 4, 2009

6. Buy the developer whiskey.

Thursday, June 4, 2009

7. Mise en place.

Thursday, June 4, 2009

In Flash:

+ Deep linking

+ Loading scheme(s)

+ Library items organized

In HTML/CSS/JavaScript:

+ SEO

+ Flash detection

+ Minimum browser resize

mise en place

Thursday, June 4, 2009

mise en place

Thursday, June 4, 2009

mise en place

Thursday, June 4, 2009

mise en place

Thursday, June 4, 2009

8. Start from scratch.

Thursday, June 4, 2009

9. Strive for exellence.(not perfection)

Thursday, June 4, 2009

strive for excellence

Thursday, June 4, 2009

+ Idea was pretty... but not a mathematically perfect helix.

+ Bottles need to dynamically “swing” on rollover.

+ Each bottle is used in the site in several other places.

- 120kb per bottle.

- Must be front loaded.

strive for excellence

Thursday, June 4, 2009

Were you invited?Reindeer Games

Thursday, June 4, 2009

Were you invited?Reindeer Games

Thursday, June 4, 2009

strive for excellence

Thursday, June 4, 2009

strive for excellence

Thursday, June 4, 2009

10. Think simple.

Thursday, June 4, 2009

+ Give everyone a say.

+ Never say it’s too hard.

+ Build fast.

+ Build ugly.

+ Trust the timeline.

+ Buy the developer whiskey.

+ Mise en place.

+ Start from scratch.

+ Strive for excellence, not perfection.

+ Think simple.

in conclusion

Thursday, June 4, 2009

bigspaceship.com

labs.bigspaceship.comtwitter: jkosoy

thanks.

Thursday, June 4, 2009

Recommended