SlideShare a Scribd company logo
1 of 49
Download to read offline
Flash on Tap 2009

                Jamie Kosoy
                Associate Technical Director
                j.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
the situation




                4 weeks until launch.




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




                         Strategy
                         Production
                         Design
                         Development




Thursday, June 4, 2009
give everyone a say




                          Strategy
                          Production
                          Design
                          Development
                         bad.




Thursday, June 4, 2009
give everyone a say




                          Strategy
                          Production
                          Design
                          Development
                         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
build fast




          In Flash:
          + Set relative publish settings.
          + One Document root to rule them all.


          In HTML/CSS/JavaScript:
          + Publish main SWF to the root directory.




Thursday, June 4, 2009
build fast




          + Leverage the community.
               - GTween
               - BulkLoader
               - Corelib
               - SWFObject
               - SWFAddress




Thursday, June 4, 2009
build fast




          Simple Code Rules
               - $argument
               - _private
               - public
               - __private static
               - CONSTANT




Thursday, June 4, 2009
build fast




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




Thursday, June 4, 2009
build fast


                         Model



                                              Main




                                 Header      Footer
                                                         BigScreen




                                          (Some Footer
                                           Component)




Thursday, June 4, 2009
build fast




                obligatory code slide




Thursday, June 4, 2009
build fast
                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.
                }




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
trust the timeline




          stop();
          dispatchEvent(new AnimationEvent(AnimationEvent.ANIMATE_IN));




Thursday, June 4, 2009
trust the timeline



          + 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




Thursday, June 4, 2009
trust the timeline




                TimelineHelper class:
                http://www.adobe.com/devnet/flash/articles/timelinewatcher.html
                (tinyurl version): http://tinyurl.com/cybwnr




Thursday, June 4, 2009
6. Buy the developer whiskey.




Thursday, June 4, 2009
7. Mise en place.




Thursday, June 4, 2009
mise en place



          In Flash:
          + Deep linking
          + Loading scheme(s)
          + Library items organized


          In HTML/CSS/JavaScript:
          + SEO
          + Flash detection
          + Minimum browser resize




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
strive for excellence




          + 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.




Thursday, June 4, 2009
Reindeer Games
       Were you invited?




Thursday, June 4, 2009
Reindeer Games
       Were you invited?




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
in conclusion


          + 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.




Thursday, June 4, 2009
thanks.


                bigspaceship.com

                labs.bigspaceship.com
                twitter: jkosoy



Thursday, June 4, 2009

More Related Content

Similar to Flash on Tap slides

Firefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsFirefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsDietrich Ayala
 
The ABC of User Testing
The ABC of User TestingThe ABC of User Testing
The ABC of User TestingGabrielRadic
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009Props to Prototypes: Design Fiction Part 2 Design Connexity 2009
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009Julian Bleecker
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus360|Conferences
 
6 types of recordings you can create without showing your face
6 types of recordings you can create without showing your face6 types of recordings you can create without showing your face
6 types of recordings you can create without showing your faceAnwar Saeed
 
Atlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyAtlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyMike Cannon-Brookes
 
What I Hate About Wordpress
What I Hate About WordpressWhat I Hate About Wordpress
What I Hate About WordpressMark Jaquith
 
理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定Stian Håklev
 
Running The Show Configuration Management With Chef Presentation
Running The Show  Configuration Management With Chef PresentationRunning The Show  Configuration Management With Chef Presentation
Running The Show Configuration Management With Chef Presentationrailsconf
 
Leadership Circle - real estate internet marketing
Leadership Circle - real estate internet marketingLeadership Circle - real estate internet marketing
Leadership Circle - real estate internet marketingaussiehome.com
 
Encontro Locaweb Porto Alegre
Encontro  Locaweb Porto AlegreEncontro  Locaweb Porto Alegre
Encontro Locaweb Porto AlegreFabio Akita
 
An Open Civic Engagement Platform: Plone, Salesforce and Friends
An Open Civic Engagement Platform: Plone, Salesforce and FriendsAn Open Civic Engagement Platform: Plone, Salesforce and Friends
An Open Civic Engagement Platform: Plone, Salesforce and Friendsjonstahl
 
I Movie 08 In The Classroom
I Movie 08 In The ClassroomI Movie 08 In The Classroom
I Movie 08 In The Classroomgwimmer
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Justin Miller
 
Symfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsSymfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsXavier Lacot
 

Similar to Flash on Tap slides (20)

Twitter on Rails
Twitter on RailsTwitter on Rails
Twitter on Rails
 
ERECOMPI
ERECOMPIERECOMPI
ERECOMPI
 
Firefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web InnovatorsFirefox 3.5 and Beyond, At Portland Web Innovators
Firefox 3.5 and Beyond, At Portland Web Innovators
 
The ABC of User Testing
The ABC of User TestingThe ABC of User Testing
The ABC of User Testing
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009Props to Prototypes: Design Fiction Part 2 Design Connexity 2009
Props to Prototypes: Design Fiction Part 2 Design Connexity 2009
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus
 
Session 7
Session 7 Session 7
Session 7
 
6 types of recordings you can create without showing your face
6 types of recordings you can create without showing your face6 types of recordings you can create without showing your face
6 types of recordings you can create without showing your face
 
Atlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyAtlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software Company
 
What I Hate About Wordpress
What I Hate About WordpressWhat I Hate About Wordpress
What I Hate About Wordpress
 
理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定
 
Running The Show Configuration Management With Chef Presentation
Running The Show  Configuration Management With Chef PresentationRunning The Show  Configuration Management With Chef Presentation
Running The Show Configuration Management With Chef Presentation
 
Leadership Circle - real estate internet marketing
Leadership Circle - real estate internet marketingLeadership Circle - real estate internet marketing
Leadership Circle - real estate internet marketing
 
Encontro Locaweb Porto Alegre
Encontro  Locaweb Porto AlegreEncontro  Locaweb Porto Alegre
Encontro Locaweb Porto Alegre
 
An Open Civic Engagement Platform: Plone, Salesforce and Friends
An Open Civic Engagement Platform: Plone, Salesforce and FriendsAn Open Civic Engagement Platform: Plone, Salesforce and Friends
An Open Civic Engagement Platform: Plone, Salesforce and Friends
 
I Movie 08 In The Classroom
I Movie 08 In The ClassroomI Movie 08 In The Classroom
I Movie 08 In The Classroom
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)
 
Symfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsSymfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating products
 
Uber Vu - Scrum & Startups
Uber Vu - Scrum & StartupsUber Vu - Scrum & Startups
Uber Vu - Scrum & Startups
 

Recently uploaded

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Recently uploaded (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Flash on Tap slides

  • 1. Flash on Tap 2009 Jamie Kosoy Associate Technical Director j.kosoy@bigspaceship.com Thursday, June 4, 2009
  • 6. the situation 4 weeks until launch. Thursday, June 4, 2009
  • 8. 10 fundamentals to our process. Thursday, June 4, 2009
  • 9. 1. Give everyone a say. Thursday, June 4, 2009
  • 10. give everyone a say Strategy Production Design Development Thursday, June 4, 2009
  • 11. give everyone a say Strategy Production Design Development bad. Thursday, June 4, 2009
  • 12. give everyone a say Strategy Production Design Development good. Thursday, June 4, 2009
  • 13. 2. Never say it’s too hard. “Non-trivial” is better. Thursday, June 4, 2009
  • 14. 3. Build fast. Thursday, June 4, 2009
  • 15. build fast In Flash: + Set relative publish settings. + One Document root to rule them all. In HTML/CSS/JavaScript: + Publish main SWF to the root directory. Thursday, June 4, 2009
  • 16. build fast + Leverage the community. - GTween - BulkLoader - Corelib - SWFObject - SWFAddress Thursday, June 4, 2009
  • 17. build fast Simple Code Rules - $argument - _private - public - __private static - CONSTANT Thursday, June 4, 2009
  • 18. build fast Oh yeah, protected variables: _vvv$_$$pppp$_$p____$_$$$$protected__$p_________myInfo_loadercontentloaderinformation Thursday, June 4, 2009
  • 19. build fast Model Main Header Footer BigScreen (Some Footer Component) Thursday, June 4, 2009
  • 20. build fast obligatory code slide Thursday, June 4, 2009
  • 21. build fast 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. } Thursday, June 4, 2009
  • 22. 4. Build ugly. Thursday, June 4, 2009
  • 27. 5. Trust the timeline. Thursday, June 4, 2009
  • 30. trust the timeline stop(); dispatchEvent(new AnimationEvent(AnimationEvent.ANIMATE_IN)); Thursday, June 4, 2009
  • 31. trust the timeline + 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 Thursday, June 4, 2009
  • 32. trust the timeline TimelineHelper class: http://www.adobe.com/devnet/flash/articles/timelinewatcher.html (tinyurl version): http://tinyurl.com/cybwnr Thursday, June 4, 2009
  • 33. 6. Buy the developer whiskey. Thursday, June 4, 2009
  • 34. 7. Mise en place. Thursday, June 4, 2009
  • 35. mise en place In Flash: + Deep linking + Loading scheme(s) + Library items organized In HTML/CSS/JavaScript: + SEO + Flash detection + Minimum browser resize Thursday, June 4, 2009
  • 36. mise en place Thursday, June 4, 2009
  • 37. mise en place Thursday, June 4, 2009
  • 38. mise en place Thursday, June 4, 2009
  • 39. 8. Start from scratch. Thursday, June 4, 2009
  • 40. 9. Strive for exellence. (not perfection) Thursday, June 4, 2009
  • 42. strive for excellence + 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. Thursday, June 4, 2009
  • 43. Reindeer Games Were you invited? Thursday, June 4, 2009
  • 44. Reindeer Games Were you invited? Thursday, June 4, 2009
  • 48. in conclusion + 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. Thursday, June 4, 2009
  • 49. thanks. bigspaceship.com labs.bigspaceship.com twitter: jkosoy Thursday, June 4, 2009