This book would not have been possible without the help and support of so many individuals.
First and foremost, I'd like to thank the people at Packt Publishing; in particular, Steven Wilding for providing me with this wonderful and unexpected opportunity; Maitreya Bhakal for his guidance and encouragement; and Kedar Bhat for his assistance and endless patience.
I'm extremely lucky to have had such talented technical reviewers (Daniel Albu, JP Berrie, Simon Buckley, Mark Doherty, Richard England, Stuart McLeman, Brian Rinaldi, and David Wagner) who, despite their workloads, managed to find the time to provide invaluable feedback. Dave and JP: I really owe you both for your perseverance over the last few weeks.
Various individuals at Adobe have also helped me along the way. Particularly, I'd like to thank Mark Doherty and Brian Rinaldi for their immense contribution and enthusiasm towards the project. I'd also like to extend thanks to Robert Christensen for always taking the time to answer my questions over the past twelve months.
A huge debt of gratitude is also owed to my brother Alan (alancaleb.com), Steve Koren (popjunk.co.uk), and Selina Wagner (blobina.com) whose creative talents grace the many code examples found within these pages. Also, a mention must go out to Matt McKenna (maketh.com) and Andrew Nicolson (drewnotweird.co.uk) for the part they both played.
I would also like to thank Graham MacDonald for affording me the time to write and, at the same time, earn a living; Helen and my little nephew Freddy (I love him even more than Flash) for making me smile; Gregory for providing the arm wrestling training that helped develop my typing stamina; and Amanda who makes every day better than the last. Special thanks must also be extended to Bobby Farmer who has always made time for me over the years and has been a constant source of encouragement.
Finally, to my father, mother, brother, and sister, I cannot thank you enough for your love and support, without which I am nothing.