frame-based vs. object-oriented software


      Macro Media Director has been widely used for doing multi media. It has a nice scripting language. You can move into a deeper object oriented level with director.

      But it is at its heart frame-based. Picture based. It's been a robust program. It's been used for over ten years now. And what we're moving into now is object oriented environments. And object orientation has (in software development) been around for a long time.

It basically saved everybody's butts
in the mid 80s,

      when people figured out that any application was 20% the work that it did, and the application, 20% database and 60% graphical user interface. And every time you wanted to add a feature, you had to support it in the database. You didn't want to rewrite that 60% of the program.

        So we came up with object-oriented user interface management systems or tool kits

      Where if you wanted a slider, you got a slider. And then you customized it. If you wanted a cursor, you chose from a bunch of cursers.

      But the environment knew what a cursor was, knew what a slider was and how it worked. Object -- now what we've got here is, this is the behavior for a particular object. And it shows what happens when you press the mouse down on it. What happens when you pick it up. When the mouse comes up, et cetera.

      This kind of property sheet front end is about to replace, at the highest level, the frame based paradigm of director. Now, you'll still use things like director to do animations. And who knows? Maybe director's new version has a flow chart at the top of it, and I'm not aware of it.

      But you will use it again, all kinds of feeder programs to feed this high level scripting environment.

Object-orientation allows things to be compartmentalized.

      Each entity has its own little behavior. Everything about it is localized to it, which makes debugging easier.

      If any objects receives certain messages, then it can send certain messages. And that's all. And that's all the configurer or the artist or the media designer needs to know. They don't need to know about the guts of it.

Object-orientation in software sort of separates
the technicals and the creatives

      into kind of different realms, and provides a very clear way for them to collaborate. For instance, an artist could hire someone to develop some custom objects.

      It's extensible. Okay, maybe it has six types of object classes. And you want a 7th one. You have in mind some new object class. So what you interact with are these property sheets. This is a particular object, this dart, that has a particular behavior when it's clicked on, which is that. It appears that you're throwing it.

      And for instance, that little thing in the upper left hand corner is one of its behaviors. You can take that, and you can copy it to another object, and it will have the same behavior. You can take animations and say what frame ranges get hooked up to what particular portions of the interaction.

      So it makes things very clear. You obviously have to learn whole new things in order to interact with these. But it's a very organized way to do stuff.

      Now, this tool, for instance, is going to be aimed for high end production environments. Its list price is around $5,000. This is an acknowledgement of the fact that

        big media companies
        have moved into multi-media.

        And they're going to be wanting slicker stuff.

        And they are willing to pay for it.