legalese flash and generator are acknowledged trademarks of macromedia corporation

28
Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Upload: aubrey-page

Post on 14-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Legalese

Flash and Generator are acknowledged trademarks of

Macromedia Corporation

Page 2: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Manipulating SWFfiles with Perl

Simon [email protected]

Flash in the Pan

Page 3: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Contents

• About the SWF file format

• The need for manipulation tools

• The problems encountered

• Achievements

• Applications

• The future

• Conclusion

Page 4: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

About theSWF file format

Page 5: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Flash?

• A little bit of History– FutureSplash was originally

created by FutureWave– FutureWave bought by MacroMedia,

FutureSplash renamed Flash– current version is 5– Flash file format (SWF) was

open-sourced in 1998

Page 6: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Flash? cont.

• Vector animation format– shapes and lines

– bitmaps (JPEGs, PNGs)

– sounds (ADPCMs, MP3s)

• These are known as objects– analogous to actors,

scenery and soundtrack

Page 7: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Flash? cont.

• Keeping with the film analogy– SWF format is a script to describe

and control the ‘actors’

– divided into frames

– frames divided into tags• these define and control objects

– 34 different tags, using 17 data-types

Page 8: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Flash? cont.

• Web Oriented– highly compressed

– plug-in

– pseudo-streaming

Page 9: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Flash? cont.

• Scriptable– control events, within movie

– reactive, not truly dynamic

Page 10: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The Idea

• I needed– a tool for manipulating Flash files

– a way of creating Flash files from scratch

– some way of converting between formats• abstract representation

Page 11: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The need for manipulation tools

Page 12: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Why?

• Can’t create totally dynamic content– prevents uses on

database applications

• Because it’s complicated– it can’t be used within other

applications, the facilities don’t exist– you can't do some things

with the existing interface

• Storing SWF binary is not always appropriate

Page 13: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The Competition

• Macromedia Generator– limited

• modification not creation

– expensive (very)• and you still need Flash Authoring tool

– slow

– resource intensive

Page 14: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The Competition cont.

• Ming– enemy of flash

– unfinished, only generates

– not low level enough

Page 15: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The Competition cont.

• Middlesoft SDK– limited to C++ on Windows

– complicated

– restrictive licensing

– creation only

Page 16: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Problems encountered

Page 17: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Problems

• Specification was wrong– required experimentation– incomplete, only dealt with version 3

• Very few knowledgeable people– NDAs– lack of community

• Text representation• libswf very unstable

– author unavailable

Page 18: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Achievements

Page 19: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Achievements

SWFParser

AbstractObject

SWFWriter

Page 20: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Applications

Page 21: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Applications

• Broadband access– richer interfaces

• Database driven flash websites– e.g. animated weather maps

• Batch generation– personalised invitations

Page 22: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Applications cont.

• Library for flash authoring application

• Extraction of resources – images, sound, text

• Conversion between other formats– save as SVG and MNG

Page 23: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

The future

Page 24: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Future Work

• Improve interface to the Object– simplify– functions for various effects

• Update Libraries to Flash 5– legalities of reverse engineering

• More Input/Output filters– improve the ones already done

Page 25: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Conclusions

Page 26: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Conclusions

• A lot has been achieved– but things still to do

• Interest from industry and community

• Many real-world applications

• Development will continue

Page 27: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Conclusions cont.

• Structure is sound

• Perl was appropriate– good support from user base

– hundreds of pre-built libraries

– performance issues

Page 28: Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation

Manipulating SWFfiles with Perl

Simon [email protected]

Flash in the Pan