The Apple Media Tool/Programming Environment compared with Macromedia Director

10 April 1996

Written by Dan Crow
With additional points by Marc Van Olmen

AMT/PE Advantages over Director

  1. AMT/PE is a more conceptually "neat" system than Director. Director is a (good) animation package which has had multimedia capabilities bolted on in a rather haphazard manner. This means it is a bit of a mess, and your projects tend to be difficult to construct and, especially, maintain. In particular, if you add code to a Director project, you tend to end up with lots of scripts all over the place, and it can be hard to keep adequate track of which code produces which effects.
  2. The Apple Media Tool (AMT) itself is very easy to use, and has a much neater way of expressing a multimedia project than Director's rather laboured "stage/cast" metaphors. Of course, this is to some degree a personal matter - some people prefer Director's timeline metaphor.
  3. AMT titles are truly cross-platform. I have yet to write an AMT project that doesn't transfer to Windows with no problems. Diretcor is getting better in this respect (I don't know whow good or bad Director 5.0 will be) but you will run into more issues porting Director projects than AMT/PE ones.
  4. AMT has excellent screenhandling built in. You can display 8-bit images using either the Mac system palette or have the system switch palettes on the fly. Or you can build projects that run in 16-bit or 24-bit. This works well on both Mac OS and Windows.
  5. The Apple Media Tool Programming Environment (AMTPE) supports an industrial-strength, truly object-oriented programming language called the Apple Media Language (AML) which is based on Eiffel. It allows you to build complex programs quickly and efficiently and support large scale code-resuse. Our latest project had over 70% code resuse from an earlier AMTPE program, despite supporting a radically different interface and functionality.
  6. When you want to build a standalone title (AMT has no runtime libraries, no runtime fees, no requirement for a "Made by AMT" logo...) from your AMT project, you save the project as AML source code. You can then use the AMTPE tools to compile and interactively debug this source code. You can change the source code, add features to it, or even write AML programs from scratch.
  7. AMT is itself substantially written in AML. You have full access to the source code, so you can add support for your own classes and objects, and extend AMT in any way you want. This is a particularly powerful feature. No other environment allows you such control over the way it works, or allows you to extend its graphical tool in this way. There are a number of third party developers working on new versions of AMT using this technology.
  8. AMT supports QTVR: you have full QTVR support, without the need for programming (though it is fully supported in AMTPE if you want to produce sophisticated effects).
  9. AMTPE supports external C code extensions in the easiest manner I have ever come across. Any method body written in AML can be replaced directly with a C function if you want. Much of the "Framework" (the set of standard classes and objects that support the multimedia capabilities of AMT, such as QuickTime, sound files, image files, RTF text...) is written in AML; the rest is implemented in C. You have the complete source code (both AML and C) for the framework, so you can change the way any of this works.
  10. All media items in AMT are held externally. This means that if you want to change one image, you simply replace the relevant file in the project's media folder. No code changes necessary, no project rebuilding needed. It also means you can build Mac OS/Windows hybrid CDs, because the media folder is common to both. Typically the standalone application produced from an AMT project is 1-2MB in size. You'll thus need around 4MB to store the Mac OS *and* Windows versions of your application on the CD, leaving you around 630MB to store media.

Director Advantages

  1. It is currently more widely supported than AMT. This means there are more third party products you can add in to Director. However, there is a small third party market for AMT, which is set to grow dramatically following the arrival of AMT/PE v2.0
  2. Director has a rich set of media-creation tools built in to it. AMT is a media *assembly* tool. It allows you to take media items (movies, sounds, text files, images etc.) that you have created in other packages and build them into a project, but it doesn't allow you to create or edit mea items directly. This means you have to rely on external tools to build your media items. Director does have some tools built-in, notably its excellent animation facilities.

At Art of Memory, we find that the need to use external media editing tools with AMT is actually an advantage because it allows us to choose our favourite media production tools, rather than having to learn a set of new applications.

  1. Media items in Director are held internally. This means that in general you get better performance in media access with Director, especially off CD-ROM. However you don't get the advantages of shared media items that you get with AMT. Also, there has recently been launched a new third-party AMT tool (called the AMT Accelerator) which allows you to build media items into a single file, thus giving you all the speed advantages that Director has with an AMT project, so with AMT you can choose.
  2. In Director, you can load media in the background (asynchrony loading). When the users is doing nothing you can start preloading media that will be used in the next "screens/frames". So this give the user the impression that Director loads media more quickly than AMT.
  3. Director allows you to directly script in the environment. If AMT would in some way support minimal scripting functionality such as if/then and adding global state variables this advantage will disappear.

Conclusion

My company, Art of Memory, have been developing commercial multimedia titles since 1989. We currently build all our full-scale titles in AMT/PE. We still use Director, mainly for small projects and prototypes, because it allows us to build quick and dirty titles fast. However, our major projects are information- and media- rich (databases holding hundreds of thousands of words of cross-linked text, thousands of images, hours of audio, all linked together in a complex knowledge structure). We feel that Director is simply unsuitable for such large-scale project development.

Why? Mainly because AMT has a real programming language underneath it, which means we can write flexible, maintainable, reusable cross-platform code. We are a small company and the only way we can compete in the market place is by using competitive tools that get the job done. For real, commercial projects that's what AMT/PE does for us.

--
Dan Crow                                        Tel: +44 (0)1386 841496
Head of Software Development                    Fax: +44 (0)1386 841505
Art of Memory Ltd.                              Multimedia Developers