SWF

The file format SWF (originally standing for "Shockwave Flash", later changed to "Small Web Format" by Macromedia when the company chose to have the phrase "Shockwave" only refer to Director, pronounced swiff or "swoof" ) a partially open repository for multimedia and especially for vector graphics, originated with FutureWave Software and has come under the control of Adobe. Intended to be small enough for publication on the web, SWF files can contain animations or applets of varying degrees of interactivity and function.

SWF functions as the dominant format for displaying "animated" vector graphics on the Web, far exceeding the use of the W3C open standard SVG, which has met with problems over competing implementations. It may also be used for programs, commonly games, using Actionscript.

SWF files can be generated from within several Adobe products: Flash, Flex Builder (an IDE), as well as through MXMLC, a command line application compiler which is part of the freely available Flex SDK. Other than Adobe products, SWFs can be built with open source Motion-Twin ActionScript 2 Compiler (MTASC), the open source Ming library, and the proprietary SWiSH Max2. There are also various third party programs that can produce files in this format, such as Multimedia Fusion 2

History
FutureWave Software, a small company later acquired by Macromedia, originally defined the file format with one primary objective: to create small files for displaying entertaining animations. The idea was to have a format which could be reused by a player running on any system and which would work with slower network connections.

Adobe acquired Macromedia in 2005.

On May 1, 2008, Adobe dropped its licensing restrictions on the SWF format specifications, as part of the Open Screen Project. However, Rob Savoye, a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed. On July 1, 2008, Adobe released code which allowed the Google and Yahoo search-engines to crawl and index SWF files.

Description
Originally limited to presenting vector-based objects and images in a simple sequential manner, the format in its later versions allows audio (since Flash 3), video (since Flash 6) and many different possible forms of interaction with the end-user. Once created, SWF files can be played by the Adobe Flash Player, working either as a browser plugin or as a standalone player. SWF files can also be encapsulated with the player, creating a self-running SWF movie called a "projector".

Adobe makes available plugins to play SWF files in web browsers on many desktop operating systems, including Microsoft Windows, Apple MacOSX, and Linux on the x86 architecture. intensive development had taken place on Gnash, a free-software implementation of a SWF player. Another FOSS implementation is swfdec.

Based on an independent study conducted by Millward Brown, over 99% of Web users now have an SWF plugin installed, with around 90% having the latest version of the Flash Player.

Sony PlayStation Portable consoles can play limited SWF files in Sony's web browser, beginning with firmware version 2.71. Both the Nintendo Wii and the Sony PS3 consoles can run SWF files through their Internet browsers.

Licensing
Adobe makes available a partial specification of SWF. The document is missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and Sorenson Spark. Until May 1, 2008, implementing software that plays the format was disallowed by the specification's license. On that date, as part of its Open Screen Project, Adobe dropped all such restrictions on the SWF and FLV formats. However, the SWF specification was released under a very restrictive license:

"This manual may not be copied, photocopied, reproduced, translated, or converted to any electronic or machine-readable form in whole or in part without written approval from Adobe Systems Incorporated."

As a result, some believe that coordinating with developers of an SWF implementation is made more difficult because the document cannot be easily shared. However, because the document can be directly downloaded from the Adobe web site by anyone wishing to read it, the impact of that restriction may be inconsequential.

Implementing software which creates SWF files has always been permitted, on the condition that the resulting files render "error free in the latest publicly available version of Adobe Flash Player."

GNU has started developing a free software SWF player called Gnash under the GNU General Public License (GPL). Another player is the GNU LGPL swfdec.

Scaleform GFx is a commercial alternative SWF player that features full hardware acceleration using the GPU and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a game middleware solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback.