GC

Module 8. Key concepts in Authoring and Programming Multimedia

Authoring Systems

Notes:

  • Definition:

    • An Authoring System is a program designed for creating interactive multimedia software titles.

  • Features:

    • Contains pre-programmed elements.

    • Varies in orientation, capabilities, and learning curve.

  • Limitations:

    • No fully automated, point-and-click authoring system exists.

    • Requires some knowledge of:

      • Heuristic thinking

      • Algorithm design

  • Understanding Required:

    • Authoring is akin to a simplified form of programming.

    • Basic understanding of how programs work is necessary.

    • Deep knowledge of programming languages or APIs is not required.


Questions/Keywords:

  • What is an Authoring System?

  • Pre-programmed elements

  • Interactive multimedia

  • Programming vs. Authoring

  • Heuristic thinking

  • Algorithm design

  • Learning curve


Summary:

An Authoring System is a tool for developing interactive multimedia software that includes pre-programmed components. While these systems simplify the development process, they still require some understanding of programming concepts, particularly heuristic thinking and algorithms. There is currently no fully automated authoring system, highlighting the need for a foundational knowledge of how software operates.

Why should you use an authoring system?

Notes:

  • Definition:

    • Program used to develop interactive multimedia software.

  • Characteristics:

    • Contains pre-programmed elements.

    • Offers a variety of orientations and capabilities.

    • Different learning curves based on complexity.

  • Key Points:

    • No fully automated point-and-click systems exist.

    • Requires knowledge in:

      • Heuristic thinking: understanding patterns and problem-solving.

      • Algorithm design: creating structured solutions to problems.

  • Programming Insight:

    • Authoring is a faster approach to programming.

    • Basic knowledge of programming concepts is needed.

    • Understanding of how programs function is crucial, although deep programming expertise isn’t.


Questions/Keywords:

  • What is an Authoring System?

  • Pre-programmed elements

  • Interactive software development

  • Automation in authoring

  • Heuristic thinking

  • Algorithm design

  • Programming basics vs. Authoring


Summary:

An Authoring System serves as a platform for developing interactive multimedia applications using predefined components. While it streamlines the development process and reduces the need for extensive programming knowledge, users should still grasp essential programming concepts, particularly heuristic thinking and algorithm design, as fully automated approaches are not available.

Multimedia Programming vs Multimedia Authoring

Notes

  1. Definitions:

    • Authoring:

      • Assembly and integration of multimedia elements.

      • Often involves high-level graphical interface design.

      • Utilizes high-level scripting languages.

    • Programming:

      • Low-level assembly and construction of multimedia.

      • Involves real programming languages (e.g., C, Java).

  2. Key Differences:

    • Focus:

      • Authoring is more about design and integration.

      • Programming focuses on the underlying code and functionality.

    • Skill Level:

      • Authoring typically requires less technical programming knowledge.

      • Programming requires a deeper understanding of coding and software development.

  3. Languages Used:

    • Authoring Tools: Often use tools that allow for drag-and-drop functionality or scripting without in-depth coding.

    • Programming Languages:

      • C

      • Java

  4. Course Content:

    • Future study of Java programming within QuickTime and the Java Media Framework.

    • QuickTime can also be programmed using C.


Cues

  • What is multimedia authoring?

  • What is multimedia programming?

  • How do authoring and programming differ?

  • What languages are used in multimedia programming?

  • What will be covered later in the course?


Summary (Bottom Section)

Multimedia Authoring involves the design and assembly of multimedia content using high-level tools and scripts, making it more accessible to non-programmers. In contrast, Multimedia Programming requires a deeper technical skill set, focusing on building and controlling multimedia applications using lower-level programming languages like C and Java. The course will further explore Java programming in QuickTime and the Java Media Framework, highlighting the versatility of multimedia programming.

Advanced Multimedia Production: Multimedia Programming

Notes (Right Column)
  • As you gain experience, specific authoring software may not fully suit your needs.

  • Consider customizing existing software:

    • Add, remove, or edit functionality (Plugins or Macros).

  • When plugins and macros aren’t enough:

    • Software/hardware programming may be required.

    • Languages involved:

      • Python

      • JavaScript

      • C++

      • C#

      • Java

      • Arduino Language

  • Particularly relevant for creating unique or bespoke products:

    • MMS 194 (New Media Art)

    • MMS 150 (UI/UX Design)

  • Interesting multimedia content examples involve specialized programming languages:

    • PureData

    • OpenFrameworks

    • Processing

    • These languages offer:

      • Greater flexibility

      • More complex learning curves

  • PureData and Processing:

    • Both are free and open-source.

    • Numerous tutorials available online.

  • Video Examples:

    • PureData:

      • Video 8.1: Sequencer

      • Video 8.2: Experimental Video

      • Video 8.3: Animations/Sound in Live Performance

    • Processing:

      • Video 8.4: Interactive multitouch interface

      • Video 8.5: Android Game

      • Video 8.6: Motion capture video art

  • Wide variety of authoring software typically meets needs.

  • Introduction to various tools will occur in:

    • MMS 14x and 17x courses at BAMS.


Cues (Left Column)
  • What to do if no software meets your needs?

  • What are Plugins and Macros?

  • Which programming languages are useful for custom multimedia?

  • What is the benefit of programming languages like PureData?

  • Examples to illustrate functionalities of PureData and Processing?

  • Which courses will familiarize you with authoring tools?


Summary (Bottom Section)

The study of advanced multimedia production emphasizes the flexible use of software tools, encouraging the customization of existing authoring software through plugins and macros. When those solutions are inadequate, languages such as Python and Processing become essential for creating bespoke multimedia interfaces. Notable open-source tools like PureData and Processing allow for innovative creations, showcased through various video examples. Familiarity with diverse authoring tools is built during specific courses at BAMS, preparing students for a dynamic multimedia landscape.

Authoring Paradigms

Notes (Right Column)
  • Classification of Authoring Software:

    • Different ways of categorizing software.

  • Types of Authoring Software:

    1. Thick Client Applications:

      • Require installation on the computer's operating system.

      • Examples:

        • Open Office Writer

        • Microsoft Word

      • Characteristics:

        • Compute-intensive – most processing done locally.

    2. Thin Client Applications:

      • Run within a web browser.

      • Example:

        • Google Sites (used for this course).

      • Characteristics:

        • Rely on external servers for processing.

        • Computer acts as a "window" to a more powerful computer.

  • Authoring Paradigms (or Metaphors):

    • Defines how users interact with and manipulate information.

    • Helps users understand the software’s functionalities.

  • Examples of Authoring Paradigms:

    • Editing Media:

      • Audio and video editing share similar paradigms.

        • Example: Editing software for audio and video has similar interfaces and tools.

    • Different Paradigms:

      • Editing a slideshow presentation, text document, or image requires different paradigms.

      • Each type of content imposes a unique method of manipulation.


Cues (Left Column)
  • What are thick client applications?

  • Examples of thick client software?

  • How do thin client applications work?

  • What is the role of authoring paradigms?

  • How does editing audio compare to editing video?

  • What distinguishes different authoring paradigms in editing software?


Summary (Bottom Section)

Authoring software can be classified into thick client and thin client applications, with the former requiring installation on local systems and performing computations locally, while the latter operates within web browsers and relies on external servers. Additionally, authoring paradigms dictate how users interact with different types of content—media editing (audio and video) often employs similar paradigms, whereas other forms like text documents or presentations utilize distinctive editing methods. Understanding these classifications and paradigms aids users in effectively manipulating various types of information.


Multimedia Authoring Paradigms

Notes (Right Column)
  • Authoring Paradigm:

    • Methodology by which the authoring system accomplishes tasks.

  • Types of Authoring Paradigms:

    1. Scripting Language:

      • Closest to traditional programming.

      • Specifies multimedia elements, sequencing, hotspots, synchronization, etc.

      • Usually features a powerful object-oriented scripting language.

      • Minimal in-program editing of multimedia elements.

      • Development time is longer but allows for more powerful interactivity.

      • Examples:

        • Apple's HyperTalk (HyperCard)

        • Assymetrix's OpenScript (ToolBook)

        • Lingo scripting language (Macromedia Director).

      • Example Script:

        lingo

        global gNavSprite on exitFrame go the frame play sprite gNavSprite end

    2. Iconic/Flow Control:

      • Fastest authoring style for development time.

      • Optimized for rapid prototyping and Computer-Based Training (CBT).

      • Uses an Icon Palette for functions and Flow Line for interaction links.

      • Examples: Authorware, IconAuthor (may have runtime speed issues).

    3. Frame Paradigm:

      • Similar to Iconic/Flow Control but with conceptual links.

      • Very fast development system.

      • Visual debugging can be challenging.

      • Often bundled with compiled-language scripting (e.g., Quest, Apple Media Kit).

    4. Card/Scripting Paradigm:

      • Offers power through an incorporated scripting language.

      • Suited for hypertext and navigation-intensive applications (like Cyan's "MYST").

      • Extensible via XCMDs and DLLs.

      • Supports scripting for all objects, commonly used for entertainment prototypes.

    5. Cast/Score/Scripting Paradigm:

      • Uses music score as a metaphor.

      • Synchronous elements shown in horizontal tracks with vertical columns for timing.

      • Popular tool: Macromedia Director.

      • Well-suited for animation-intensive applications.

      • Extensible for functions like hypertext via XOBJs, XCMDs, and DLLs.

    6. Hierarchical Object Paradigm:

      • Utilizes an object metaphor (similar to OOP).

      • Visual representation allows for complex structures but has a steeper learning curve.

    7. Hypermedia Linkage:

      • Displays conceptual links without a visual linkage metaphor.

    8. Tagging:

      • Uses tags in text files (e.g., SGML/HTML, SMIL, VRML) to create interactivity and link multimedia elements.


Cues (Left Column)
  • What is an authoring paradigm?

  • Describe the Scripting Language paradigm.

  • How does the Iconic/Flow Control paradigm function?

  • Key features of the Frame paradigm?

  • What advantages does the Card/Scripting paradigm offer?

  • Describe the Cast/Score/Scripting paradigm.

  • Characteristics of the Hierarchical Object paradigm?

  • What is the purpose of Hypermedia Linkage?

  • How does the Tagging paradigm integrate multimedia?


Summary (Bottom Section)

Multimedia authoring paradigms outline various methods for developing multimedia content, each with distinct characteristics and suited for different applications. The Scripting Language paradigm emphasizes traditional programming for interactivity, while the Iconic/Flow Control paradigm excels in rapid prototyping. The Frame paradigm offers fast development but challenges in debugging, and the Card/Scripting paradigm supports extensive interactivity in hypertext formats. The Cast/Score/Scripting paradigm provides structured synchronization of elements, whereas the Hierarchical Object paradigm employs an object-oriented approach for complex designs. Hypermedia Linkage focuses on conceptual connections, and the Tagging paradigm facilitates multimedia integration through text file tags. Understanding these paradigms is crucial for effective multimedia authoring.


Multimedia Presentation Metaphors

Notes (Right Column)

Definition of Terms:

  • Authoring Metaphors:

    • Relate to how users manipulate media information to create content.

  • Multimedia Presentation Metaphors:

    • Focus on features of tools used to playback, navigate, or experience multimedia products.

Key Points:

  • Distinction:

    • Important to differentiate between authoring metaphors and multimedia presentation metaphors.

  • Example of Presentation Metaphor:

    • Audio player as a multimedia presentation metaphor based on the analog cassette tape player.

    • This shows how design choices influence user interaction with the media.

  • Functionality:

    • Multimedia presentation metaphors enhance user experience by providing familiar interfaces and navigation methods.

Cues (Left Column)

  • What are authoring metaphors?

  • How do multimedia presentation metaphors differ from authoring metaphors?

  • Can you provide an example of a multimedia presentation metaphor?

  • Why is it important to understand these metaphors in multimedia?

Summary (Bottom Section)

Understanding multimedia presentation metaphors is crucial for effectively navigating and experiencing multimedia products. While authoring metaphors focus on content creation, presentation metaphors shape the playback experience. Familiarity with these metaphors, such as the audio player modeled after cassette tape players, can enhance user interaction and comprehension of multimedia tools.