Post on 19-Dec-2015
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.