Post on 24-Feb-2016
description
Multimedia authoring
What is multimedia authoring?• Multimedia authoring integrates a variety of media,
including images, sound, and video along with animation and interactivity.
• The purposes for working in multimedia authoring range from the commercial to the personal to the purely artistic.
• The means of distribution vary—CD, DVD, web, email, television, movies.
• And the languages and environments vary, from all-purpose programming languages like Java to full-featured authoring environments like Adobe Director and Flash with accompanying scripting languages.
What is multimedia authoring?(2)• The result of multimedia authoring can go by a number of
names—production, animation, movie, or even simply program, if you’re referring to the implementation itself.
• You might use a multimedia authoring environment to create a digital résumé or portfolio, an advertisement, a cartoon animation, a tutorial DVD, a special effects portion of a movie, or an interactive visual poem for personal expression.
• You may choose to work with vector graphics, bitmap images, or a combination of these. You may include video, digital audio, or MIDI. You may work in 2D or 3D. You may allow user interactivity.
Criteria for Evaluating Multimedia Authoring Environments - Work process
• What are the main steps when you create an animation or movie in your chosen language or environment? Is it all programming?
• Will you create pictures, sounds, and movies first and import them into your programming environment, or will you create everything from scratch within the programming environment itself?
• Do you use drag-and-drop programming with built-in behaviors, or do you program everything from scratch?
• What elements are already created for you and ready for use? Extensive class libraries? Built-in objects or behaviors? Built-in GUI (graphical user interface) objects like buttons and text boxes? Events that will automatically generate handler calls?
Media supported
• How easy or difficult is it to incorporate the media that are most important to your production?
• Does your language easily support bitmap images? Vector graphics? Digital sound? MIDI? Digital video? Interactivity? 3D?
Ease of programming• Have you ever used this language before? • What is the programming environment for the language? Is
there a user-friendly GUI? An IDE (integrated development environment)?
• Some multimedia languages are based upon a kind of metaphor. For example, Adobe Director has a very visual programming environment, using the metaphor of a stage and cast members.
• Flash’s programming environment resembles a drawing surface, with different pieces of transparent acetate laid one on top of the other.
Programming paradigm• Is this an all-purpose programming language, with full
computational power? • Is it a scripting language? • Does it support object-oriented programming? • Is it an event-based language? • Is the authoring environment especially designed for a
particular purpose—for example, bitmap images, vector graphics, or audio?
• Is it an education-oriented language—primarily intended to teach you how to program and get you excited about programming—or is it “industrial strength”?
Extensibility
• Can you add features to the language or environment with additional third-party plugins or extras?
• Can you write your own extra components?
Efficiency of the language• Some languages are easy to learn, but they execute inefficiently
and do not lend themselves to programs that require heavy-duty computation.
• Will your chosen language be able to execute fast enough for your purposes? Is it an interpreted or a compiled language? Compiled languages can take advantage of compiler optimizations for faster execution.
• Is it important to you to be able to develop your program quickly? Or is it more important that the final product execute quickly?
• Does the language give you access at a low enough level of abstraction to allow you to write efficient code?
Cost
• Is the language or environment freeware? Shareware? A commercial product?
• If it’s a commercial product, how much does it cost? Can you afford it? Is there a trial version? How long can you keep the trial version, and how much functionality does it have?
Language stability
• How stable is the language or environment? • Is it standardized? • Is it in a constant state of revisions and additions? • Will it be around in a year or two?
• GROUP DISCUSSION: Will Flash be around in a year or two?Five? The next phase of multimedia development?
Memory requirements and Platform
• How much RAM and disk space are needed to run the programming environment? Can your computer accommodate these requirements?
• What operating system does the language run under?
Distribution means
• What options do you have for distributing your multimedia production, in terms of both operating system and distribution media like web, CD, DVD, etc.?
• Can you distribute the production in a format that will be accessible to your target audience?
• How large are the resulting files?
Comparison of Some Current Multimedia Authoring Environments, Part 1
Language Level of Abstraction
Style of Programming
Media Supported Extensibility
C/C++ low imperative (C) or object-oriented (C++)
various media supported at a low level of abstraction
can be extended with additional libraries
Director high; lower possible with scripting language, Lingo
drag-and-drop environment with built-in behaviors; Lingo offers choice of JavaScript or traditional dot syntax; choice of imperative or object-oriented style
optimized for bitmap images, video; handles digital audio well; can handle MIDI with Xtras; Flash vector graphics can also be included
can be extended with Xtras and new components
Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility
Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility
Flash high; lower possible with scripting language, ActionScript
drag-and-drop environment with built-in behaviors; ActionScript uses JavaScript syntax; choice of imperative or object-oriented style
optimized for vector graphics; handles low-res video and digital audio well; excellent for web-based productions
can be extended with third-party extensions and new components
• Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility
Java medium object-oriented AWT and JMF packages facilitate GUI building and inclusion of images, sound, and video
can be extended with new classes, packages, and APIs
Python medium object-oriented environments like JES facilitate media computation
can be extended with modules for new applications
Comparison of Some Current Multimedia Authoring Environments, Part 2
Language Platform Distribution means
Support for Concurrency
Support for Network Communication
C++ Windows, Mac, Unix, Linux
platform-specific executable
low-level threads
sockets and client-server model
• Language / Platform /Distribution / Concurrency / Network Comm.
Director Windows, Mac; can be played on Linux
DIR is native file format; EXE or OSX is stand-alone executable; DCR is Shockwave format for web
MIAW (Movie in a Window) can run concurrently with main movie
NetLingo for network operations
Flash Windows, Mac, Unix, Linux
FLA is native file format; EXE or HQX is stand-alone executable; SWF is format for web; MOV is a QuickTime movie
movie clip serves as a movie within a movie, having its own internal timeline
NetStream and NetConnection classes
• Language / Platform /Distribution / Concurrency / Network Comm.Java Windows, Mac,
Linux, and Unixcompiled to bytecode; distributed as an application or applet for web
Thread class, synchronization mechanisms
Client, Server, and Socket classes
Python Windows, Mac, Unix, Linux
compiled to bytecode; run by interactive Python interpreter or distributed as executable file
Thread and Queue class
Socket module
Distribution means
• Another important issue in your choice of authoring environment is the format of your end product.
• What type of file will you have when you’re finished, given your choice of programming language?
• Who are your target end users? • What operating system, browsers, players, and
plugins are they most likely to have?
Java• With Java, you have two options: You can write your program
as a conventional application program or as an applet. • Java has the additional advantage of being platform
independent. Java application programs are compiled into bytecodes.
• The bytecodes are standard and can be read, interpreted, and executed on any platform. When they are interpreted by a particular platform, they are compiled into machine instructions specific to that environment.
• Applets are handled similarly, except that they execute via a web browser. (As a Java API, the Processing programming environment yields the same type of distribution file types as for standard Java.)
Flash• The native development format is FLA.• Distribution formats are EXE, HQX, SWF, or MOV.• EXE and HQX are stand-alone executables. • A Flash animation published in the SWF format can be
embedded in a web page and played via web browsers; need to have the Flash player plugged in, but this is standard.
• SWF files can also be integrated into Director. • MOVs are QuickTime movie versions of Flash animations.• Example of a complicated Flash movie
Director/Flash development phases
• Create your media outside of Director or Flash. • For example, you might take digital photographs, draw
some vector graphics, shoot video, and/or record sound. You can create and edit your media in appropriate environments (i.e., Final Cut, Illustrator, Sound Forge, etc.) and then import them into Director or Flash.
• A note about bitmap images in Director: Make your images the size you want them to be before you import them into Director. Decide on appropriate file types. (For bitmap images, lossless compression is better.)
• For both Director and Flash, create your sound files with appropriate sampling rate and bit depth.
Director/Flash development phases(2)
• Enter the Director or Flash environment. Import the media you created.
• Create other media elements directly in the Director or Flash environment. (They have their own vector graphics and/or paint tools, for example.) You’ll probably need text boxes, buttons, etc.
• Put objects on the stage (which equivalently puts them in the timeline).
• Add user-interface components to the stage, e.g., buttons and input boxes.
• Tween objects as needed.
Director/Flash development phases(3)
• Set reference points in the timeline as needed. In Director, these are called markers. In Flash, they’re called frame labels.
• Create event handlers and attach them to the appropriate objects and frames.
• Add built-in behaviors to objects.• Create new behaviors and add them to objects
and interface components.
Director/Flash development phases(4)
• Synchronize media as needed.• Embed fonts, plug-ins, and extras as needed
for the final product.• Choose compression options.• Save for distribution.
Flash Authoring interface