The authors, leading Flash platform developers at Almer/Blank, working with Adobe User Group communities, are the creators of the Rich Media Exchange RMX, a social media network for Ad
Trang 1this print for reference only—size & color not accurate spine = 0.9682" 512 page count
goes far further The authors, leading Flash platform developers at Almer/Blank,
working with Adobe User Group communities, are the creators of the Rich Media
Exchange (RMX), a social media network for Adobe developers In covering just
how the RMX was built, this book contains all the knowledge you need to build
similar large-scale Rich Internet Applications with Adobe Flex.
From the inception of the idea through to deployment, the authors show the
techniques needed to plan and build advanced applications You’ll learn how to
use forms, styles, validators, video, sound analysis, and framework caching, ensuring
you make the most of the new features introduced in Flex 3.
Powerful applications require solid back ends This book shows how to hook up
a Flex application to PHP back-end systems such as Drupal and OpenAds You’ll
learn how various parts of the RMX were built, including the blogs, event calendar,
jobs board, and advertising system—elements that come together to really showcase
the power of Flex.
The RMX is built by Adobe Developers for Adobe Developers—a rewarding
community relationship that guarantees results The same spirit is carried into this
book, with the authors wanting and helping to take you to the next level of Flash
Platform application development.
Blank Otuome Gonzalez Charlton
OMAR GONzALEz, AND CHRIs CHARLTON Foreword by James Talbot,
Principal Instructor, Adobe systems IncorporatedAdvancED
Flex Application Development
Building Rich Media X
Use the latest Flex 3 enhancements including runtime shared libraries and framework caching
see how to integrate your dynamic Flex interfaces with back-end systems like PHP, Drupal, and
OpenAds so you can build large-scale applications from end to end
Make your Flex applications recognizable to search engines with sEO optimization techniques for higher rankings and results placement
US $54.99 Mac/PC compatible www.friendsofed.com
In this book you’ll learn how to
Effectively plan, wireframe, specify, develop, and release large-scale Flex
applications, and discover what other development tools you’ll want to start
using immediately
Make your Flex applications look less like Flex with advanced styling
and skinning techniques
Harness advanced Flex form features, including coding validators and building
your custom form components
Implement a robust advertising system for a Flex application using OpenAds
Build powerful, custom multimedia players in Flex, including video players with
the native VideoDisplay class and from scratch, and music players with advanced
Trang 3AdvancED Flex Application
Development
Building Rich Media X
R Blank Hasan Otuome Omar Gonzalez Chris Charlton
Trang 4Kinetic Publishing Services, LLC
Cover Image Designer
AdvancED Flex Application Development:
Building Rich Media X
Copyright © 2008 by R Blank, Hasan Otuome, Omar Gonzalez, and Chris Charlton All rights reserved No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission
of the copyright owner and the publisher.
ISBN-13 (pbk): 978-1-59059-896-2 ISBN-10 (pbk): 1-59059-896-2 ISBN-13 (electronic): 978-1-4302-0441-1 ISBN-10 (electronic): 1-4302-0441-9 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book Rather than use a trademark symbol with every occurrence of a trademarked name,
we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement
of the trademark.
Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013 Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705
Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit www.apress.com.
The information in this book is distributed on an “as is” basis, without warranty Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work The source code for this book is freely available to readers at www.friendsofed.com in the Downloads section.
Credits
Trang 5To my parents, Marion and Martin, and my brother, Jonathan, for all they have given me in life, especially the ability to communicate my thoughts fluently, the confidence to do so abundantly, and the drive to keep doing it To my amazing team at Almer/Blank who make it possible for me to do everything I do, through their outstanding skills, vision, imagination, drive, and dedication To Stephanie, who for years told me that I would write a book, whether I wanted to or not And, of course, to Puck and Pippin, who never once complained
when I stayed up writing till 4 a.m., even if that meant I forgot to feed them.
here if it weren’t for everything you’ve taught me—thank you.
Quisiera dedicar este libro a mis padres, Juan y Maria Reyna Gonzalez No hay palabras para expresar el amor y agradecimiento por todo lo que han hecho por mi No estaria aqui
sin la educacion que me dieron ustedes—gracias.
Omar Gonzalez
To my loved ones—as always I share my love, dedication, and dreams.
Chris Charlton
Trang 6Foreword xv
About the Authors xvi
About the Technical Reviewer xviii
About the Cover Image Designer xix
Layout Conventions xx
PART 1 PLANNING THE RMX Chapter 1 Introduction to Flex 2 Applications 3
Chapter 2 Defining the Application: Introducing the RMX 19
Chapter 3 Planning the Application: Building the RMX 43
PART 2 BUILDING THE RMX CORE FUNCTIONS Chapter 4 Preparing to Get to Work 95
Chapter 5 Styling Flex 113
Chapter 6 Collecting and Working with Aggregated Content 145
Chapter 7 Secondary Navigation 165
Chapter 8 Forms and Validation 197
Chapter 9 User Communications 233
Chapter 10 Working with Video 261
Chapter 11 Advertising and Flex 299
CONTENTS AT A GLANCE
Trang 7PART 3 BUILDING OUT NEW FEATURES
Chapter 12 Building the Blog 319
Chapter 13 Building the Jobs Board 337
Chapter 14 Building the Event Calendar 371
Chapter 15 Ideas for the Future: Extending the RMX 391
PART 4 SPECIAL TOPICS Chapter 16 RSLs and Persistent Framework Caching 419
Chapter 17 Search Engine Optimization for Flex 429
Chapter 18 Building an Audio Visualizer in Flex 443
Appendix The Evolving Flex Scene 457
Index 475
v
Trang 8Foreword xv
About the Authors xvi
About the Technical Reviewer xviii
About the Cover Image Designer xix
Layout Conventions xx
PART 1 PLANNING THE RMX Chapter 1 Introduction to Flex 2 Applications 3
The Flash Platform and Web 2.0 3
Just what is this Web 2.0? 4
What’s Flash got to do with it? 5
Ubiquity 5
Reliability 5
Experience 6
Video 7
ActionScript 3 9
What is Flex? 10
To Flex or not to Flex 12
Is it an application? 13
Does it use components heavily? 14
How much custom skinning will be required? 14
Flexers are from Mars, Flashers are from Venus 14
Summary 16
Chapter 2 Defining the Application: Introducing the RMX 19
The amazing Adobe communities 20
The idea for the RMX is born 21
Defining the goals and functionality 22
Understanding the network 23
Independent application at an independent URL 23
Flexible feature set 26
CONTENTS
Trang 9Core features 26
Event calendar 26
Membership communication 26
Forums 26
Blogs 27
Front pages 27
Video network 28
Jobs board 28
Social media functionality 28
Tagging 29
Commenting 29
Rating 30
Sharing 30
Flagging and moderation 31
RSS feed generation 31
Advertising 32
The tools for the task 32
A word on GNU GPL 32
Application platform 33
Flash and Ajax 33
LAMP 33
FlexTube.tv 34
Drupal 34
FFMPEG 35
OpenAds 35
EdgeCast 36
AMFPHP 36
Design and development tools 36
Adobe Illustrator, Fireworks, and Flash 36
Adobe Flex Builder 37
Flex-Ajax Bridge 37
OmniGraffle Professional 37
Firefox plug-ins 37
Project management tools 38
MS Project and Project Insight 38
Mantis 39
Subversion 39
Summary 40
Chapter 3 Planning the Application: Building the RMX 43
A note on complexity 43
Stages of planning 45
Defining the business requirements 46
Creating the wireframes 47
Authoring the project specification 51
CONTENTS
vii
Trang 10Building the project plan 56
Planning the plan 56
Creating the project guide 59
Creating the project schedule 60
Getting into development 61
Designs 61
Technical specification 62
Development 62
Technical documentation 62
Testing and release 63
Testing 63
Release 64
Specific RMX planning considerations 66
General considerations 66
Web page vs application 66
Searching and filtering 68
The nature of the network 68
Central navigational elements 70
The control panels 70
The site 73
Planning parts of the RMX 78
The jobs board 79
The spec and wires 80
The event calendar 85
The spec and wires 86
The group control panel vs the network control panel 89
The spec and wires 89
Summary 92
PART 2 BUILDING THE RMX CORE FUNCTIONS Chapter 4 Preparing to Get to Work 95
Setting up the development environment 95
Flex Builder stand-alone or Eclipse plug-in installation 96
Source control, SVN, and Subclipse 96
PHPEclipse 97
Planning your application’s structure 97
Database design 97
Project structure and namespaces 97
New project template 99
The main application class 100
Data transfer objects 102
Final pointers before writing code 105
Variable and method naming 105
Commenting source control commits 106
Preparing code for documentation 107
Summary 110 CONTENTS
Trang 11Chapter 5 Styling Flex 113
The Flex implementation of CSS 114
CSS 101: A primer 114
Tag selectors 117
Class selectors 119
Inline CSS styling 120
The <mx:Style/> tag 121
ActionScript-driven styling 122
The setStyle method 122
The Embed metadata tag 123
Asset libraries 124
Component-unique properties 126
Scale 9 formatting feature 129
Runtime CSS 135
The Flex Style Explorer 137
Styling considerations and the RMX 138
RMX styling obstacles 139
Hand cursors on Accordion headers 139
Custom ItemRenderers with rollover skins 141
Summary 143
Chapter 6 Collecting and Working with Aggregated Content 145
Data sources 145
Databases 146
MySQL 146
XML 147
XML structures and schemas 147
XML web feeds 147
Sharing outside the network 147
Sharing permalinks 147
Sharing by e-mail 148
Sharing and embedding video 152
Embedding with JavaScript 152
Embedding with XHTML 153
Using RSS 154
Attaching files to RSS feeds 158
XML namespaces and extensions 159
MRSS and syndicating to the Adobe Media Player 162
Summary 163
Chapter 7 Secondary Navigation 165
Pagination 165
Creating the database 167
Building the Products class 168
CONTENTS
ix
Trang 12Building a Flex interface for Products.php 174
Time to import your classes 176
Handling navigation 178
Processing the results 179
Search integration 181
Upgrading the Flex application 184
Modularization 184
Enhancing the code 186
History management 188
Summary 194
Chapter 8 Forms and Validation 197
Data transfer objects 197
Why use DTOs? 197
Setting up a DTO 198
Setting up a form 199
The <mx:Form/> tag 199
The <mx:FormHeading/> tag 201
The <mx:FormItem/> tag 203
Handling user input 205
Collecting the user input 205
Validating user input 208
The validators array 208
Using the Validator classes 209
The EmailValidator 211
More validation 213
The restrict property 213
The maxChars property 214
Confirming the password and e-mail address 215
Submitting the form 221
Validating the form on submission 221
Managing remoting calls 222
Forms, PHP, and security 226
Security: Being careful with user-supplied content 226
Accepting text and dealing with form data 227
Accepting user-generated HTML 227
Accepting user-generated CSS 229
Summary 231
Chapter 9 User Communications 233
Building the communications control panel 233
In the beginning there was ActionScript 236
Overview of the ServiceUtil class 237
ActionScript interfaces 238
Class exploration 239
MXML development 243
Time to organize 245 CONTENTS
Trang 13Layout design 246
Incorporating the data 250
Building the Communications class 252
Building the Services class 254
Extending to the inbox 256
Summary 259
Chapter 10 Working with Video 261
Video boot camp 261
Key video compression concepts 262
Codec 262
Bitrate 263
Framerate 263
Keyframe frequency 264
Constant vs variable bitrate 264
Cue points 265
Delivering Flash video 267
VideoDisplay component 267
Overview of basic properties/events 268
Playing a single static video 268
Adding a time played/total time display 270
Adding video controls 274
Pause/Play button 274
Stop button 276
Volume control 277
Additional functionality 279
Download progress bar 279
Playback progress bar 280
Video scrubber 281
Restricting the scrubber for progressive video players 283
The RMX video player controls 285
Playlists 287
Adding playlist control buttons 291
Restricting playlist controls during ad playback 293
Limitations of the VideoDisplay class 295
Summary 296
Chapter 11 Advertising and Flex 299
Why advertising matters 299
To open source or not to open source? 300
Flash and ads: Play nice, kids! 301
What about instream ads? 301
Our solution 302
Setting up OpenAds 302
Consuming OpenAds in Flex 307
CONTENTS
xi
f7670b088a34e6aa65a5685727db1ff4
Trang 14Really, how powerful is this solution? 313
Beyond the banner 314
Advertising in AIR 315
Summary 315
PART 3 BUILDING OUT NEW FEATURES Chapter 12 Building the Blog 319
A blog? 319
Introducing the RMX blog 320
Installing Drupal 321
Building the blog 326
The Aggregator module 327
The Blog module 332
The Blog API module 332
Customizing the look and feel of Drupal 332
Summary 334
Chapter 13 Building the Jobs Board 337
Content management 337
Drupal modules 338
Generating services and Views 339
Generating Views in Drupal 340
Calling Views through the Services module 341
Learning more about the Drupal Services module 343
Preparing to start the jobs board 344
Advanced DTOs 344
Setting up custom events 348
Connecting to the Drupal services 350
The RMX base class 354
Setting up the jobs browser 355
Calling the jobs service 358
Setting up the list view 361
Handling the details pane 365
The jobs filters 367
Summary 369
Chapter 14 Building the Event Calendar 371
Dating (Web 2.0 style) 371
Examining the RMX calendar 371
Viewing events 372
Filtering events 372
Sharing events 374
Creating events 374 CONTENTS
Trang 15Updating events 375
Deleting events 375
Building the interface 375
Have data, will travel 384
Back-end integration 386
Summary 389
Chapter 15 Ideas for the Future: Extending the RMX 391
The future 391
Data 393
Audio-to-text 393
Closed captioning in Flash 394
Creating a Flex component in Flash 398
Building the component 398
Using your Flash-generated SWC in Flex 402
Transcribing your audio 405
Robust user-generated folksonomy 405
Improved syndication controls 406
Advertising 406
Interstitials 407
Overlays 407
Hotspots 408
Bug-me-later ads 408
Money 409
Paid content 409
Payment models 409
Unit-based model 409
Subscription-based model 409
Points-based model 410
Royalties system 410
User group features 410
Physical library management 411
RSVP 411
Distribution 411
Planning for AIR 412
Planning for the Adobe Media Player 414
Summary 415
PART 4 SPECIAL TOPICS Chapter 16 RSLs and Persistent Framework Caching 419
Why are Flex SWF files big? 419
Runtime shared libraries 420
Persistent framework caching 420
CONTENTS
xiii
Trang 16Setting up an application to use RSLs 421
Testing the caching 425
Custom SWCs and RSLs 426
Summary 426
Chapter 17 Search Engine Optimization for Flex 429
Using semantic markup to define content 430
Head content 430
Body content 432
XML 433
XML feeds 433
XML sitemaps 433
SWF metadata 435
Clean URLs 436
Deep linking 437
Using FXT 438
Summary 440
Chapter 18 Building an Audio Visualizer in Flex 443
AS2 vs AS3 443
Introducing the SoundMixer 448
Understanding the ByteArray 449
Design planning 449
The visualization 451
Summary 455
Appendix The Evolving Flex Scene 457
Designer/Developer workflow 457
Skin Importer 458
CSS outlines 459
Code enhancements 461
Refactoring 461
Class outlines 464
Code search 464
Multiple SDKs 465
Profiler 465
Compilation 465
Component and SDK enhancements 467
Deep linking 467
Runtime localization 469
Smaller SWFs 469
Flex and Flash integration 469
Flex + open source = no limits! 473
Summary 473
Index 475
CONTENTS
Trang 17The world of Internet applications is changing Using Adobe Flex technologies, web applicationslook great, are accessible and portable, and can completely move the end-user experience wellbeyond the page response/request model popularized by HTML Best of all, the Flash Player isthe most widely distributed piece of software in the history of the Internet Never in history has
“the experience” been more important in terms of web applications Using Adobe Flash/Flextechnology, programmers can create state-of-the-art enterprise web applications that enableexperiences unlike anything else on the Web Numerous organizations throughout the worldhave discovered the benefits of Rich Internet Application technology to create better experi-ences for end users, which in turn leads to greater productivity and enhanced social interaction,
a primary goal of sites like YouTube and MySpace The Rich Media Exchange, the building ofwhich is detailed in this book, uses Rich Internet Application technology to foster a greatersense of community among Adobe User Groups worldwide
Getting started with Flex can be simple; MXML tags are easy to learn and provide tremendousfunctionality right out of the box Visual design mode and the host of components that shipwith the product make building your first Flex applications straightforward Taking this knowl-edge to the next level can be more difficult ActionScript has a steeper learning curve, but expe-rienced developers can pick up the basics with relative ease This book, unlike any other on themarket, details the internal workings of a large and complex application that utilizes best prac-tices You will see how a complex social networking site with a host of features, such as a calen-dar, communication among members, forums, and video, is made This book shows you how aFlex application should and should not be built Importantly, it will teach you when and how toutilize the existing Flex components and when to build your own The application shows how tocreate code that is scalable, manageable, and reusable
This book offers the reader an unparalleled insight into a complicated Flex project with a ber of moving parts Not only are Adobe Flex and the Flash Platform covered, but the bookoffers deep insight into the myriad details of planning, source control, documentation, and inte-grating with other technologies, including the server and Ajax This comprehensive look intosuch a large Flash-based application provides a window unlike anything else available on themarket Most importantly, the book details firsthand how Rich Internet Application technologycan enable organizations to better engage with end users and provide a great experience
num-James Talbot
Principle Instructor/Developer
Partner Readiness Adobe Systems Incorporated
xv
FOREWORD
Trang 18R Blank is CTO of Almer/Blank, an Adobe Solution Partner based in Venice, California, that
spe-cializes in video and application development for the Flash Platform, for clients includingE! Entertainment, Live Nation, Microsoft, Apple, and IKEA For over 13 years, he has been aninteractive designer, developer, consultant, teacher, and author, specializing in the planning,development, and release of rich interfaces; R has specialized in Flash since 1999
R holds four Flash Certifications, was one of the first 50 certified Flash Developers in the world,
is an author for the Flash MX 2004 Designer Certification Exam, and is a frequent contributor to
the Adobe Edge newsletter In 2003, he founded and continues to manage LAFlash.org, a
com-munity of over 3,000 Flash industry professionals and home to three Adobe User Groups for theFlash Platform R also serves on the information technology faculty at the University of SouthernCalifornia Viterbi School of Engineering
Previously, R cofounded and served as director of product and design at Wildform, the makers
of the first video encoder for Flash, where he cocreated Flix, the first video encoder for Flash(now owned by On2) R has an MBA in entrepreneurship from the UCLA Anderson School ofManagement and a BA in history from Columbia University, and has studied at CambridgeUniversity (UK), the University of Salamanca (Spain), and the Nizhny Novgorod Institute ofForeign Languages (Russia)
Hasan Otuome is a senior application developer at Almer/Blank, where he can usually be found
developing Rich Internet Applications for the company’s clients He is an Adobe Flex championwho espouses creative uses and combinations of Flash, Flex, AIR, PHP, MySQL, and ColdFusionfor their benefits in creating unique user experiences
When not immersed in client development, Hasan can be found lending a helping hand to thedevelopment community at sites such as LAFlash.org, gotoAndLearn.com, thesourcecode.org,and ActionScript.org
ABOUT THE AUTHORS
Trang 19Omar Gonzalez is a senior application developer at Almer/Blank who has been developing for
the Web since 1997 He has acquired a strong sense for developing accessible sites employingweb standards, open source projects, and frameworks like Drupal and CSS During the quick rise
of Flash, he began to incorporate the popular technology in the sites he worked on, addingFlash development as well as PHP and MySQL to his repertoire
Omar has developed Flash video applications for companies like eHarmony and has spoken atconferences like FITC on such topics as Flash video, Motion XML, and AIR Over the past twoyears he has been developing Flex applications, harnessing the power of Flash Platform tech-nology to create cutting-edge Rich Internet Applications Omar is on the resident faculty at theRich Media Institute, teaching topics in Flex, HTML/CSS, and web development, and he is anactive member of the LA Flash user groups
Chris Charlton is a software architect at Almer/Blank and an Adobe Flex champion He is a
CSS and ActionScript expert who successfully cannonballed into web development in the late
’90s and has been programming since childhood Always caught up with the latest in Flash,Dreamweaver, Fireworks, and XML, Chris authored premium articles for the largest Dreamweaver/Flash community, DMXzone (www.dmxzone.com), and produced WebDevDesign, a popular webdesign and development podcast featured on iTunes Somehow, Chris finds time to run anauthorized Adobe user group, LA AIR, focused around open source and Adobe technologies
As a community leader, Chris Charlton remains a resident faculty member of the Rich MediaInstitute and lends himself to speak at large industry events, like JobStock, NAB, andFITC Hollywood Brain cycles from Chris are always web standards, the Flash Platform, andaccessibility
xvii
Trang 20Lar Drolet is a senior software engineer in Los Angeles where he develops Flex, AIR, and Flash
applications Lar is part of an ambitious team of developers and recently spoke at MAX and FITC
on Flex and AIR topics Not your typical engineer, Lar is an aspiring triathlete with a degree ineconomics and an MBA who will begin another graduate degree this spring
ABOUT THE TECHNICAL REVIEWER
Trang 21Bruce Tang is a freelance web designer, visual programmer, and author from Hong Kong His
main creative interest is generating stunning visual effects using Flash or Processing
Bruce has been an avid Flash user since Flash 4, when he began using Flash to create games, websites, and other multimedia content After several years of ActionScripting, he found himselfincreasingly drawn toward visual programming and computational art He likes to integratemath and physics into his work, simulating 3D and other real-life experiences onscreen His firstFlash book was published in October 2005 Bruce’s folio, featuring Flash and Processing pieces,can be found at www.betaruce.com, and his blog at www.betaruce.com/blog
The cover image uses a high-resolution Henon phase diagram generated by Bruce withProcessing, which he feels is an ideal tool for such experiments Henon is a strange attractor cre-ated by iterating through some equations to calculate the coordinates of millions of points Thepoints are then plotted with an assigned color
Trang 22To keep this book as clear and easy to follow as possible, the following text conventions areused throughout:
Important words or concepts are normally highlighted on the first appearance in bold type.
Code is presented in fixed-width font
New or changed code is normally presented in bold fixed-width font.
Menu commands are written in the form Menu ➤Submenu ➤Submenu
Where we want to draw your attention to something, we’ve highlighted it like this:
Sometimes code won’t fit on a single line in a book Where this happens, we use an arrow like
this: ➥.
This is a very, very long section of code that should be written ➥
all on the same line without a break
Ahem, don’t say I didn’t warn you.
LAYOUT CONVENTIONS
Trang 23This book is about how we at Almer/Blank used Flex, along with other open source nologies like Drupal and OpenAds, to help create a great application, the Rich MediaExchange, or RMX Flex is a remarkable new way to build Internet-connected applica-tions; developers can now build Flash Platform projects of far larger scope and complex-ity than ever before So many books on Flex cover the basics—we want to take thisopportunity to extend that knowledge, to show you some of the techniques, code, andplanning that goes into building an advanced Flex application.
tech-We’ll get into the heavy technical stuff pretty soon, but in these first three chapters, wediscuss the state of Flash (where it’s at, what it offers, and what Flex has added to theequation) and then introduce you to the RMX, what it is, what tools we used to build it,and how we planned for the process
PLANNING THE RMX
Part 1
Trang 25What an amazingly exciting time for Flash! Flash technologies are now way morepowerful than ever, and with Flex you now have a whole new way of creating contentfor the Flash Platform To get you started on the road to excellence in Flex applica-tions, this chapter gives you some background on the current state of the industry,what people are doing with Flash, and what Flex is adding to the mix.
Of course, the Internet isn’t about technology—it is about experiences Technology issimply the set of tools we developers use to create and deliver those experiences.Understanding how to create enjoyable, usable, and valuable Internet experiencesinvolves knowing how to integrate multiple technologies to achieve your specificgoals Different developers have different opinions on this, and any communityapplication must involve several technologies Increasingly, Flash technology isadding vitality, power, and depth to more and more aspects of these experiences
The Flash Platform and Web 2.0
The Flash Platform has evolved to a point of such power and flexibility that the ations now possible are awe-inspiring and available on an increasing variety ofdevices From 2001, when my colleagues and I at Wildform created Flix, the firstvideo encoder for Flash, we have come to the point where a business like YouTube,based entirely around Flash Platform video technology, is valued at over $1.5 billion,
cre-3
INTRODUCTION TO FLEX 2 APPLICATIONS
By R Blank
Chapter 1
Trang 26and the entertainment industry has recognized the contributions of Adobe Flash video in the form of
an Emmy award
For those of us who have been working with Flash since the 1990s, through boom and bust and years
in the wilderness, it is so gratifying to see this amazing technology receive the attention and ment that it deserves And those new to the technology—like you reformed Java jockeys—are joining
invest-at a time of immense potential
But, in order to comprehend just what’s so exciting about the current scene, you should first
under-stand what the current scene is That scene is commonly referred to as Web 2.0.
Just what is this Web 2.0?
Web 2.0 is a term used so frequently now that it’s very easy to lose sight of what it actually means Infact, most people outside of Internet-related industries—and even many inside—don’t have a workingdefinition of Web 2.0
While there is no single accepted definition of Web 2.0, in my mind it refers to a general sense of aquantum leap in the quality of Internet-based experiences in the past few years In my opinion, Web2.0 began the day Netflix changed their ratings widget so that users didn’t have to refresh the page torate a video—they can now do so simply and quickly, inline in the page without updating the URL.That might sound like a minor change, but in practice it allowed a Netflix user such as myself to ratedozens of movies—even on a slow connection—in the time that it previously took to rate just a few,which meant that Netflix could provide better recommendations for me (and, of course, the friends Inow share those recommendations with will have deeper insight into my soul) The fact that I experi-enced the new ratings feature on a faster computer with a faster Internet connection meant that thevalue of the new ratings widget was that much greater That is a major leap in the value of the serviceNetflix provides to consumers and content providers
Of course, there really is nothing new, per se, represented by Web 2.0 But the various aspects thatconstitute Internet experiences—the software, the computers that run the software, and the connec-tions that network those computers—have all individually evolved to a point where, when combined,they enable experiences that are vastly more powerful, varied, specialized, enjoyable, and productive
In tangible terms, Web 2.0 manifests as video-sharing sites, wikis, blogs, and communities—technologiesthat enable user-generated content across a variety of media and forms—and RSS feeds, podcasts,and applications like Google Maps—technologies that improve user access to and interaction with thewide variety of media being generated Other features, such as permalinks (permanent, bookmarkableURLs for dynamic content), taxonomies (editorial tagging), and folksonomies (user-generated tag-ging), are the mortar holding this Web 2.0 together
But, in essence, Web 2.0 is just the proper execution of what we all wanted Web 1.0 to be—and whatmany, many Internet-focused startups failed while awaiting Indeed, in Tim Berners-Lee’s vision of theWeb, he foresaw “editors,” not “browsers,” that enabled users to edit and add to the content withwhich they interacted; however, the initial Internet technologies did not adequately support this vision(with certain notable exceptions—for instance, Amazon’s support for consumer reviews since itslaunch in 1995) It is interesting that Mr Berners-Lee doubts the existence of Web 2.0—perhapsbecause he sees it as the natural evolution of usage of the basic architecture he created
CHAPTER 1