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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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
- 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
- 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.
- 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.
- 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.
- 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