Jump to content

SWF

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Splang (talk | contribs) at 07:40, 5 May 2006 (Licensing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

For other uses, see SWF (disambiguation).

SWF (Small Web Format (commonly, but wrongly refered to as Shockwave Flash - Shockwave being the format produced by Director), often called simply Flash) is a proprietary vector graphics file format produced by the Macromedia Flash software. Intended to be small enough for publication on the web, SWF files can contain animations or applets of varying degrees of interactivity and function. The Flash program produces SWF as the compressed and uneditable final product, whereas its uses the .fla format for its editable working files.

Flash is currently the most ubiquitous and dominant format for displaying animated vector graphics on the web —far exceeding the open standard SVG format, which has met with problems over competing implementations of the W3C standard. SWF is also sometimes used for creating animated display graphics and menus for DVD movies, and television commercials. According to Macromedia, SWF is pronounced "Ess Doubleyou Eff," but some people prefer to pronouce it as "swiff."

Description

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

The file format was first created by Macromedia and had one main goal: 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 (such as a browser used with a modem). Plugins to play SWF files in web browsers are available from Macromedia for most desktop operating systems, including Microsoft Windows, Apple Mac and Linux on Intel. Macromedia claims that over 97% of web users now have an SWF plugin installed [1], but give little or no information on the survey methodology (such as how participants were selected). In practice, the availability within some communities is much lower, due to Macromedia’s reluctance to allow other software to read the format (see #Licensing).

The format is fairly simple, albeit binary, and therefore not as immediately readable as its XML-based rival SVG. SWF has used zlib compression since 2002, and in general the format aims to store all data using as few bits as possible, therefore reducing redundancy.

Licensing

Although a full specification of SWF is available, it is not an open format, as implementing software that plays the format is disallowed by the specification's license. Reverse engineering is therefore the only legal way to compete with the official SWF player, and no adequate competition yet exists but Microsoft plan to make Metro, an equivalent format, a new standard.

Implementing software which creates SWF files is permitted, on the condition that the resulting files "[render] error free in the latest publicly available version of Macromedia Flash Player." [2]

Documentation

Third-party software

Players

Libraries

  • SWFSource SDK Cross-Platform Flash SDK for addition of Flash Import / Export to applications.
  • SWF Scout Commercial ActiveX/.NET library for rich flash movies generation. Can create new flash movies using existing SWF as templates.
  • Delphi SWF SDK Commercial. Contains pure Object Pascal library for creating SWF files, without any external dynamic libraries.
  • Flirt An open source Flash parsing and rendering library
  • LIBSWF A library for generating Macromedia Flash .swf files from scratch
  • OpenLaszlo Open source platform for developing AJAX-style applications that compile to SWF.
  • MING A SWF output library and PHP module. (See also Ming library)
  • JSwiff Open source Java API for SWF import and export
  • SSWF A library and a script compiler to create SWF content
  • JGenerator Java-based swf generation library. This software was developed by JVox but is now under the control of Macromedia.
  • gameswf A Public Domain library for parsing and rendering SWF movies, using 3D hardware APIs for rendering. It is designed to be used as a UI library for computer and console games.

Tools