This book could not have been written without the abundant trust and very active support of both Adobe and O'Reilly. In the summer of 2005, in a meeting with Steve Weiss, Lisa Friendly, and Mike Chambers, I agreed to write a new book called Essential ActionScript 3.0. The book was originally billed as "a short update to Essential ActionScript 2.0." But as the ActionScript 3.0 language evolved, Essential ActionScript 3.0 become a full work of its own. Patiently and faithfully, Adobe and O'Reilly watched the book increase vastly in scope, and agreed to let the publication deadline creep from nine months to two years. Throughout the entire process, I truly believed we were making the right choice, and I'm honored that Adobe and O'Reilly agreed.
Throughout this book's writing, Adobe graciously furnished me with full access to internal resources and official engineering time for technical reviews. I owe great thanks to JuLee Burdekin and Francis Cheng from Adobe's documentation team. JuLee and Francis coordinated my efforts internally at Adobe and answered a seemingly endless stream of questions.
Dozens of Adobe employees provided me with information and instruction during this book's research. I am deeply grateful to all of them, and would especially like to thank the following:
Francis Cheng was a constant source of information on the core language and provided invaluable feedback on Essential ActionScript 3.0's manuscript. Francis sits on the ECMAScript 4 committee and is one of the authors of the ActionScript 3.0 specification.
Jeff Dyer consistently took time out of his schedule to help clarify core-language concepts and investigate bugs. Jeff is one of the principal developers of the ActionScript 3.0 compiler, the principal author of the ActionScript 3.0 specification, and a key member of the ECMAScript 4 committee.
Deneb Meketa patiently endured my misunderstanding of Flash Player's security system. Through phone calls and emails that spanned more than a month of intensive research, Deneb managed to bring clarity to Chapter 19. Deneb is the engineer responsible for implementing security in Flash Player.
Jeff Mott, Flash Player engineer, consistently offered extensive, near instant responses to my questions about ActionScript's event system.
Jim Corbett, Flash Player engineer, helped me understand many display list and event-loading subtleties.
Rebecca Sun, Flash authoring engineer, answered many questions about the links between the ActionScript 3.0 compiler and Flash CS3. She also listened openly to suggestions, and endured my frequent spontaneous requests for information over instant messenger.
Lee Thomason, Flash Player Architect, gave me a personal education in Flash Player's text rendering engine.
Roger Gonzalez, Flex Compiler Architect, regularly fielded my questions on class loading and the Flex compiler.
Werner Sharp, Flash Player engineer, explained many subtle nuances of bitmap programming in ActionScript.
Paul Betlem, Senior Director of Flash Player Engineering, helped facilitate the technical review process and reviewed several chapters himself.
Mike Chambers, Senior Product Manager of Developer Relations for Adobe AIR, provided regular technical information, and helped nurture the Essential ActionScript 3.0 project from its earliest stages.
Gary Grossman, the original creator of ActionScript, taught me much of what I know about programming for the Flash platform. In August 2006, Gary teamed up with the inventors of Flash (Jon Gay and Robert Tatsumi) to co-found a new company, Software as Art. See http://www.softwareasart.com.
Other Adobe staff, past and present, that I'm honored to know and work with include Mike Downey, Kevin Lynch, Paul Betlem, Edwin Smith, Christine Yarrow, Jeff Kamerer, Nigel Pegg, Matt Wobensmith, Thomas Reilly, Jethro Villegas, Rob Dixon, Jeff Swartz, Waleed Anbar, Chris Thilgen, Gilles Drieu, Nivesh Rajbhandari, Tei Ota, Akio Tanaka, Sumi Lim, Troy Evans, John Dowdell, Bentley Wolfe, Tinic Uro, Michael Williams, Sharon Seldon, Jonathan Gay, Robert Tatsumi, Pete Santangeli, Mark Anders, John Nack, Matt Chotin, Alex Harui, Gordon Smith, Sho Kuwamoto, Craig Goodman, Stefan Gruenwedel, Deepa Subramaniam, Ethan Malasky, Sean Kranzberg, Michael Morris, Eric Wittman, Jeremy Clark, and Janice Pearce.
Table 1 gives a statistical view of the depth of gratitude I owe this book's official technical reviewers.
Table 1. Adobe reviewers
Number of emails fielded
Computer Scientist, Flash Platform
Senior Quality Engineer, Flash Player
14, 19, 21, 22
Senior Technical Writer
1–11, 13, 15, 16, 18
Compiler Architect, ActionScript Language Group
Computer Scientist, Flash Player Engineering
Senior Computer Scientist, Flash Player Engineering
20, 23, 24, 28
Architect, Flash Player
Senior Product Manager, Developer Relations,
Computer Scientist, Mobile and Devices
1, 2, 24, 27–31
Senior Director, Flash Player Engineering
20, 27, 26
Computer Scientist, Flash Authoring
7, 29, 31
Senior Engineer, Flash Authoring
Flex Compiler Architect
25, 30, 31
Senior Computer Scientist, Flash Player Engineering
Thanks to Robyn Thomas, this book's editor, who reviewed and polished the manuscript with great speed and precision. Thanks also to all of the members of O'Reilly's management, editorial, production, interior design, art, marketing, and sales teams including Tim O'Reilly, Steve Weiss, and Karen Montgomery. And thanks to the copy editor, Philip Dangler, for helping to ensure the text's consistency, readability, and accuracy.
In addition to being technically reviewed by Adobe staff, this book was also inspected for accuracy and quality by a keen group of beta readers, including Brett Walker, Chafic Kazoun, Derek McKenna, Edwin van Rijkom, Greg Burch, Jim Armstrong, Jon Williams, Mark Jonkman, Matthew Keefe, Mauro Di Blasi, Ralf Bokelberg, Ric Ewing, Robin Debreuil, and Victor Allen. The beta readers were indispensable, catching a great number of inconsistencies and subtle code errors. Mark Jonkman bears special mention for his extremely meticulous examination of the manuscript and its code examples.
Two mentors who helped shape me as a programmer and a writer are Bruce Epstein and Derek Clayton. Bruce was the editor for all of my previous books, and his rich lessons still inform every word I write. Derek is the creator of moock.org's Unity multiuser server (http://www.moock.org/unity), and a regular source of programming inspiration and friendship.
Finally, love and peace to the following for their love and friendship: James Porter, Graham Barton, Joe Duong, Tommy Jacobs, Wendy Schaffer, Andrew Harris, Dave Luxton, Dave Komlos, Marco Crawley, Eric Liphardt, Ken Reddick, Mike Linkovich, Matt Wearn, Mike Dobell, Mike "Nice," Hoss Gifford, Erik Natzke, Jared Tarbell, Marcos Weskamp, Dan Albritton, Francis Bourre, Thijs Triemstra, Veronique Brossier, Saima Khokhar, Amit Pitaru, James Patterson, Joshua Davis, Branden Hall, Robert Hodgin, Shin Matsumura, Yugo Nakamura, Claus Whalers, Darron Schall, Mario Klingeman, Fumio Nonaka, Robert Reinhardt, Grant Skinner, and the Moocks.