flash on tap slides
TRANSCRIPT
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
TimelineHelper class: http://www.adobe.com/devnet/flash/articles/timelinewatcher.html(tinyurl version): http://tinyurl.com/cybwnr
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