CHAPTER 1
HOW IT ALL BEGAN

image

For designers and developers, there has never been a better time to become involved in the Flash culture. Flash has firmly cemented its status as one of the most versatile pieces of commercial software ever written. And, nearly 20 years after its creation, Flash continues to redefine the way interactive material is delivered. What began as a tablet drawing program has enjoyed continuous development and innovation, thanks to feedback from virtually every corner of new media development.

With the release of Flash CS4, Flash takes its next step into the explosive world of mass extendibility and open source development. A recent increase in the number of external solutions offered in the form of plug-ins and third-party APIs is unparalleled compared to those for previous versions of Flash. Users now enjoy integrated support for many external environments, such as kuler and PixelBender.

Finally, the persistent rise in the number of high-caliber programmers using Flash continues to motivate the evolution of ActionScript, Flash's native scripting language, toward a full-fledged, standards-compliant, object-oriented programming language.

Animators, coders, designers, oh my . . .

We realize there are people coming to Flash from different backgrounds, with different needs. Some of us might use Flash for design, lacking only a touch of ActionScript to finish the job. Others may be programming an interface and need to gain a relatively quick understanding of the various graphics and animation elements Flash has to offer. Flash has become such a powerful, versatile tool that presenting this book to "all people" for "all purposes" is a daunting challenge at best. Nonetheless, it is our goal to write a book that helps people understand this powerful tool and to see how it can be used. This release brings improvements to workflows and tool sets for animators, coders, and designers alike.

If you are a programmer migrating from another language, you can use this book as your transition into the world of Flash. You can easily take your familiarity with another language and apply those principles to ActionScript.

Simply stated, because Flash is so versatile with so many practical applications in so many industries, this book will serve as an excellent starting point for anyone looking to start learning and applying Flash to their specific needs.

What is this thing called Flash?

If you have had no prior exposure to using Flash, you may be wondering what Flash is, exactly. For most people, Flash is the software that is used to make "super cool" web sites. It has traditionally been used to add a level of pizzazz to the Web either through sophisticated animation or highly dynamic page elements like buttons.

As a piece of software, however, Flash is somewhat of an enigma. As you will learn in the rest of this chapter, and eventually the rest of this book, Flash is somewhat of a Frankenstein's monster. It is certainly true that Flash was originally intended to bring animation to the Internet. However, as Flash becomes older, it acquires a greater scope of functionality and purpose.

People now use Flash to any end that requires an interactive solution. Not only is Flash used for enhancing web sites, it can also be used for the creation of presentations, casual games, kiosks, e-learning courseware, and much more. Flash also has the ability to be deployed via the Internet, DVDs, CDs, or local networks. The possibilities are really endless. Because Flash is so adaptable to the needs of the users, it will continue to evolve to meet any requirement the industry places on it.

How did we get here?

Our story begins in the late 1600s, when Sir Isaac Newton wrote a letter to the then-head of the Royal Society, Robert Hooke. You may be wondering how Isaac Newton is relevant to becoming a Flash developer. Well, he isn't—at least, not directly.

You see, Newton had an appreciation for the foundation of his accomplishments. In his correspondence, Newton wrote, "If I have seen further, it is by standing on the shoulders of giants." Now, consider for a moment that Sir Isaac Newton had one of the most influential minds of the last thousand years. His accomplishments in theology, astronomy, optics, mathematics, and chemistry were all revolutionary for his time—and much of his work was in new territory. But what he confided to Robert Hooke is a profoundly humble insight.

Whatever his personal accomplishments, Sir Isaac Newton never failed to recognize and incorporate the hard work of those who laid the foundation before him. He also believed that until a person had sufficient mastery over the fundamental principles of a subject, they had very little business in the realm of discovery.

So, if you're an eager beaver and you want to jump right into Flash, we would suggest you skip directly to Chapter 2.

However, if you are a person who values the completeness that comes with a well-rounded education, we invite you to take a few minutes and learn the peculiar origins of Flash: how it went from a simple vector drawing program to what is now an entire industry. This history is as important to understanding why Flash works the way it does in day-to-day use as it is to gaining insight into how it may evolve in the future.

Creating Flash: SmartSketch

The story of Jonathan Gay and the origins of Flash is a rather interesting one. Having started his professional programming career in high school, Gay achieved more success before graduating college than most current programmers achieve in a lifetime.

As a high school student in the early 1980s, Gay first flexed his programming prowess on the Apple II computer. It was in this environment that Gay took his first steps into the world of graphics editing software. Though his first program didn't sell a million copies, it did attract the attention of soon-to-be-colleague Charlie Jackson.

Gay first met Jackson at a local Macintosh user group that Jackson organized. At the time, Jackson was interested in starting a software firm aimed at the development of Macintosh-based software titles. Though he did have the necessary capital and hardware resources, Jackson required a relatively inexpensive solution to his development needs. Since Gay was a proven programmer but still a high school student, he had the necessary skills and financial flexibility to accommodate Jackson's requirements. Gay began to work for Silicon Beach Software, Jackson's newly formed software firm, while still a senior in high school.

Gay spent his college years writing gaming titles for Silicon Beach. Some of his more notable titles, such as Airborne, Dark Castle, and Return to Dark Castle, won awards and were critically acclaimed. It was during this period that Gay began to develop his interest in rapid and responsive interactive programs. Because of his exposure to animation and interactivity, Gay credits this time as the original inspiration for what would become Flash.

Still in college, Gay returned to graphics development software with his work on Superpaint 2. Superpaint was a ground-breaking program that combined the editability of both vector illustration and raster-based graphics (bitmaps). In this respect, Superpaint was well ahead of its time: the combination of vector and bitmap-based technologies was not effectively realized as an industry standard until the release of Adobe Photoshop 6 in 2000—more than a decade later. (In fact, today's leaders in the production of graphic editing software, like Adobe, still maintain independent environments for the editing of bitmaps and vector drawings.)

In the early 1990s, Gay graduated from college and began full-time work on a pen computing program known as IntelliDraw. Soon after, Silicon Beach Software was acquired by the Aldus Corporation, and IntelliDraw was first released. It was at this time that Gay realized the forthcoming success of the pen computing market. By working as a developer on IntelliDraw, Gay became aware of the how he could revolutionize the user's experience with pen-styled computing. He approached Charlie Jackson with his ideas and suggested that they form a software company devoted to developing cutting-edge, pen-based computing.

In 1993, Gay and Jackson started FutureWave Software. Along with programmer Robert Tatsumi, FutureWave began development on SmartSketch, an innovative pen-based drawing program to run on GO Corporation's PenPoint operating system. Unfortunately for the FutureWave team, PenPoint was discontinued shortly after the release of SmartSketch. This obviously left SmartSketch without a viable platform for deployment. Faced with some tough choices, FutureWave decided to write versions of SmartSketch for both the Macintosh and Windows systems. With existing industry-standard drawing programs already in place for those systems, FutureWave faced stiff competition. It was at this point that the true essence of Flash was born.

Flash's greatness is driven by both innovative vision and an abundance of user feedback. While attending SIGGRAPH in 1995, the creators of SmartSketch received a considerable number of requests for their tool to offer animation functionality. It was also around this time that the emergence of the World Wide Web was beginning to take hold. At this point, the Web was still stateless, and the only way to offer more complex interaction was through Java Applets. Gay knew that this added functionality would ultimately be the key to giving SmartSketch its needed diversification, uniqueness, and edge. This enhanced version of SmartSketch, called FutureSplash Animator, was released in 1996, offering full Netscape support (via plug-in) and an integrated time line for frame-based animations. The combined features of this new software made it possible to quickly and easily deploy vector-based animation to the Web.

It didn't take long for FutureSplash to make its mark on the world of design. When the Microsoft and Disney corporations harnessed its potential for their respective web sites, FutureSplash won the respect of more established and substantially larger software development companies. Because of this exposure, FutureWave was approached by Macromedia. Excited at the prospect of financial stability, FutureWave agreed to be purchased and assimilated by Macromedia.

Thus, in 1996 Macromedia Flash was born. With the release of Dreamweaver in 1997, Flash helped Macromedia successfully redefine itself as the premiere company for the development of web authoring tools. Jonathan Gay remained with Macromedia (and Flash) until its eventual purchase by the Adobe Corporation in 2005. For more than a decade, Gay championed the innovation, direction, and vision of the Flash Platform. This vision is ultimately given much of the credit for moving Flash and the web industry in the direction of the Rich Internet Application (RIA).

It has been over 20 years since Gay first began writing graphics editing programs. In that time, the Flash Player has become one of the most widely distributed pieces of software in the history of computing.

The world today—addicted to change

Before we go any further, it's important to understand the way technologies propagate through popular culture. For example, at the time of this book's writing, the world is entering the social networking and collective intelligence era of web application development. This is not to say that web-based social networking is a new technology—it isn't by any stretch of the imagination. It simply means that, for the next several months, social networking will be the focus of what most companies try to achieve for their respective businesses.

Companies specializing in social networking have been around for years (for example, MySpace and Facebook). However, now that the gold has been discovered, the rush will be on to harness as much of this potential as the market will bear. Subsequently, dozens of lesser-know companies will offer their interpretations of what effective social networking should be.

By the time you read this, social networking will be as relevant to the future of web technologies as the phrase, "You've got mail." Not that it will be obsolete; it will simply be so commonplace and expected that it will no longer be the driving force of our industry.

Please do not misconstrue the previous statements: the fact that this is happening does not mean that the web technologies industry is fickle. Rather, it reveals how quickly web technology evolves. Per Moore's Law, every major aspect of computer hardware doubles about every two years. This holds true for storage, speed, transistor count, and the halving of chip size and cost. In just over a decade the average household Internet connection speed has also gone from 56 kilobytes per second to around 16 megabytes per second. This increase in speed is about 300 percent over 10 years. Though this growth is not actually explained through Moore's Law, but rather Nielsen's Law, there is no doubt that the two are related. It should then come as no big surprise that because hardware cost and capability is advancing so rapidly, new doors are opened everyday for what this hardware is used for.

As a professional in the realm of new media, you will need to possess some degree of discernment when you hear the buzzwords that typically plague our industry. The truth of the matter is that most of these terms are associated with some kind of significant revelation that has occurred in the landscape. Unfortunately, many of them are completely misunderstood and are seldom defined in a commonly acceptable manner.

Therefore, rather than have you, the reader, become lost in the thickets of what would be the endless definitions of the terms "RIA" and "Web 2.0," we will go ahead and break this down . . . according to Flash.

Rich Internet Applications

What then is an RIA? Rich Internet Application refers to the process of web pages moving away from a stateless Internet. We understand that this definition probably needs some elaboration. But in terms of clarity, this is probably the most concise and direct definition of what the term "Rich Internet Application" means.

Functionally, however, Rich Internet Applications are commonly referred to as web applications that behave more like desktop applications, the primary difference being that a trip to the server is no longer required for a web page to process information. In fact a majority of the processing can and is handled by the human-computer interface itself.

Flash was instrumental in this movement because it was both capable of changing states and possessed a native programming language capable of manipulating user information. And, because it was popular and lightweight, it instantly became the platform of choice for deploying Rich Internet Applications.

To gain a better understanding of how important this was to the web industry and why Flash was such a tremendous component, we will take a look at the limitations of the early Internet and what it took to break the stateless barrier.

The stateless Internet

The first thing that needs to be understood is the concept of a stateless Internet. "Stateless" simply means that early web pages did not have "state," or they lacked the ability to change. If a page wanted to update or change its information, it would have to request a new page from the server. Subsequently, all major functionality would have to be performed on the server.

The term "client-server" was then adopted from post-mainframe computing to describe the type of interaction that was occurring on the Internet. As demonstrated in Figure 1-1, if the web page, or client, wanted a change to occur, it would need to request new information via an HTTP request. In order for this process to be completed, the request would need to traverse the Internet and make contact with a web server. The server would then need to process the applicable request and return the response to the client machine in the form of a new HTML page. This is also referred to as a refresh.

image

Figure 1-1. The request-response round trip that occurs when a web page is requested

Unfortunately, the web-based client-server model suffered because potentially significant errors could occur from multiple points of failure. At any given point of this exchange, the request or response could be dropped, and the process would not be complete. One example you are sure to remember is the old web shopping cart checkout that failed to process orders, leaving users wondering if they had just made a purchase or not!

Three-tiered application model

Now that you have firm grasp on the concept of the stateless Internet, it would be advantageous to take a moment to look at the important components of a typical web application. As a new developer begins to become involved with the world of web technologies, it can certainly take a lot of mental work to gain a solid footing: "Should I use ASP or PHP? Will I benefit from using Ajax? Should I use a combination of multiple technologies?" For someone first starting out, the abundance of choices can be overwhelming. The reality of this situation is that, for the most part, web programming languages all behave in essentially the same manner. And, they are definitely responsible for governing the same tasks.

When building web applications, or any application for that matter, a developer needs to focus on three main components, or layers:

Database or data layer Data represents anything that is going to be stored for future use. This can be the storing of states, similar to the way Microsoft Word has the ability to remember where and how you have arranged your toolbars. Likewise, data layers can also be used for the storing of user or product information needed to run an online store. Though the complete list of users, products, comments, reviews, and all the details that are associated with running Amazon.com are significantly more convoluted than how you have arranged the toolbars in Word, it is still the same basic principle.

Please keep in mind that though this is an extremely loose explanation of the data layer, it is important for any application to have the ability to remember. Therefore, if users return to Amazon.com, all of their credit card information is ready to go when they get there. Imagine how annoying it would be to have to reenter this information over and over again.

The most popular technology for the development of web application databases is Structured Query Language (SQL). Several types or brands of SQL exist, but for the scope of this discussion it is sufficient for you to understand that web applications need databases. And these databases are typically written using some form of SQL.

Middleware or logic layer The term "middleware," as it applies to web technologies, is commonly used to refer to the part of an application that connects the data to the presentation (or client) layer. It gets this name because it operates between or in the middle of the other two layers.

The two most commonly used languages for handling this functionality are PHP and ASP.NET. Though quite a few other options exist, most web developers are divided into these two camps. In fact, if you were to try and register for standard web hosting, it is more than likely that you would be asked the question, "Windows or Linux?" This is really the same as asking you if you wanted to have the server configured to run ASP (Windows) or PHP (Linux).

More recently, the world has also become familiar with Asynchronous JavaScript and XML (Ajax). Though not really a language by definition, Ajax is a collection of congruent technologies that effectively use the JavaScript language to access databases directly. Most users will be familiar with Ajax through the use of standard Google applications like Gmail and Google Docs.

One of the other main points of understanding for middleware technologies is that not only can they communicate with the presentation layer, but they also have the ability to be the presentation layer. For example, the "X" in Ajax stands for XML. And for sake of discussion, HTML is a type of XML. Therefore, because HTML is the primary and most basic element for web presentation, Ajax is more or less an intermingling of the presentation layer and the middleware. ASP is also an XML-based language. ColdFusion is another XML-based technology. Though they, like Ajax, have intermingled processing capabilities, the basic language is markup. Subsequently, you could attest that most technologies used for middleware could effectively handle the presentation layer as well.

Presentation layer The presentation layer, also referred to as the client, is where the interaction between the human user and the computer takes place. In the case of the Internet, it is the web page. Traditionally, HTML has been the primary language for rendering web pages. And, if you are viewing web content through a browser, Flash or otherwise, HTML is required.

HTML is a descendant of Generalized Markup Language (GML), which was developed almost 50 years ago by IBM. The purpose of GML was to give meaningful labels to content for the purposes of structure and formatting. This process is similar to the writing of a book, in which the author only needs to appropriately label a chapter heading as a header, and the publishing company takes care of the rest. The publisher will effectively be able to apply the appropriate font size and typeface simply by the author's having labeled certain text as a header. This is essentially how markup languages work. Tags are used to label certain areas of a document, or certain blocks of text, and the browser knows how to format these areas based on style guidelines. Therefore, all languages with the letters "ML" (short for markup language) on the end are going to be concerned with giving structured meaning to otherwise structureless content.

The intended purpose of HTML was to do exactly that. Initially the Internet was to be used for the connecting of communication, documentation, and information. It was never intended that the Internet be what is, quite literally, another dimension of existence. So originally, HTML was created to "format documents" for viewing over the Internet.

The diagram shown in Figure 1-2 illustrates how these three layers communicate between one another. The presentation layer is, again, where users interact with an application either through mobile device, web browser, or browserless application (like iTunes). Therefore this information, once accessed, exists on a user's computer. When displaying information in a browser, HTML is required. This is also the layer where Flash content exists. For basic web applications, this layer communicates with a server using the response-request method.

image

Figure 1-2. A diagram of the three-tiered application model

The middleware or logic layer serves as the liaison between the presentation layer and the data layer. This layer exists on the web server and can access information in a database through a database query. Traditionally, all major functionality was handled by the logic layer. As mentioned previously, though several other solutions such as Java and ColdFusion exist, the two most common languages used for logical processing are ASP.NET and PHP. And, though many people can list the pros and cons of either language, the primary reason to choose one over the other only has to do with which language a developer feels more comfortable with.

Finally, the data layer is a database that also resides on the web server. And just to review, most modern databases are handled by a language called SQL. Like the solutions with the middleware, there are several types of SQL to choose from. The two most common types coincide with the two most popular choices for middleware technology. If you are a developer who is more comfortable with ASP.NET, you will use MSSQL as your brand of SQL. This also has to do with having your web server configured to run Windows. If you are a PHP developer, you will more than likely be communicating with MySQL on a Linux-based web server.

Natural evolution of thin clients

As the natural evolution of the Internet occurred, the demand for client-side functionality became more and more apparent. At this time developers could use Java Applets, JavaScript, and VBScript to add greater flexibility. There were, however, still significant limitations to what could be done programmatically over the Internet.

Though greater client-side functionality was rising, the Internet was still stateless. And, in order for an information change of any kind to take place, new information would need to be sent from the server. A web page couldn't even add 2 plus 2 without refreshing the page. It was within this void that Flash ultimately met a need and found its place in the driver's seat of where the Web is going next.

By now you should have at least a basic working understanding of how web applications function. You should be familiar with the fact that applications need a memory (data), a place for humans to interact (client), and a way for these two layers to communicate (middleware). You should also be well aware of the significant limitations to the client-server model as we have discussed it. Finally, you should also be familiar with how all of these components came together to present a stateless Internet.

With this understanding, we will now take a look at true development of the Rich Internet Application. In all actuality, the only thing that differentiated an RIA from everything else on the stateless Internet was the evolution of the client.

Up to now, you have only been introduced to the client (presentation layer) as just that, a client. It would now be appropriate for us to describe clients, as we have defined them, as thin clients. The term "thin client" simply refers to a human-computer interface (client) that is dependent on a centralized server to handle all of its processing. It is incapable of processing any significant data on its own. We use the term "thin" to suggest a degree of flimsiness; the client does not have the ability to stand on its own.

The evolution of the Internet is not unlike the evolution of the personal computer. This is no doubt why terms like "client" have been derived from traditional computing to describe web-based ideas. Figure 1-3 demonstrates the parallels between these two evolutions and shows how they are related in the linear advance of computing.

image

Figure 1-3. The evolution of computing ranging from mainframe computing to the birth of RIAs

Back in the days of mainframe computing, all files and applications for a business resided on a central processing unit, or mainframe. If employees needed to access particulars, they would have to log in through a terminal. Terminals, as you may have guessed, were also referred to as clients.

As Bill Gates and Steve Jobs began to duke it out over global domination, the world was gifted with the personal computer. The beauty of the personal computer was that each unit had its own central processing capability. Therefore, each unit had the ability to effectively manage all of its own data and processing. Additionally, the human-computer interface began to adopt a graphics metaphor with operating systems like Windows and Mac OS.

Because of these advancements, it became necessary for the industry to differentiate between the types of clients that were being used. Subsequently, in light of the fact that personal computers now had the ability to store and process their own information, they were affectionately given the labels of fat client or thin client. Similarly, as mentioned earlier, their predecessors were officially given the label of thin client.

This change also brought some significant differences in the way clients interacted with data. Because they could now handle most of their own processing, the only thing that needed to be stored centrally was the data. This new relationship between client terminals and data servers was eloquently referred to as the client-server model.

As the world moved into the Internet era, computing took a step backward. Though the Internet was actually made functional by the client-server model, it was more accurately performing like the mainframe model. The clients had returned to text-based representations that were dependent on a centralized source for all data and processing.

The rise of ActionScript

Enter Flash! Around the end of 2003, Macromedia released its seventh installment of the Flash development environment, Flash MX 2004. What made this release of Flash so special was the presence of ActionScript 2.0. This was significant because it gave Flash its first real object-oriented capabilities.

It was around this time that the phrase "Rich Internet Application" began to surface into the mainstream. As stated before, the thing that defines the Rich Internet Application as such is the evolution of the client. Much like the change that occurred when the first thin clients evolved into personal computers, Flash now possessed the tools to grant web pages the ability to process all significant functionality at the presentation layer.

Further, it was already being used for complex, web-based animations. Therefore, Flash was able to effectively break down the barriers of the stateless Internet. Users could now be introduced to rich interactive and engaging experiences that were capable of dazzling aesthetically and process all major functionality on the client. Users could now go to their favorite web store, shop, add and subtract items from the cart, enter their personal information, and check out without ever making a request to the server.

It was during this period (between Flash MX 2004 and Flash 8) that the development of Flash as a platform began to emerge.

Flash Platform, open source, and Web 2.0

Now, the ability of Flash to break the barriers of statelessness was only one part of the total equation. One of the greatest advantages to Flash as a technology is described in the phrase "Flash Player ubiquity." The word "ubiquity," by definition, means omnipresence, and that is basically what we have. The Flash Player is the most widely distributed piece of software in the history of computing. At present, an estimated 864 million PCs worldwide are running the Flash Player. This number approximately represents 99 percent of Internet-enabled personal computers.

When these statistics are bridged with the technological advancements that were being made by Flash development, it certainly becomes quite evident why and how Flash began to move itself into the pole position of Internet technologies. In addition, the continual upgrades to the Flash Player itself helped to deliver content that was not only engaging and highly interactive, but also in file sizes that were more economical for Internet delivery.

The Flash Platform

Because of the many culminating factors surrounding Flash as a web solution, Macromedia (later Adobe) began to develop what became known as the Flash Platform. The Flash Platform is essentially a series of related technologies all built around or upon the Flash development framework. These technologies included Flash, Flex, Breeze, and later Apollo (now AIR) for browserless applications. The architecture for the Flash Platform effectively outlined integration with most popular web technologies including PHP, .NET, Java, and SQL. In essence, this offered Flash as the complete solution for any web-based client in any situation including enterprise-level applications and web-based conferencing.

Web 2.0 means what you want it to

Web 2.0, like Rich Internet Applications, is the defining of an evolution of web-based technology. Web 2.0, however, is considerably more difficult to define. If you were to begin doing research on Web 2.0 by means of the Internet, you would more than likely find dozens of articles written on the topic. Unfortunately, most of those articles would give you completely conflicting definitions of what Web 2.0 means.

How is this possible? Well, as stated earlier, our industry is plagued with buzzwords used to promote self-understanding and competitive intelligence. In the case of Web 2.0, we have seen this phenomenon explode to astronomical proportions. In fact, some definitions are even unclear as to whether Web 2.0 is a technical advancement or an advancement of aesthetics. We can assure you it has nothing to do with aesthetics.

Web 2.0 is essentially the Internet catching up to traditional computing. Remember, we spoke earlier of the Internet being a step backward in the world of computing. We are all well aware that we can perform significantly more advanced processes from our desktop computers than through the Internet. But as sure as I (Paul) am typing this, one of my coauthors is 20 miles away making simultaneous edits and adjustments to this document.

The difficulty in diagnosis comes when we think of this evolutionary process in tandem with what is already occurring on desktop computers. Many applications, such as Skype or iTunes, are in fact desktop applications that communicate over the Internet. The diagnosis becomes even more difficult when we consider applications like eBay Desktop, a program that gives users the full functionality of eBay from the convenience of their desktop. Applications like this are built on the Flash Platform using the browserless AIR environment. They are essentially desktop applications using Flash technology—or, more accurately, web applications being run on a desktop.

Web 2.0 basically began its realization with the advent of the Rich Internet Application, which found its mainstream exposure through the Flash Platform. Fueled by the now widespread availability of broadband Internet, it is now coming into full bloom with the explosion of social networks, massively multiuser environments, and ever enhanced means of online collaboration.

In much the same fashion that personal computers stopped relying on a central processing source and actually started being data sources, the Internet is beginning to see the same kind of evolution. Users now have the ability to add value and contribute to the bigger picture. They are no longer restricted to simply request-response type interaction.

Flash remains at the forefront of the Web 2.0 movement. Because of its incredible rate of distribution and the power of the rapidly evolving ActionScript programming language, Flash continues to redefine the landscape of web-based computing. Further, an arsenal of third-party APIs have accelerated the way new technologies are being integrated with Flash. Much like a snowball rolling down a mountain, the more Flash advances, the more people want to advance it. And the more people want to advance it, the more it advances.

The open source Flash explosion

The most wonderful thing to happen to Flash in the past couple years is the development of an open source programming community. With the release of ActionScript 2.0, and more recently ActionScript 3.0, Flash has had the benefit of attracting a more sophisticated community of software architects and engineers. And, as you learned earlier, Flash has always benefited from its community. With this new insurgence of programmers, the Flash community was widely introduced to proper programming practices and theory. As a side effect, users began to see the arrival of many third-party APIs and development libraries.

The open source Flash community is now responsible for creating several animation engines like Fuse and Tweener; APE, the ActionScript physics engine; a number of 3D environments including the popular Papervision 3D; Red5, an open source Flash server; and many others. It is even possible to use Flash to write games that can be played on the Nintendo Wii. In fact, this movement has gained so much momentum that entire books have been devoted to the use of open source technologies in Flash, such as The Essential Guide to Open Source Flash Development by Aral Balkan et al. (friends of ED, 2008).

Summary

Now that you have been formally introduced to Flash, its capabilities, where it came from, and where it is going, you are more than likely chomping at the bit to get started with learning Flash and ActionScript. Well, we won't hold you back any longer. We will simply offer one final gem of understanding for those just beginning the journey. The Flash world is immense! For many of the chapters in this book, it is possible to find several other books on only that topic, and have a career in only that facet of the Flash world. Some people make a good living off simply keeping tabs on what is going on in the Flash world. So find out what kind of Flash user you are, don't get overwhelmed, and above all other things have fun!

We covered the following points in this chapter:

  • What Flash is and what it is used for
  • The three-tiered application model
    • Data
    • Middleware
    • Presentation
  • Why Flash was instrumental in breaking the stateless barrier
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.215.96