Multimedia Development Methods

Download Report

Transcript Multimedia Development Methods

CO32004 MDM Unit 8 Multimedia Authoring

Learning Outcomes

  After this lecture and the supporting reading, you should be able to  Differentiate between authoring tools and programming languages  Identify opportunities to use programming techniques within solutions built with authoring tools  Select tools, and test and archive strategies, appropriate to the required solution.

 Use a structured approach to learning a new authoring tool required for a new project  Manage the risks of using new tools or new versions of tools This in turn helps you demonstrate in your coursework that you can  author multimedia applications in an efficient manner  apply programming techniques to multimedia implementation © Napier University 2005 CO32004 MDM Unit 9

Accompanying reading

 England Finney Chapters 11,12,13  SampleDocs    ScunnerProReview.doc  consultantreportscunner.doc  FairScunnered.doc  Scunner Known Limitation and Bugs.doc http://www.macromedia.com/devnet/logged_in/mgeller_dirmx2004.html

http://www.macromedia.com/devnet/director/3d_animation.html

© Napier University 2005 CO32004 MDM Unit 9

Multimedia Reaches Maturity?

 England & Finney have no chapter on Authoring Tools?

 In fact much of their book 2 looks at the various tools used throughout the process – Book 2 Ch.9 (Integration) covers much of this area  But the hard fact remains that tools are now so intuitive, so easy to use, that they are no longer a specialism?

 Does your experience with Director bear this out? Discuss!

CO32004 MDM Unit 9 © Napier University 2005

Multimedia Authoring

Authoring tools provide an for binding together the different elements of a multimedia production.

integrated environment Multimedia presentations can be created using:  Simple presentation packages such as PowerPoint  Powerful RAD tools such as Delphi, .Net, JBuilder;  True Authoring Environments, which lie somewhere in between in terms of technical complexity. © Napier University 2005 CO32004 MDM Unit 9

Two tensions

 Costs:  UK/US Salaries are undoubtedly better for Java programmers than Director authors, but much programming is done in low cost-base countries  Authoring productivity is greater, development cycle can be shorter and less prone to bugs  Functionality/Control  “With code, you know where you stand” (if you know code!)  With code, you’re not limited to the inbuilt functionality or what it affords (if you have the time!) CO32004 MDM Unit 9 © Napier University 2005

Market Position

 The most expensive tool is not the market leader  But neither is the cheapest  Cheap tools help you get a company off the ground but have poor workflow and productivity, and/or constrain you to pre-determined solutions (templates, wizards)  Expensive tools immediately distinguish you in the marketplace (pay to play!), have incredible productivity and functionality, but may have a long learning curve and/or require advanced hardware platforms  Get what you pay for: £50, £300, <£1000, £2k, £10k+ CO32004 MDM Unit 9 © Napier University 2005

Overview

A good authoring tool should be able to:  integrate text, graphics, video, and audio to create a single multimedia presentation  control with precision interactivity by the use of menus, buttons, hotspots, hot objects etc.  publish as a presentation or a self-running executable; on diskette, CD/DVD, Intranet, WWW  Be extended through the use of pre-built or externally supplied components/plug-ins/Xtras etc  Let you create highly efficient, integrated workflow CO32004 MDM Unit 9 © Napier University 2005

Design Metaphor

 The suitability of an authoring environment for creating a specific solution depends on its metaphor/paradigm.  Most based around one of the following designs. Note that E&F ignore two categories.

 Card and Page Based Tools (Other categories support this now)  Icon Based Tools  Time Based Tools  Object-Oriented Tools (Other categories support this now)  Tagging (Mark-Up) Tools  Each type of tool competes in the marketplace against other types; mimic each other’s functionality; leapfrog © Napier University 2005 CO32004 MDM Unit 9

Card and Page Based Tools

 In these, authoring systems elements are organised as pages of a book or a stack of cards.

 The authoring system lets you link these pages or cards into organised sequences.  You can jump, on command, to any page you wish in a structured navigation pattern.  These hypertext tools, based on implementation of a few of Ted Nelson’s ideas, were the forerunners to modern multimedia CO32004 MDM Unit 9 © Napier University 2005

Card and Page Based Tools

Examples include:  HyperCard (Macintosh)  SuperCard (Macintosh)  ToolBook (Windows)  Visual BASIC (Windows) Best suited to applications where the bulk of the content consists of elements that can be viewed individually. CO32004 MDM Unit 9 © Napier University 2005

Icon Based Authoring Tools

In these authoring systems, multimedia elements and interaction cues (or events) are organised as objects in a structural framework. Icon-based, event-driven tools simplify the organisation of a project and typically display flow diagrams of activities along branching paths.

Examples include:  Authorware Professional (Macintosh and Windows)  IconAuthor (Windows) (now defunct)  Rational Unified Process (some aspects of it) CO32004 MDM Unit 9 © Napier University 2005

Icon Based Authoring Tools

Suited to a wide range of applications and offer a high level of support when developing packages with complex navigation structures, best when the user:  Is unsure about requirements  Wants to maintain future versions themselves  Wants to create generic, reusable components  Wants highly interactive environments, rather than interactive front ends to essentially linear animations  Mainly used for educational/training software CO32004 MDM Unit 9 © Napier University 2005

Authorware

CO32004 MDM Unit 9 © Napier University 2005

Time Based Authoring Tools

In these authoring systems elements are organised along a time line with resolutions as high as 1/30th second or even more.

Sequential, organised, graphic frames are played back at a speed you can set. Other elements, such as audio events, are triggered at a given time or location in the sequence of events. © Napier University 2005 CO32004 MDM Unit 9

Time Based Authoring Tools

Examples include:  Macromedia Director (Macintosh and Windows)  Macromedia Flash (Macintosh and Windows) Suited to applications when  You have a message with a beginning and an end or where a high degree of synchronisation is required,  Interaction is essentially navigation to different locations © Napier University 2005 CO32004 MDM Unit 9

Director

CO32004 MDM Unit 9 © Napier University 2005

Object-Oriented Tools

In these authoring systems, multimedia elements and events become objects that live in a hierarchical classification of relationships – eg Ferrari is a type of car.

parent and child Messages passed among these objects order them to do things, according to the properties or modifiers assigned to them. These may be inherited attributes (or specific) – Ferraris can do everything generic cars can (and more) particularly useful for  games with many components each with “personalities”  simulating real-life situations, events, and their constituent objects Examples: Jbuilder, c#/.Net but increasingly also Flash, Director, Authorware etc CO32004 MDM Unit 9 © Napier University 2005

Lingo

CO32004 MDM Unit 9 © Napier University 2005

Mark-Up Tools: Tagging

The Tagging metaphor uses tags in text files (i.e. HTML) to link pages, and integrate multimedia elements. This metaphor is the basis of the World Wide Web. Though limited this environment can be extended by the use of suitable multimedia tags.

Examples of tagging tool systems include:  HTML  VRML  XML  SMIL CO32004 MDM Unit 9 © Napier University 2005

Web Development Tools

Applications such as Macromedia Dreamweaver and Microsoft FrontPage allow you create web pages without learning the underlying HTML. However familiarity with HTML allows you to tweak when required to resolve additional design issues that the tool doesn’t address. © Napier University 2005 CO32004 MDM Unit 9

Dreamweaver

CO32004 MDM Unit 9 © Napier University 2005

The Right Tool for the Job

 editing features  organising features  programming features  interactivity features  performance tuning features  playback features  delivery features  cross-platform features  ease of learning  personal preference © Napier University 2005 CO32004 MDM Unit 9

Programming Basics

You should become familiar with the following:

 Variables  Functions  Handlers  Branching e.g. if-then-else  Repetition e.g repeat-while  Logic Operators e.g. not, or, and CO32004 MDM Unit 9 © Napier University 2005

Effective Programming Techniques

 Elegant programming (Simplicity)  Make the code robust (Simplicity)  Make the code understandable (Simplicity)  Make the Code Maintainable (Simplicity)  Use the Same Script in Similar Objects  Reduce or Automate Repetitive Tasks © Napier University 2005 CO32004 MDM Unit 9

In the next few weeks…

 We will look at case studies of development processes, with an emphasis on the impact a tool has on a given project, in particular on using tools other than Director  Archaeoquest was successful  written in Authorware  in 30 programmer days (and around 10 graphic designer days)  featured a networked expert system that uses generic and situated information to direct users on a tour of local destinations  “Petrochemical CBT” was not  “Scunner” was a problematic tool (bad workmen…!) CO32004 MDM Unit 9 © Napier University 2005

OO Examples in Director 3D tutorial (© Macromedia)

on exitFrame me member ( "Orb" ).

model ( 1 ).

rotate ( 0 , 5 , 0 ) go to the frame end  Here, when the variable exitFrame is TRUE (that is, when the flow of the programme is to exit the frame in which this script is stored), carry out the following: rotate the first model, in the cast member entitled “Orb”, by 5 degrees in the y-co-ordinate. Then go back to the start of this frame.

on mouseUp me myTexture = member ( "Orb" ).

newTexture ( "red square" , #fromCastmember , member ( "Red Square" )) member ( "Orb" ).

model ( 1 ).

shader .

texture = myTexture end  Here, myTexture is a variable created in member, with the ability to store the details of a texture for a cast member. This is filled with the texture already created in a cast member entitled “Red Square” © Napier University 2005 CO32004 MDM Unit 9

Procedural Example from within Authorware (v4 c1997)

repeat with x := 2 to k temp:=GetNumber(x,CandidateStages) if temp>100 then VisitLength := GetNumber(2, Replace("*:", "", GetLine(Times, temp-100))) Trace("Location: "^temp^"Visit Length: "^VisitLength) if TransportMode=4|=6 then

 Get the capacity of the car park and compare it against the planned visitors at both the start and end of the visit

Capacity := GetNumber (1,GetLine(GetLine(SiteMobility, temp 99),5,5,comma)) … end if … end if … End repeat

CO32004 MDM Unit 9 © Napier University 2005

GetLine(GetLine())?!!!

 The interior GetLine, gets the nth line from a plain text file.

 The exterior GetLine, uses a comma separator within the line to get the 5 th comma-separated element  temp^"Visit Length: “  The ^ character used for concatenation of a variable (temp) with a string of text CO32004 MDM Unit 9 © Napier University 2005

Follow-up

 Lingo Authorised  Director Help  Director Developers Centre  Look at example in local directories  Talk to fellow classmates  Practice, Create and Reflect © Napier University 2005 CO32004 MDM Unit 9

Directed Study

 Visit the web-sites of different tools and investigate their strengths and weakness.  If possible obtain demo versions and try them out.  Read reviews of authoring tools in the trade press © Napier University 2005 CO32004 MDM Unit 9