“Investigating the SWF file format” -or- “What I did in my summer holidays” Deconstructing Flash.

Slides:



Advertisements
Similar presentations
Iframes & Images Using HTML.
Advertisements

H E L S I N K I U N I V E R S I T Y O F T E C H N O L O G Y G O p r o j e c t : S e r v i c e A r c h i t e c t u r e f o r t h e N o m a d i c I n t e.
Adobe Flex Framework and Tool Stephen Oney. Brief History 2.
Presented By, Sripad Sarode
Sounds, Images & Other Objects Website Production.
Using the Semantic Web to Construct an Ontology- Based Repository for Software Patterns Scott Henninger Computer Science and Engineering University of.
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
Web Programming Presentation on: Flash. How Flash Came to Be Created by Jonathan Gay, current VP of Flash and Generator at Macromedia Created by Jonathan.
Macromedia Flash” Workshop on “ Introduction to 29-Aug to 1-Sep 2004.
Flash basics. What Flash is Annoying animations Complete waste of resources Might be if done wrong but  Flash can be used to –Create dynamic content.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Russell Taylor Lecturer in Computing & Business Studies.
1 Flash and Animation Presented by : Behzad Sajed Khosrowshahi.
Tutorial 7 Working with Multimedia. XP Objectives Explore various multimedia applications on the Web Learn about sound file formats and properties Embed.
Explaining the principles of web animation Gladys Nzita-Mak.
Multimedia Enabling Software. The Human Perceptual System Since the multimedia systems are intended to be used by human, it is a pragmatic approach to.
Manipulating Images Image A visual representation of something that is seen in real life. It can be two-dimensional or three-dimensional A visual representation.
HYPERTEXT MARKUP LANGUAGE (HTML)
Multimedia Authoring Tools Lecture 13
By: Shawn Li. OUTLINE XML Definition HTML vs. XML Advantage of XML Facts Utilization SAX Definition DOM Definition History Comparison between SAX and.
Skill Area 212 Introduction to Multimedia Internet and MultiMedia for SC 2.
© 2011 Delmar, Cengage Learning Chapter 11 Adding Media and Interactivity with Flash and Spry.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
Dynamic Web Pages (Flash, JavaScript)
GIS technologies and Web Mapping Services
UNIT 8 DRAWING WITH THE HTML5 CANVAS ELEMENTS AND FORMS.
Introduction to Flash FYS100 Creative Discovery in Digital Art Forms Spring 2007 Burg.
Digital Media Computing
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
1 SEG3120 Analysis and Design for User Interfaces Flash Anis Zarrad Parallel Simulations and Distributed Systems (PARADISE) Research Laboratory SITE, University.
1-1 OBJ Copyright 2003, Paradigm Publishing Inc. Dr. Joseph Otto Silvia Castaneda Christopher deCastro CSULA Macromedia Flash MX Introduction.
CHAPTER FOUR COMPUTER SOFTWARE.
Lights, Camera, Action! The Role of Multimedia in Web Applications Leading Multimedia Formats in Use Today What You Need to Know to Include Them in Your.
Tutorial 7 Working with Multimedia. XP Objectives Explore various multimedia applications on the Web Learn about sound file formats and properties Embed.
XP Tutorial 1 Introduction to Macromedia Flash MX 2004.
Multimedia Software Tools. 3-D Modeling and Animation Tools 3-D modeling gives images a 3-dimensional look. It can be used along with animation, for instance,
Web Design and Development for E-Business By Jensen J. Zhao Copyright 2003 Prentice Hall, Inc. Web Design and Development for E-Business Jensen J. Zhao.
Tutorial 7 Working with Multimedia. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Explore various multimedia applications.
Tutorial 7 Working with Multimedia. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Explore various multimedia applications.
 The creation of moving pictures one frame at a time Literally 'to bring to life' e.g. make a sequence of drawings on paper, in which a character's position.
Flash Flash. It’s components and usage. New generation of web- design  Definition Multimedia technology developed by Macromedia to allow much interactivity.
1 Scalable Vector Graphics (SVG). 2 SVG SVG is an application language of XML. “SVG is a language for describing two- dimensional graphics in XML. SVG.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
File Format. Graphics file Format GIF (Graphics Interchange Format) JPEG (Joint Photographic Experts Group) PNG (Portable Network Graphics) TIFF (Tag.
MACROMEDIA DIRECTOR - LECTURE NOTES -. INTRODUCTION Macromedia Director 8.5 is the best selling multimedia authoring program and leading tool for creating.
Unit 1: Task 1 By Abbie Llewellyn. Vector Graphic Software (Corel Draw) Computer graphics can be classified into two different categories: raster graphics.
WIRED 4 An extensible generic Event Display Mark Donszelmann SLAC, Stanford, U.S.A. CHEP2004, 27 september – 1 october Interlaken, Switzerland.
Flash Adding Multimedia Content to Web Pages. What is it? A multimedia program Combines motion, graphics, sound, and interactivity in web page formats.
B.Sc. Digital Media3D Technologies for the Web 3D Technologies.
Legalese Flash and Generator are acknowledged trademarks of Macromedia Corporation.
XML and SVG as an Aid to Distance Learning Lez Bullwer MSc Information Technology.
Producing a high-impact web experience by integrate Macromedia Flash and ASP By Katie Tuttle CS 330: Internet Architecture and Programming Project.
Computer Graphics Unit 23 Computer Graphics. Computer Graphics Computer generated imagery can be categorized into several different types: Vector or Bitmap.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
XP Tutorial 7 Creating a Flash Web Site. XP New Perspectives on Macromedia Flash 82 Objectives Plan and create a Flash Web site Create a Flash template.
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
WIRED for LCD Analysis Mark Dönszelmann Linear Collider Simulation Workshop May 19-22, 2003, SLAC.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
SVG technology SVG technology is what we want? is what we want? Jaehoon Woo KNU Real-Time Systems Lab. KNU Real-Time Systems Lab.
CDM105 Session 12 Macromedia FLASH MX 2004 Part 5 : Sounds, publishing your movies, and the ‘Get URL’ action.
Scalable Vector Graphics Dietz Ellis 04/17/06. SVG SVG is a language for describing two- dimensional graphics in XML. SVG is a language for describing.
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Background Information
CHAPTER 8 Multimedia Authoring Tools
Dynamic Web Pages (Flash, JavaScript)
Hyperlinks, Images and Tables
Web Programming– UFCFB Lecture 8
Presentation transcript:

“Investigating the SWF file format” -or- “What I did in my summer holidays” Deconstructing Flash

Introduction Simon Wistow –Computing BEng Ian Harries –Supervisor Iain Phillips –Second Marker

Flash? A little bit of History –FutureSplash was originally created by FutureWave –FutureWave bought by MacroMedia, FutureSplash renamed “Flash” –Current version is 4. –Flash file format (SWF) was open-sourced in 1998

Flash? Vector animation format –Shapes and Lines –Bitmaps (JPEGs, PNGs) –Sounds (ADPCMs, MP3s) These are known as objects –analogous to actors, scenery and soundtrack

Flash 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

Flash? Web Oriented –Highly compressed –Plug-in –Pseudo-Streaming

Flash? Scriptable –Control Events, within movie –Reactive not truly dynamic

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

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

The Competition Macromedia Generator –Limited Modification not creation –Expensive(very) And you still need Flash Authoring tool –Slow –Resource Intensive

The Competition Ming –Enemy of flash –PHP based –Unfinished, only generates

The Competition XML-FLASH –Java Based –Limited to conversion into and out of XML –Unfinished

The Competition Middlesoft SDK –Finished near project end –Limited to C++ on Windows –Complicated –Restrictive Licensing –Creation Only

How File::Binary –Perl module for binary manipulation of files de-compilation/ reverse engineering –Finding errors in the released specification

How creation of abstract Flash library –Object Structure creation of SWF generation library –XS wrapping of libswf

Achievements SWF Parser Flash Object SWF Writer File::Binary

Problems Specification was wrong –Required experimentation Very few knowledgeable people –NDAs –Lack of community Text representation libswf very unstable –Author unavailable

Future Work Text replacement Interface Object with SWF generation library More Input/Output filters –XML –SVG

Design Evaluation Structure is sound Perl was appropriate –good support from user base –hundreds of pre-built libraries –performance issues

Applications Broadband access: richer interfaces Database driven flash websites batch generation library for flash authoring application

Conclusions A lot has been achieved –but things still to do Interest from industry and community Many real-world applications Development will continue