Adobe Flash: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Ganggang Hu
No edit summary
imported>Ganggang Hu
No edit summary
Line 2: Line 2:
Adobe Flash, a package of multimedia authoring software developed by Adobe Systems (formerly by Macromedia), is used to create [[vector graphics]]-based animation programs, rich content, user interfaces and web applications, and combine videos with web pages.
Adobe Flash, a package of multimedia authoring software developed by Adobe Systems (formerly by Macromedia), is used to create [[vector graphics]]-based animation programs, rich content, user interfaces and web applications, and combine videos with web pages.


Adobe Flash is written in C++, and contains [[ActionScript]] for building almost all the interactivity (buttons, text entry fields, drop down menus) in its applications. In order to view standalone Adobe Flash (SWF) multimedia files and interact with Flash content, users need to download and install Adobe Flash Player, which is a [[multiple-platform]] [[client-server]] [[runtime software]] application.
Adobe Flash is written in [[C++]], and contains [[ActionScript]] for building almost all the interactivity (buttons, text entry fields, drop down menus) in its applications. In order to view standalone Adobe Flash (SWF) multimedia files and interact with Flash content, users need to download and install Adobe Flash Player, which is a [[multiple-platform]] [[client-server]] [[runtime software]] application.


== History ==
== History ==


Flash program was built by Jonathan Gay, who began his professional Programming life as a Macintosh software engineer early in high school. After years of game design, he focused on building graphics editors and started FutureWave Software company with Charlie Jackson in 1993. In order to make drawing on the computer easier than drawing on paper, they built software called SmartSketch.
Flash program was built by Jonathan Gay, who began his professional Programming life as a [[Apple Macintosh|Macintosh]] software engineer early in high school. After years of game design, he focused on building graphics editors and started FutureWave Software company with Charlie Jackson in 1993. In order to make drawing on the computer easier than drawing on paper, they built software called SmartSketch.


As a competitor of Illustrator and FreeHand, SmartSketch didn't gain success until 1995, it was turned into an animation product FutureSplash Animator for people sending graphics and animation over Internet. The ancestor of Flash Player was also born at that time.
As a competitor of Illustrator and FreeHand, SmartSketch didn't gain success until 1995, it was turned into an animation product FutureSplash Animator for people sending graphics and animation over [[Internet]]. The ancestor of Flash Player was also born at that time.


In August of 1996, FutureSplash got big support from Microsoft and Disney Online. Microsoft used FutureSplash on MSN to create the most TV-like experience on the Internet. And Disney Online adopted FutureSplash to build animation and the user interface for the Disney Daily Blast.
In August of 1996, FutureSplash got big support from [[Microsoft]] and Disney Online. [[Microsoft]] used FutureSplash on MSN to create the most TV-like experience on the [[Internet]]. And Disney Online adopted FutureSplash to build animation and the user interface for the Disney Daily Blast.


In December 1996, FutureWave Software was sold to Macromedia, and FutureSplash Animator became Macromedia Flash 1.0. Since then, Flash becomes synonymous with animation on the Internet.<ref>Gay, Jonathan. [http://www.adobe.com/macromedia/events/john_gay/ "The History of Flash"]</ref>  
In December 1996, FutureWave Software was sold to Macromedia, and FutureSplash Animator became Macromedia Flash 1.0. Since then, Flash becomes synonymous with animation on the [[Internet]].<ref>Gay, Jonathan. [http://www.adobe.com/macromedia/events/john_gay/ "The History of Flash"]</ref>  
=== Authoring tool released timeline ===
=== Authoring tool released timeline ===
<table border="1px">
<table border="1px">
Line 48: Line 48:


=== Standard ===
=== Standard ===
Flash hasn't complied to [[W3C]] standards perfectly, altough there is a way to use <object> tag to insert flash files into web pages, the common usage of <embed> is a illegal tag, which is a private tag of Netspace, but not recognized by W3C.
Flash hasn't complied to [[W3C]] standards perfectly, altough there is a way to use <object> tag to insert flash files into web pages, the common usage of <embed> is a illegal tag, which is a private tag of Netspace, but not recognized by [[W3C]].


In the Draft Recommendation for [[Hypertext Markup Language|HTML]] 5, the W3C has a section named "Relationship to XUL, Flash, Silverlight, and other proprietary UI languages", which says, "This specification is independent of the various proprietary UI languages that various vendors provide. As an open, vendor-neutral language, HTML provides for a solution to the same problems without the risk of vendor lock-in." <ref> [http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html "HTML 5 Draft Recommendation — 2 August 2008"]</ref>  
In the Draft Recommendation for [[Hypertext Markup Language|HTML]] 5, the W3C has a section named "Relationship to XUL, Flash, [[Microsoft Silverlight|Silverlight]], and other proprietary UI languages", which says, "This specification is independent of the various proprietary UI languages that various vendors provide. As an open, vendor-neutral language, [[Hypertext Markup Language|HTML]] provides for a solution to the same problems without the risk of vendor lock-in." <ref> [http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html "HTML 5 Draft Recommendation — 2 August 2008"]</ref>  


Flash files do not depend on an open standard such as SVG. Also, Flash Player cannot ship as part of a pure open source, or completely free operating system because its distribution is bound to the Macromedia Licensing Program and subject to approval. Currently, there are some third party tools which use and generate the SWF file format. IrfanView can play SWF files. Other open-source flash players such as Gnash and Swfdec are in development.
Flash files do not depend on an open standard such as SVG. Also, Flash Player cannot ship as part of a pure open source, or completely free operating system because its distribution is bound to the Macromedia Licensing Program and subject to approval. Currently, there are some third party tools which use and generate the SWF file format. IrfanView can play SWF files. Other [[Open source software|open-source]] flash players such as Gnash and Swfdec are in development.


=== Features ===
=== Features ===
Line 59: Line 59:
* Maintain fidelity when working between Flash and Illustrator, users can choose to import illustrator layers as separate Flash Layers, Keyframes or Single Flash Layers.
* Maintain fidelity when working between Flash and Illustrator, users can choose to import illustrator layers as separate Flash Layers, Keyframes or Single Flash Layers.
* Quickly add motion to the creations with the frame-based timeline inspired by traditional animation principles such as keyframing and tweening.
* Quickly add motion to the creations with the frame-based timeline inspired by traditional animation principles such as keyframing and tweening.
* Easily create pie wedges, round off rectangle corners, define an inner circle radius, etc. Visually adjust shape properties on the stage. And create custom shapes with the included JavaScript application programming interface (API).
* Easily create pie wedges, round off rectangle corners, define an inner circle radius, etc. Visually adjust shape properties on the stage. And create custom shapes with the included [[JavaScript]] application programming interface (API).
* Save time with the new ActionScript 3.0 language.
* Save time with the new [[ActionScript]] 3.0 language.
* Create, edit, and deploy streaming and progressive-download FLV files with a standalone video encoder, alpha channel support, a high-quality video codec, embedded cue points, video import, QuickTime import, and closed captioning.
* Create, edit, and deploy streaming and progressive-download FLV files with a standalone video encoder, alpha channel support, a high-quality video codec, embedded cue points, video import, QuickTime import, and closed captioning.
* Integrate audio into projects by importing MP3 files.
* Integrate audio into projects by importing MP3 files.
* Rich drawing capabilities, including visually adjust shape properties on the stage with smart shape drawing tools, creating vector illustrations with the new Pen tool inspired by Adobe Illustrator, pasting illustrations from Illustrator CS3 into Flash CS3, etc.
* Rich drawing capabilities, including visually adjust shape properties on the stage with smart shape drawing tools, creating vector illustrations with the new Pen tool inspired by Adobe Illustrator, pasting illustrations from Illustrator CS3 into Flash CS3, etc.
* Extensible architecture makes the Flash APIs develop extensions that add custom functionality easily.
* Extensible architecture makes the Flash APIs develop extensions that add custom functionality easily.
* Convert timeline animations into ActionScript 3.0 code that can be edited, reused, and leveraged by developers.
* Convert timeline animations into [[ActionScript]] 3.0 code that can be edited, reused, and leveraged by developers.
* Create and test interactive applications and interfaces viewable with Flash Lite software.
* Create and test interactive applications and interfaces viewable with Flash Lite software.


The main features of current Adobe Flash Player are as follows: <ref> [http://www.adobe.com/products/flashplayer/productinfo/features/ "Adobe Flash Player: Features"]</ref>  
The main features of current Adobe Flash Player are as follows: <ref> [http://www.adobe.com/products/flashplayer/productinfo/features/ "Adobe Flash Player: Features"]</ref>  
* Includes the ActionScript Virtual Machine (AVM) known as AVM2, which is designed to work with ActionScript and deliver the performance and features to support the needs of rich Internet application developers.
* Includes the [[ActionScript]] [[Virtualization|Virtual Machine]] (AVM) known as AVM2, which is designed to work with ActionScript and deliver the performance and features to support the needs of rich [[Internet]] application developers.
* Includes H.264 video and High Efficiency AAC (HE-AAC) audio codec support that opens up a broad ecosystem and selection of standards-based video that developers can leverage in their applications.  
* Includes H.264 video and High Efficiency AAC (HE-AAC) audio codec support that opens up a broad ecosystem and selection of standards-based video that developers can leverage in their applications.  
* The Flash Player cache enables common components, such as the Flex Framework, to be cached locally and then used by any SWF from any domain.
* The Flash Player cache enables common components, such as the Flex Framework, to be cached locally and then used by any SWF from any domain.
* Enforces security sandboxes for applications, content, data, and [[Uniform Resource Locator|URLs]] to safeguard sensitive data and help ensure safe browsing for end users.
* Enforces security sandboxes for applications, content, data, and [[Uniform Resource Locator|URLs]] to safeguard sensitive data and help ensure safe browsing for end users.
* Displays API and supports integration with HTML, DHTML, and Ajax applications through the External API.
* Displays API and supports integration with [[Hypertext Markup Language|HTML]], DHTML, and [[Ajax]] applications through the External API.
* Based on an asynchronous client-server communication model, enabling rapid client interactivity without web page refresh.
* Based on an asynchronous client-server communication model, enabling rapid client interactivity without web page refresh.
* Supports expanded integration with Input Method Editors (IMEs) for Asian-language Flash applications.
* Supports expanded integration with Input Method Editors (IMEs) for Asian-language Flash applications.
Line 200: Line 200:


==== How to put Flash into a web page? ====
==== How to put Flash into a web page? ====
For the compatibility among different kinds of browser, the format of embedding Flash in HTML is as follows:  
For the compatibility among different kinds of [[Web browser|browser]], the format of embedding Flash in [[Hypertext Markup Language|HTML]] is as follows:  


<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>


Or write as follows to comply with W3C standard:
Or write as follows to comply with [[W3C]] standard:


<object type="application/x-shockwave-flash"
<object type="application/x-shockwave-flash"
Line 217: Line 217:
The main reasons of people using Flash are as follows:
The main reasons of people using Flash are as follows:


*Flash files load fast and save on download time because Flash is vector based whereas HTML is not.  
*Flash files load fast and save on download time because Flash is vector based whereas [[Hypertext Markup Language|HTML]] is not.  
*Flash intelligently "caches" it’s movies so they don’t have to be reloaded.
*Flash intelligently "caches" it’s movies so they don’t have to be reloaded.
*Flash tools are easy to use.
*Flash tools are easy to use.
*Compared to other plug-ins such as Java, Acrobat Reader, QuickTime or Windows Media Player, the Flash Player has a small install size, quick download time, and fast initialization time.
*Compared to other plug-ins such as [[Java programming language|Java]], Acrobat Reader, QuickTime or [[Microsoft Windows|Windows]] Media Player, the Flash Player has a small install size, quick download time, and fast initialization time.


The Flash technology can be used on CD-ROMs and TV, but its main usage is for web sites. Because of the player's wide distribution in multiple browsers and operating systems, Flash is increasingly used as a way to display video clips on web pages. It is not only available for many platforms and devices such as Windows, Mac OS 9/X, Linux (only 32 bit x86), Solaris, HP-UX, Pocket PC, OS/2, QNX, Symbian, Palm OS, BeOS, and IRIX, but used as the basis for many popular video sites such as YouTube, Google Video, SPIKE and Hulu.
The Flash technology can be used on CD-ROMs and TV, but its main usage is for web sites. Because of the player's wide distribution in multiple browsers and operating systems, Flash is increasingly used as a way to display video clips on web pages. It is not only available for many platforms and devices such as [[Microsoft Windows|Windows]], [[Apple Macintosh|Mac]] OS 9/X, [[Linux]] (only 32 bit x86), Solaris, HP-UX, Pocket PC, OS/2, QNX, Symbian, Palm OS, BeOS, and IRIX, but used as the basis for many popular video sites such as YouTube, [[Google]] Video, SPIKE and Hulu.


=== Market Share ===
=== Market Share ===
According to a survey from Adobe, "Adobe Flash Player is used by over 2 million professionals and reaching 99.0% of Internet-enabled desktops in mature markets as well as a wide range of devices."<ref> [http://www.adobe.com/products/player_census/flashplayer/ "Flash Player Penetration"]</ref>
According to a survey from Adobe, "Adobe Flash Player is used by over 2 million professionals and reaching 99.0% of [[Internet]]-enabled desktops in mature markets as well as a wide range of devices."<ref> [http://www.adobe.com/products/player_census/flashplayer/ "Flash Player Penetration"]</ref>


<table border="1px">
<table border="1px">
Line 251: Line 251:
=== Allies and Competitors ===
=== Allies and Competitors ===
==== The relationship of Flash to other applications ====
==== The relationship of Flash to other applications ====
Flash has wide interaction with other software, such as Empressr, which is an Ajax/Flash-based web application for creating, sharing and storing presentations online, and Goowy, which offers Flash email service for instant messaging and chatting.
Flash has wide interaction with other software, such as Empressr, which is an [[Ajax]]/Flash-based web application for creating, sharing and storing presentations online, and Goowy, which offers Flash email service for instant messaging and chatting.


Flash can communicate with JavaScript and VBScript, which enables a HTML page to send and receive data from a Flash movie.
Flash can communicate with [[JavaScript]] and VBScript, which enables a [[Hypertext Markup Language|HTML]] page to send and receive data from a Flash movie.


Extending ActionScript3 with C within Flash enables the translation from C/C++ code to ActionScript code by the process of C/C++ -->AS3 -->SWF -->Flash, which makes a contribution to the game development.
Extending ActionScript3 with [[C programming language|C]] within Flash enables the translation from [[C programming language|C]]/[[C++]] code to [[ActionScript]] code by the process of [[C programming language|C]]/[[C++]] -->AS3 -->SWF -->Flash, which makes a contribution to the game development.


Also, Flash animations can be imported into VB6, C++, C# .NET by using the Flash player as a component in the project. The Flash Remoting MX provides the connection between Flash and the web application server to create Rich Internet Applications. User can integrate rich Flash content with applications built using ColdFusion MX, Microsoft .NET, Java, and SOAP-based web services. Flash Remoting MX can parse and translate ActionScript XML objects on the server into an org.w3c.xml DOM, making any remote service (such as CFCs, pagers, EJBs, Java classes, and Microsoft .NET DLLs) that accepts or returns XML documents seamlessly accessible to Flash. Developers who use SOAP for custom XML documents can expose them to Flash clients in a simple model, eliminating the development of server-side parsing previously required when passing an XML stream from Flash. <ref> [http://www.academicsuperstore.com/products/Adobe/Flash+Remoting+l++Formerly+from+Macromedia/767644 "About Flash Remoting MX (2-CPU)"]</ref>  
Also, Flash animations can be imported into VB6, [[C++]], [[C# programming language|C#]] [[.NET Framework|.NET]] by using the Flash player as a component in the project. The Flash Remoting MX provides the connection between Flash and the web application server to create Rich [[Internet]] Applications. Users can integrate rich Flash content with applications built using ColdFusion MX, [[Microsoft]] [[.NET Framework|.NET]], [[Java programming language|Java]], and [[Web Services with SOAP|SOAP]]-based web services. Flash Remoting MX can parse and translate [[ActionScript]] [[XML]] objects on the server into an org.w3c.xml DOM, making any remote service (such as CFCs, pagers, EJBs, [[Java programming language|Java]] classes, and [[Microsoft]] [[.NET Framework|.NET]] DLLs) that accepts or returns [[XML]] documents seamlessly accessible to Flash. Developers who use [[Web Services with SOAP|SOAP]] for custom [[XML]] documents can expose them to Flash clients in a simple model, eliminating the development of server-side parsing previously required when passing an [[XML]] stream from Flash. <ref> [http://www.academicsuperstore.com/products/Adobe/Flash+Remoting+l++Formerly+from+Macromedia/767644 "About Flash Remoting MX (2-CPU)"]</ref>  


==== Competitors ====
==== Competitors ====
Line 263: Line 263:


== Future Developments ==
== Future Developments ==
Adobe AIR is a cross-operating system runtime being developed by Adobe since November 2007 that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.<ref> [http://labs.adobe.com/wiki/index.php/Apollo:developerfaq "AIR:Developer FAQ"]</ref>  
Adobe AIR is a cross-operating system runtime being developed by Adobe since November 2007 that allows developers to leverage their existing web development skills (Flash, Flex, [[Hypertext Markup Language|HTML]], [[JavaScript]], [[Ajax]]) to build and deploy rich [[Internet]] applications (RIAs) to the desktop.<ref> [http://labs.adobe.com/wiki/index.php/Apollo:developerfaq "AIR:Developer FAQ"]</ref>  


As of February 2008, Adobe Systems is working on a research project to make programs written in various languages easier to run on Adobe's ubiquitous Flash Player client runtime. This technology would allow for cross-compiling existing code from C, C++, Java, Python, and Ruby to ActionScript. So these languages can cross-compile to the virtual machine inside Flash and AIR (Adobe Integrated Runtime). For example, an alternative PDF renderer providing a lighter version of PDF could be cross-compiled, and the Flash Player could read it and display PDFs.<ref>Krill, Paul, 02.26.2008, [http://www.thestandard.com/news/2008/02/26/adobe-extending-flash-platform "Adobe extending Flash platform"]</ref>  
As of February 2008, Adobe Systems is working on a research project to make programs written in various languages easier to run on Adobe's ubiquitous Flash Player client runtime. This technology would allow for cross-compiling existing code from [[C programming language|C]], [[C++]], [[Java programming language|Java]], [[Python programming language|Python]], and [[Ruby language programming|Ruby]] to [[ActionScript]]. So these languages can cross-compile to the [[Virtualization|virtual machine]] inside Flash and AIR (Adobe Integrated Runtime). For example, an alternative PDF renderer providing a lighter version of PDF could be cross-compiled, and the Flash Player could read it and display PDFs.<ref>Krill, Paul, 02.26.2008, [http://www.thestandard.com/news/2008/02/26/adobe-extending-flash-platform "Adobe extending Flash platform"]</ref>  


Another project is called Open Screen Project, which is dedicated to driving rich Internet experiences and creating a consistent application interface across all devices like personal computers, mobile devices or consumer electronics. This project includes abolishing licensing fees for Adobe Flash Player and Adobe Integrated Runtime, removing restrictions on the use of the Shockwave Flash (SWF) and Flash Video (FLV) file formats, publishing Application Programming Interfaces for porting Flash to new devices, and publishing Flash Cast protocol and Action Message Format (AMF) to let Flash applications receive information from remote databases.<ref> [http://www.adobe.com/openscreenproject/ "Open Screen Project"]</ref>  
Another project is called Open Screen Project, which is dedicated to driving rich [[Internet]] experiences and creating a consistent application interface across all devices like personal computers, mobile devices or consumer electronics. This project includes abolishing licensing fees for Adobe Flash Player and Adobe Integrated Runtime, removing restrictions on the use of the Shockwave Flash (SWF) and Flash Video (FLV) file formats, publishing Application Programming Interfaces for porting Flash to new devices, and publishing Flash Cast protocol and Action Message Format (AMF) to let Flash applications receive information from remote databases.<ref> [http://www.adobe.com/openscreenproject/ "Open Screen Project"]</ref>  


The next version of Flash will have two additional components designed for large scale implementation. Adobe is adding in the option to require an advertisement to be played in full before the main video piece is played, and gives companies the option to link an advertisement with content and make sure that both are played and that they not be changed, which would bring advantages to large scale video sites.<ref> [http://news.bbc.co.uk/1/hi/business/6558979.stm "Adobe unveils Flash video control"]</ref>  
The next version of Flash will have two additional components designed for large scale implementation. Adobe is adding in the option to require an advertisement to be played in full before the main video piece is played, and gives companies the option to link an advertisement with content and make sure that both are played and that they not be changed, which would bring advantages to large scale video sites.<ref> [http://news.bbc.co.uk/1/hi/business/6558979.stm "Adobe unveils Flash video control"]</ref>  

Revision as of 14:59, 4 August 2008

Nuvola apps kbounce green.png
Nuvola apps kbounce green.png
This article is currently being developed as part of an Eduzendium student project. One of the goals of the course is to provide students with insider experience in collaborative educational projects, and so you are warmly invited to join in here, or to leave comments on the discussion page. However, please refrain from removing this notice.
Besides, many other Eduzendium articles welcome your collaboration!


Adobe Flash, a package of multimedia authoring software developed by Adobe Systems (formerly by Macromedia), is used to create vector graphics-based animation programs, rich content, user interfaces and web applications, and combine videos with web pages.

Adobe Flash is written in C++, and contains ActionScript for building almost all the interactivity (buttons, text entry fields, drop down menus) in its applications. In order to view standalone Adobe Flash (SWF) multimedia files and interact with Flash content, users need to download and install Adobe Flash Player, which is a multiple-platform client-server runtime software application.

History

Flash program was built by Jonathan Gay, who began his professional Programming life as a Macintosh software engineer early in high school. After years of game design, he focused on building graphics editors and started FutureWave Software company with Charlie Jackson in 1993. In order to make drawing on the computer easier than drawing on paper, they built software called SmartSketch.

As a competitor of Illustrator and FreeHand, SmartSketch didn't gain success until 1995, it was turned into an animation product FutureSplash Animator for people sending graphics and animation over Internet. The ancestor of Flash Player was also born at that time.

In August of 1996, FutureSplash got big support from Microsoft and Disney Online. Microsoft used FutureSplash on MSN to create the most TV-like experience on the Internet. And Disney Online adopted FutureSplash to build animation and the user interface for the Disney Daily Blast.

In December 1996, FutureWave Software was sold to Macromedia, and FutureSplash Animator became Macromedia Flash 1.0. Since then, Flash becomes synonymous with animation on the Internet.[1]

Authoring tool released timeline

Product NameReleased Year
FutureSplash Animator1996
Macromedia Flash 11996
Macromedia Flash 21997
Macromedia Flash 31998
Macromedia Flash 41999
Macromedia Flash 52000
Macromedia Flash MX (version 6)2002
Macromedia Flash MX 2004 (version 7)2003
Macromedia Flash Basic 82005
Macromedia Flash Professional 82005
Adobe Flash CS3 Professional2007

Player released timeline

Product NameReleased Year
Macromedia Flash 21997
Macromedia Flash 31998
Macromedia Flash 41999
Macromedia Flash 52001
Macromedia Flash MX2002
Macromedia Flash MX 20042003
Macromedia Flash 82005
Adobe Flash 9 for Windows and Macintosh2006
Adobe Flash 9 for Linux2007
Adobe Flash CS32007
Adobe Flash Player 102008

Technology

Standard

Flash hasn't complied to W3C standards perfectly, altough there is a way to use <object> tag to insert flash files into web pages, the common usage of <embed> is a illegal tag, which is a private tag of Netspace, but not recognized by W3C.

In the Draft Recommendation for HTML 5, the W3C has a section named "Relationship to XUL, Flash, Silverlight, and other proprietary UI languages", which says, "This specification is independent of the various proprietary UI languages that various vendors provide. As an open, vendor-neutral language, HTML provides for a solution to the same problems without the risk of vendor lock-in." [2]

Flash files do not depend on an open standard such as SVG. Also, Flash Player cannot ship as part of a pure open source, or completely free operating system because its distribution is bound to the Macromedia Licensing Program and subject to approval. Currently, there are some third party tools which use and generate the SWF file format. IrfanView can play SWF files. Other open-source flash players such as Gnash and Swfdec are in development.

Features

The main features of latest Adobe Flash are as follows: [3]

  • Import native photoshop(PSD) files while preserving layers and preferences, retain Photoshop text as editable text in Flash, convert Photoshop layers or layer groups to movie clips and specify publish settings.
  • Maintain fidelity when working between Flash and Illustrator, users can choose to import illustrator layers as separate Flash Layers, Keyframes or Single Flash Layers.
  • Quickly add motion to the creations with the frame-based timeline inspired by traditional animation principles such as keyframing and tweening.
  • Easily create pie wedges, round off rectangle corners, define an inner circle radius, etc. Visually adjust shape properties on the stage. And create custom shapes with the included JavaScript application programming interface (API).
  • Save time with the new ActionScript 3.0 language.
  • Create, edit, and deploy streaming and progressive-download FLV files with a standalone video encoder, alpha channel support, a high-quality video codec, embedded cue points, video import, QuickTime import, and closed captioning.
  • Integrate audio into projects by importing MP3 files.
  • Rich drawing capabilities, including visually adjust shape properties on the stage with smart shape drawing tools, creating vector illustrations with the new Pen tool inspired by Adobe Illustrator, pasting illustrations from Illustrator CS3 into Flash CS3, etc.
  • Extensible architecture makes the Flash APIs develop extensions that add custom functionality easily.
  • Convert timeline animations into ActionScript 3.0 code that can be edited, reused, and leveraged by developers.
  • Create and test interactive applications and interfaces viewable with Flash Lite software.

The main features of current Adobe Flash Player are as follows: [4]

  • Includes the ActionScript Virtual Machine (AVM) known as AVM2, which is designed to work with ActionScript and deliver the performance and features to support the needs of rich Internet application developers.
  • Includes H.264 video and High Efficiency AAC (HE-AAC) audio codec support that opens up a broad ecosystem and selection of standards-based video that developers can leverage in their applications.
  • The Flash Player cache enables common components, such as the Flex Framework, to be cached locally and then used by any SWF from any domain.
  • Enforces security sandboxes for applications, content, data, and URLs to safeguard sensitive data and help ensure safe browsing for end users.
  • Displays API and supports integration with HTML, DHTML, and Ajax applications through the External API.
  • Based on an asynchronous client-server communication model, enabling rapid client interactivity without web page refresh.
  • Supports expanded integration with Input Method Editors (IMEs) for Asian-language Flash applications.
  • Provides lightweight footprint and accessibility support.

Examples

How to make an animation using Flash?

An animation is constituted by a series of frames. Each frame represents a single static motion. When they are shown in sequence, it looks like the object on the picture is moving. Here is a simple example of making an animation:

First, new a FLA file and make two layers as follows:

(CC) Image: Ganggang Hu
Made by Ganggang Hu, 2008
(CC) Image: Ganggang Hu
Made by Ganggang Hu, 2008


































Second, set the 10th frame as the keyframe for the first layer and the 20th frame as the keyframe for the second layer.

Finally, export, save as a SWF file and display the animation:

(CC) Image: Ganggang Hu
Made by Ganggang Hu, 2008























How to put Flash into a web page?

For the compatibility among different kinds of browser, the format of embedding Flash in HTML is as follows:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>

Or write as follows to comply with W3C standard:

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1" width="400" height="300"> <param name="movie" value="http://www.youtube.com/v/hE1K0ZeTtAw&hl=en&fs=1" /> </object>

Market

Why and Where to use Flash?

The main reasons of people using Flash are as follows:

  • Flash files load fast and save on download time because Flash is vector based whereas HTML is not.
  • Flash intelligently "caches" it’s movies so they don’t have to be reloaded.
  • Flash tools are easy to use.
  • Compared to other plug-ins such as Java, Acrobat Reader, QuickTime or Windows Media Player, the Flash Player has a small install size, quick download time, and fast initialization time.

The Flash technology can be used on CD-ROMs and TV, but its main usage is for web sites. Because of the player's wide distribution in multiple browsers and operating systems, Flash is increasingly used as a way to display video clips on web pages. It is not only available for many platforms and devices such as Windows, Mac OS 9/X, Linux (only 32 bit x86), Solaris, HP-UX, Pocket PC, OS/2, QNX, Symbian, Palm OS, BeOS, and IRIX, but used as the basis for many popular video sites such as YouTube, Google Video, SPIKE and Hulu.

Market Share

According to a survey from Adobe, "Adobe Flash Player is used by over 2 million professionals and reaching 99.0% of Internet-enabled desktops in mature markets as well as a wide range of devices."[5]

Product NameUser's Percentage(%)
Adobe Flash Player99.0
Java85.1
Microsoft Windows Media Player79.3
Apple QuickTime Player65.5
Adobe Shockwave Player59.2
RealOne Player46.2
SVG7.9
         Worldwide Ubiquity of Player — June 2008
 Flash Player 7Flash Player 8Flash Player 9Flash Player 9.0.115
Mature Markets99.0%98.7%97.7%81.7%
US/Canada99.1%98.9%97.8%83.3%
Europe98.5%97.9%96.5%78.6%
Japan99.3%99.3%98.8%81.3%
Emerging Markets97.3%97.1%96.2%82.4%
                  Worldwide Ubiquity of Adobe Flash Player by Version — June 2008

Allies and Competitors

The relationship of Flash to other applications

Flash has wide interaction with other software, such as Empressr, which is an Ajax/Flash-based web application for creating, sharing and storing presentations online, and Goowy, which offers Flash email service for instant messaging and chatting.

Flash can communicate with JavaScript and VBScript, which enables a HTML page to send and receive data from a Flash movie.

Extending ActionScript3 with C within Flash enables the translation from C/C++ code to ActionScript code by the process of C/C++ -->AS3 -->SWF -->Flash, which makes a contribution to the game development.

Also, Flash animations can be imported into VB6, C++, C# .NET by using the Flash player as a component in the project. The Flash Remoting MX provides the connection between Flash and the web application server to create Rich Internet Applications. Users can integrate rich Flash content with applications built using ColdFusion MX, Microsoft .NET, Java, and SOAP-based web services. Flash Remoting MX can parse and translate ActionScript XML objects on the server into an org.w3c.xml DOM, making any remote service (such as CFCs, pagers, EJBs, Java classes, and Microsoft .NET DLLs) that accepts or returns XML documents seamlessly accessible to Flash. Developers who use SOAP for custom XML documents can expose them to Flash clients in a simple model, eliminating the development of server-side parsing previously required when passing an XML stream from Flash. [6]

Competitors

See Silverlight vs. Flash

Future Developments

Adobe AIR is a cross-operating system runtime being developed by Adobe since November 2007 that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.[7]

As of February 2008, Adobe Systems is working on a research project to make programs written in various languages easier to run on Adobe's ubiquitous Flash Player client runtime. This technology would allow for cross-compiling existing code from C, C++, Java, Python, and Ruby to ActionScript. So these languages can cross-compile to the virtual machine inside Flash and AIR (Adobe Integrated Runtime). For example, an alternative PDF renderer providing a lighter version of PDF could be cross-compiled, and the Flash Player could read it and display PDFs.[8]

Another project is called Open Screen Project, which is dedicated to driving rich Internet experiences and creating a consistent application interface across all devices like personal computers, mobile devices or consumer electronics. This project includes abolishing licensing fees for Adobe Flash Player and Adobe Integrated Runtime, removing restrictions on the use of the Shockwave Flash (SWF) and Flash Video (FLV) file formats, publishing Application Programming Interfaces for porting Flash to new devices, and publishing Flash Cast protocol and Action Message Format (AMF) to let Flash applications receive information from remote databases.[9]

The next version of Flash will have two additional components designed for large scale implementation. Adobe is adding in the option to require an advertisement to be played in full before the main video piece is played, and gives companies the option to link an advertisement with content and make sure that both are played and that they not be changed, which would bring advantages to large scale video sites.[10]

Reference