Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Wherever there is a piece of glass, there is an opportunity to deliver a rich and immersive user experience upon Adobe technology.
In 2005, my own RIA consultancy, iteration::two, was acquired by Macromedia and then Adobe, creating a tremendous opportunity for me to meet with our customers, partners, and community around the world to understanding the challenges that they face and the manner by which Adobe technology is uniquely positioned to address these challenges. Whether these are the innovative start-ups or hundreds-of-year-old financial services institutions, governments or peacekeeping organizations, or organizations managing clinical trial processes or salesforce automation, the value that we can deliver them with Adobe technology remains the same.
I like to describe this opportunity to customers as the opportunity to "Innovate on Both Sides of the Glass."
Behind the glass, complex enterprise architectures, manual paper-based processes with electronic processing and business workflows where people are intermingled with electronic business processes are the order of the day — the server-side infrastructure and enterprise architectures that are the engines for our economy.
In front of the glass, we can hide all of the complexity of these underlying systems with screamingly simple, elegant, rich and immersive user experiences that are useful, usable and desirable, and consistent across platforms and devices, where the medium of delivery is matched to the moment of interaction. Whether it is the glass display of a mobile device, a car dashboard, a touch-screen kiosk, an ATM, a desktop computer, or a conventional web browser, there is an opportunity to deliver a user-centric experience, leveraging the ubiquity of the Flash Player and Adobe Integrated Runtime (AIR) that is consistent to all.
As a software developer, this is an incredibly compelling juncture we find ourselves at — able to create software that, through the effectiveness of the user experience, can remove the day-to-day frustrations that permeate so much of the applications that we endure day-to-day in our own lives.
I trust that the opportunity to participate in this revolution, the chance to innovate on both sides of the glass in the projects that you deliver, is why you are holding this book now.
Like many of the authors, my first attempts at building rich Internet applications (RIAs) were with Flash rather than Flex; in fact, my first book, Reality J2EE: Architecting for Flash MX, documented my first attempts at creating an online banking solution using Flash MX, remoting technology, which is now part of the plumbing of Flex, and J2EE. I had the privilege of working with some incredibly talented designers and developers to apply that knowledge to building some real-world enterprise-grade RIAs, but the development experience was left wanting.
However, that experience matured as I wrote Developing Rich Clients with Macromedia Flex, the first book to accompany the launch of the Flex development platform. During the course of writing that book, I learned one of the most incredible things about Adobe technology, and particularly about the technologies around the Flash platform — the depth, talent, expertise, diversity, and passion of the community of designers and developers who have chosen to base their livelihood upon these technologies.
What's exciting about the book that you are holding in your hands is that the authors themselves reflect that depth, talent, expertise, diversity, and passion and are indeed a tremendous cross-section of the community they participate in. I know many of these authors personally, whether as peers in the industry who have become friends, friends who have become colleagues, or community leaders who have gained my respect and the respect of their peers through their tireless contributions around the Adobe platform.
Furthermore, this team of authors reflects the ecosystem itself, whether they are individual contractors for hire, product developers working in product teams, or consultants belonging to professional services organizations. This team of authors has been responsible for delivering some of the most innovative and complex solutions across all industries; what you have encapsulated in this book is not just thought leadership but lessons learned in the field, on projects that have spanned weeks of effort to, in many cases, several man-years of effort.
Joseph Balderson and Peter Ent are community leaders, known to the Flash community before transferring their knowledge and expertise to delivering more complex experience upon Adobe Flex. Between them, Joe and Peter will ensure that you lock in the fundamentals of working with Flex and Flex Builder, MXML, and ActionScript, developing with containers and controls and the underlying event-programming model that underpins each and every application you will develop.
Andrew Trice has been a tireless advocate of Flex in the community, working with Cynergy Systems, one of our Adobe partners who have hugely invested in applying their software engineering heritage to the user-experience approaches that RIAs so clearly benefit from. To this end, Andrew really focuses in his contributions on helping you understand the techniques necessary to translate a user-experience designer's vision into the code that breathes life into it, with skinning, choreographic effects, and the seamless blending of rich media into your digital experiences. David Hassoun contributes also, helping you understand how to bring content in from Flash authoring, as well as integrate video and sound more effectively. Thereafter, Andrew will help you understand how to ensure that these experiences can sit atop mission-critical applications, introducing you to design patterns and application development strategies such as those related to security and performance.
Another enterprise software developer who found his way from Java and .NET to the Adobe platform is Todd Prekaski. Todd has already written several articles on Adobe.com about Flex and AIR, and his contributions to this work will really help you think about the extra steps you need to take to break your applications out of the browser and target the Adobe Integrated Runtime (AIR) on the desktop.
If you have followed the O'Reilly Inside RIA community, I'd be surprised if you haven't been following the work of Jun Heider. Jun contributes some great chapters on data management, which I highly recommend that you supplement by checking out his O'Reilly column.
Finally, there are two authors in this book whom I know most of all, and who compelled me to write this foreword in the first place — Joe Berkovitz and Tom Sugden.
Joe Berkovitz is an incredibly prolific developer and one of those people who just seems to be incredibly talented at whatever he chooses to invest his time and energy in, and the Adobe and Flex communities are indeed the better for it. Joe has been instrumental in shaping the direction of the platform itself. I participated with Joe in the Customer Advisory Boards for the very first versions of Flex, and many of the features and specifications you see in place today are the result of Joe's contributions. Since Flex was released to the open-source community, Joe has offered not only ideas but also code — he is an incredibly trusted advisor to the engineering teams at Adobe. As lead architect at Allurent, Joe has been responsible for creating one of the most complex e-commerce platforms upon Flex. His most recent venture — Noteflight — combines Joe's passion and talent for music with an incredible score editor, a beautifully simple immersive user experience for writing and sharing music.
Tom Sugden works within the Technical Services organization beside me at Adobe; indeed I hired Tom to join our consulting team, and since that time, he has most certainly not disappointed, leading some of our largest delivery teams of customers, partners, and Adobe Consultants in the delivery of some of the most beautiful, immersive, industry-changing, and complex enterprise applications I've seen in my career. Along the way, Tom has absorbed, iterated, and innovated in the engineering practices applied to these projects and has been instrumental in bringing best-in-industry software discipline to the development of applications upon Adobe technology. As Tom has contributed his chapters, he has continually sought me out to review them to ensure that he wasn't disclosing too much intellectual property. However, we have erred on the side of ensuring that he capture and present the most current thought leadership with the Adobe Professional Services organization, as few are more articulate and clear at presenting this leadership as Tom. For me, Tom's chapters on unit testing, test-driven development, logging and debugging, advanced development with Cairngorm, data management services and messaging, stress testing, and automation testing are the chapters I would have liked to have written in my Flex book, had I the depth of project knowledge under my belt at the time of writing that Tom does now. I will be referring my own development teams to these chapters as the price of admission into any team I am responsible for.
And so there you have it: a team of community leaders with a maturity and depth of industry experience gained since the phrase "rich Internet application" was first coined by Macromedia, a team of community leaders who bring with them a depth of expertise developing with Adobe Flex and AIR.
Most important, however, is you. By absorbing the information this book contains, by building relationships and rapport with the authors through their guidance in this book, and by engaging with them in the community, you are investing in yourself and enabling yourself to make a fundamental difference to the world that we are living in through your software development craft.
There is a tremendous opportunity for you to participate in a revolution, where designers and developers organize themselves around human beings and Adobe technology, and create truly differentiated solutions that "Innovate on Both Sides of the Glass."
Wherever there is a piece of glass, there is an opportunity for you to participate in this innovation.
I look forward to seeing your fingerprints everywhere I look.
—— Steven Webster
Steven Webster is director of technology and experience innovation at Adobe Systems. Working within the Technical Services organization — an organization that brings together over 700 customer-facing technology and design professionals in technical sales, technical enablement, professional services, technical account management, customer care, and technical response and support — Steven and his team are responsible for driving best practices around technology implementations and user-experience design across the organization, helping to ensure that whenever someone engages with a solution built upon Adobe technology, it is "Innovative on Both Sides of the Glass."
In 2002, Steven was at the forefront of rich Internet application (RIA) development as the field emerged. He wrote the first book on creating RIAs for the enterprise, Reality J2EE: Architecting for Flash MX, showcasing at the time how Flash and J2EE technologies could be combined with software engineering disciplines such as agile development, unit testing, Test-Driven Development, and continuous integration, as well as introducing the RIA community to many of the J2EE design patterns that have been adopted for RIA development.
At the same time, Steven cofounded iteration::two, one of the first consultancies to specialize in delivering RIAs upon enterprise infrastructures. Through iteration::two, Steven and the team delivered many firsts: introducing the prevalent Cairngorm framework to the open-source community and the FlexUnit testing framework (both now available on Adobe Labs), delivering the first-ever production deployment of Flex in Europe and the first-ever Flex-based RIA for a financial services organization in Europe.
With his cofounder, Alistair McLeod, Steven wrote the first Flex book to accompany the launch of the product, Developing Rich Internet Applications with Macromedia Flex.
Since joining Macromedia and Adobe in 2005, Steven first led the worldwide consulting team and later the wider technical services team, in driving best practices and implementations across Adobe technologies. He is recognized as a passionate and evangelical speaker who has spoken all over the world at analyst conferences, internal events to Adobe customers, and community events such as the Adobe MAX events.
Steven travels across Europe and the United States, meeting with development teams and senior business leaders across Adobe's enterprise customers and media and broadcasting customers.
Steven is most passionate when he is helping customers to marry best-in-industry user-experience design with best-in-industry software-engineering methods, seamlessly blending Adobe technologies "on both sides of the glass" with existing architectures and infrastructures.