1. Exploring Companion Technologies
Now that you have a better
understanding of how Flash fits into the current World Wide Web, I can
begin to discuss the technologies that contribute to Flash's well-being.
In today's world of the Web developer, you not only need to know how to
create your Flash movies but also how to implement Flash into existing
environments, such as a Web browser or your business client's Web-ready
(or not-so-Web-ready) application servers and related data sources.
1.1. HTML is here to stay
HTML is not going
anywhere, regardless of the prolific nature of Flash on the Web. Using
HTML to your advantage is very important because it is undeniably the
best solution for certain forms of Web deployment. In addition, sites
constructed entirely in Flash often require HTML to function properly.
Here's how HTML works with Flash:
Displaying and formatting the movie on a Web page requires HTML.
It isn't always easy to hand-code HTML to work with ActiveX for
Internet Explorer and the plug-in for Mozilla-compatible browsers at the
same time.
Placing some content within a Flash movie is not possible, so you sometimes need to link it from your movie to an HTML page.
For example, some PDF files cannot be imported into a Flash CS5
document and will need to be linked from the Flash movie to be viewed
separately with Adobe Reader. Or, you may need to access video files
created for the RealOne Player or Windows Media Player. You can place
links to these source files or link to an HTML document that embeds the
source file.
If you want to integrate
PDF documents with Flash movies, you might want to explore Macromedia
FlashPaper. FlashPaper is a Flash movie file (.swf) that contains a
document viewer and the document itself, enabling you to embed large
print-ready documents on the Web or even within your own Flash movies.
For more information on FlashPaper, see the FlashPaper section at www.flashsupport.com/links.
|
|
If
your end user is not willing or able to view your Flash content, HTML
enables you to provide an alternative version of your Web site.
Despite the addition of accessibility options into Flash Player 6 and
later, which enable screen-reader interaction, not all screen readers
are currently able to access this feature. An HTML version of your
content is sure to reach most of this potential audience.
Many people find learning, and
perhaps even using, HTML to be painful and tedious. Accommodating the
differences among browsers can sometimes be time consuming and dry work.
However, knowing some HTML is highly recommended and well worth the
effort. HTML should be understood by any Web professional. If you are
uncomfortable with the code, using Macromedia Dreamweaver will help your
transition into the HTML world.
1.2. Client-side scripting using JavaScript
ActionScript and
JavaScript are similar beasts, especially since ActionScript developed
into a full-blown language in ActionScript 2.0. By learning one
language, you will be able to translate this knowledge with relative
ease. Already knowing some JavaScript when entering the Flash realm
definitely puts you at a strong advantage. However, JavaScript itself is
frequently used in conjunction with Flash, as follows:
With
JavaScript, you can create customized browser popup windows that open
from Flash movies. By "customized," I mean browser windows that don't
have any scroll bars, button bars, or menu items across the top of the
browser window.
JavaScript
can pass data into the Flash movie when the Web page containing the
movie loads. Some browsers enable you to continually pass data back and
forth between Flash and JavaScript. Also, you are able to dynamically
pass variables from JavaScript right into the Flash movie.
JavaScript
can be used to detect the presence or absence of the Flash Player
plug-in in the user's Web browser, with JavaScript libraries such as
SWFObject. Likewise, you can use VBScript on Internet Explorer for
Windows to detect the Flash Player ActiveX control. JavaScript (or
VBScript) can redirect the Web browser to alternative content if the
player is not installed.
Flash
movie properties such as width and height can be written on-the-fly by
using JavaScript. You can also detect various system properties (which
is also possible by using ActionScript) in JavaScript code and pass this
information into Flash.
Flash Player 8 introduced the ExternalInterface
API, which enables you to more easily pass parameters between a Flash
movie and JavaScript.
|
|
1.3. The world of Web services
By using Flash CS5, you can tap
an ever-expanding world of data transfer directly to your Flash movies.
If you've stayed in the loop of Web technologies, you've likely heard
of Web services,
which is a generic term to describe a standardized approach to transfer
data from one Web application to another. Web services use a format
known as Web Services Description Language (WSDL), which uses a type of
XML formatting called Simple Object Access Protocol (SOAP). It's not
really important to know these acronyms as much as it is to understand
what they do. WSDLs (pronounced "whiz-duhls") enable you to share
complex data structures in a uniform, standardized manner. As long as a
technology such as the Flash Player or ColdFusion can interpret a Web
service, it can utilize its data. And because all WSDLs use the same
formatting, your Flash movie can easily access data from public services
offered by various companies on the Web. You can also create your own
Web services with application servers such as Adobe ColdFusion as well.
Web services simply provide a gateway from which your Flash movie can
access data over the Internet.
NOTE
One popular Web service is the Amazon associates program. Just about anyone can become an Amazon.com associate. See http://associates..com
for more details about enrolling in Amazon's developer program for Web
services. You don't have to use Amazon.com's Web Service, but it's a fun
source of information to keep you engaged while you're learning how to
use Web services with your Flash content.
NOTE
Don't forget Flash
Remoting! Flash Player can send and receive data by using Flash Remoting
gateways, which can be installed on a variety of application servers.
Flash Remoting is built into Adobe ColdFusion and provides a faster and
more efficient means of transferring data between a Flash movie and an
application server than Web services can accomplish.
1.4. Adobe server technologies
Nowadays, it's always helpful
to have more than just client-side Flash development skills. With Adobe
Flash Media Interactive Server, Flash Remoting, and Adobe LiveCycle
Data Services, more and more business clients are looking for
experienced Flash designers and developers to add real-time
interactivity to their company's Web sites or Internet-aware
applications. Applications created for Flash Media Interactive Server
use server-side ActionScript (ASC files) to describe and control the
interactivity between a Flash movie and the server's resources,
including real-time streaming audio/video media and synchronized data
updates between multiple Flash clients and the application.
2. Recognizing Project Potential
In this section, I provide an
overview of the categories of Flash projects that you can produce. This
is just a starting point to prime your creative juices and break through
any self-imposed limiting perceptions that you may have about Flash
media. The categories I have devised here are by no means
industry-standard terms — they're broad, generalized groups into which
most Flash development falls.
2.1. Linear presentations
In the early days of Internet
growth, Flash shorts (cartoons) were the media buzz. These cartoons
generally played from start to finish in a very linear fashion.
Generally speaking, these movies load and then play — and count on
catching the user's attention through the story and animation. These
movies sometimes contain advanced ActionScript for animation, including
randomized movement or content.
NOTE
Linear Flash presentations
do not necessarily have to be displayed within a Web browser — or even
online. Several film-production and advertising companies use Flash to
create high-quality animation for use in broadcast TV and feature films.
2.2. Interactive presentations
Interactive presentations
represent the next step up from linear presentations. They provide the
user control over the way information is presented, the flow, or the
experience altogether. Usually, Web sites of any construct will be
considered an interactive presentation. If you have information or
content in a section somewhere in a movie or Web site, then you probably
have an interactive presentation. An interactive presentation enables
end users to choose the content they see by enabling them to navigate
throughout a site, bypassing some content while accessing other content.
A Flash movie in this category may have all the content viewed stored
in a container movie or across several Flash files linked to a main
site.
2.3. Data-driven presentations
The data-driven
presentations category of Flash development represents any movies that
load external data (either dynamic or static) to deliver the
presentation to the user. For example, a weather site that uses Flash
may download dynamic Flash graphics of precipitation maps to display to
the site's visitors. These graphics may be customized for each user of
the site, depending on where he or she lives. Data-driven
may even simply mean that text information within the Flash movie
changes from time to time. Simply put, anytime information is separated
from the actual Flash movie, you can say it is data-driven.
2.4. Data-driven applications (or Rich Internet Applications)
The data-driven applications
category is somewhat loosely defined as those Flash movies that enable
the user to accomplish some sort of task or enable a transaction from
the Flash movie to use an external remote data source. For example, an
online Flash ATM (that is, bank machine) could allow a bank customer to
log in to the bank's secure server and transfer funds from one account
to another or pay a bill. All these tasks would require a transaction
from the Flash movie to the bank's server. Another example could be an
online Flash shopping cart, in which visitors add products to their
virtual carts and check out with their final order. Again, these tasks
would require the Flash movie to send and receive data. The term Rich
Internet Application, or RIA, was coined during the Macromedia MX
product line launch and implies the use of integrated data and rich
media within a graphical user interface (GUI), in or out of a Web
browser. Typically, RIAs combine Flash movies with one or more
server-side technology, such as Flash Remoting and Adobe Flash Media
Interactive Server.