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
 
Intro To Git
Intro To GitIntro To Git
Intro To Git
 
理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定理解开放教育的意义 突破教育资源的限定
理解开放教育的意义 突破教育资源的限定
 
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
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 

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