Thanks to new products resembling Macromedia Director in ease of use, Web novices and programmers can easily create multimedia Java applets and apps
Ever feel like youโre losing the rat-race and becoming obsolete? Sometimes I have a hard time keeping up with all the changes in technology on a regular basis. If you are a busy information technology manager with barely enough time to breathe, let alone invest in all the new technologies on the Internet today, you may be happy to know that vendors have made it possible for non-experts and programming gurus alike to develop Java applets and applications for their organizations.
Now authoring tools allow Web novices to create multimedia applets and even full applications written completely in Java. All you need to know is how to use multimedia tools effectively. Possibly the most famous of them all, although not yet in Java, is Macromediaโs Director and new Authorware. Macromedia has been in the market for a long time and provides drag-and-drop tools for creating effective presentations and multimedia programs. The tools are simple enough for amateurs to understand and complex enough for professionals to use for their development.
In its first incarnation, Java is a full-blown programming language. Coding multimedia applications in raw Java requires a vivid imagination about where to place objects and about laying out the interface. I once had an argument with a programming friend of mine who simply could not understand why people would rather draw components and images by hand than code them in OpenGL. If you think that sounds ridiculous, then you understand what it was like in more โprimitiveโ times for graphics software development.
While the language, in its raw state, is hard to use for heavy graphics programs, its versatility allows you to create tools that make the abstraction to drawing and layout tools possible. In fact, this is just what some vendors have done.
In my presentation at the JavaOne conference in May, I discussed several companies with authoring and development tools that were being showcased, and explained how and why they should be used. These companies included AimTech, DimensionX, FutureTense, and Kinetix; Netscape also presented on JavaScript programming for authoring environments. There are other companies not included here that are on the verge of releasing products for the authoring environment at this time.
Classification of tools
Before we jump into the details of the software tools, letโs cover some ground about the nature of authoring tools. Authoring tools are usually higher-level abstractions of lower-level programming tools like compilers. If we were to classify these development tools at the lowest level, weโd have the editor, compiler, and debugger. These components allow you to write code directly by hand and then create an executable program from this code once it has been debugged. This level gives you the greatest flexibility in what you can do with your program. It can take a long time and a lot of programming, however, to become experienced enough to whip out killer applications in a short time.
Above the raw programming environment layer are integrated development environments (IDEs). IDEs go just slightly beyond the lower layer in that they sometimes provide authoring tools for creating a program interface by simply dropping components in place; the environment then creates the appropriate code which you interface with the actual engine of the application developed by hand earlier. This level makes it easier to create application interfaces while leaving a lot of room for program flexibility from the coding-by-hand step.
One step higher is what I call visual abstraction tools. At this level, the first true abstraction of programming appears. A set of pre-engineered components are made available to the developer, and a fixed set of interactions is designed into these components. A component can be used to represent something as simple as a binary value or as complex as a multidimensional table. These then tie to each other through a fixed set of methods โ the binary value can be a true-false output that transforms values of the table, for example.
At this level we start getting a visual sense of what object orientation is all about. Each component is an object with a fixed set of methods and interfaces. With this type of tool, you can lay out all the logic and create detailed applications, although often you have to give up some level of control and flexibility in your programming. This is the first step toward a rapid application development environment and the first abstraction that may not require you to do any direct coding by hand.
Above the visual abstraction tools layer we find actual task- or goal-oriented authoring tool environments. Typically these are specialized to perform certain tasks like creating a multimedia presentation or creating flexible electronic documents. In the non-Java world, Microsoft PowerPoint serves as an example of a task-oriented authoring tool. You could use Director as an example, although it differs in that it allows you to extend the basic system through direct programming.
This highest layer usually involves little or no programming at all. The tool usually has a list of components that you choose from; they may require you to insert some values like text or a time period for a counter or repeating image. These applications focus on what they can do and most often do not allow you to expand on their capabilities or make them perform a different task than the one they were built for.
The products
The products I looked at in my JavaOne presentation were Jamba (formerly known as Cruiser) from AimTech, Hyperwire from Kinetix, Texture from FutureTense, and Liquid Motion from DimensionX. With the exception of Hyperwire (which goes the additional mile as a visual abstraction tool), most of these applications were task-oriented tools.
AimTech Jamba
Jamba allows you to create full multimedia applets. AimTech, a veteran multimedia company with its flagship product IconAuthor, has jumped on the bandwagon with this versatile tool. Jamba supports JPEG and GIF images, FLC and FLI animation files, and the AU audio file formats. The Jamba authoring tool is currently available only for Windows 95. AimTech will port the application to Windows 3.1 when the Java extensions to 3.1 are released this fall. The applets, of course, will run in any Java-capable runtime environment.
Once you create the images and components, you can use Jamba to put them together for your presentation. Unfortunately, if you are an Internet user, you still have to suffer the download times for all the individual elements of a Jamba applet before the entire presentation begins.
AimTech plans to support Microsoftโs ActiveX in the future. This will enable you to extend the controls for Jamba through ActiveX controls, and you can communicate with other applications on your system through the ActiveX system.
DimensionX Liquid Motion
DimensionX, one of the first to join the ranks of Java development in the fall of 1995, is continuing along its path of releasing Java-based products. Known for its work in the VRML-Java unification and implementation, DimensionX has been in the limelight as one of the most interesting Java development companies. Liquid Motion, its latest product, is a 2-D applet authoring package.
Liquid Motion is fairly easy to pick up in a matter of minutes. A visual environment allows you to drag and drop components onto the page for the applet itself. You can animate a sequence of images with directions for timing and when the sequence starts; also, you can associate behaviors such as following a path, random movement, and bouncing.
Liquid Motion uses an intermediary language that can speed up application runtime by including a player in your browser. Known as Jack, the player reads the scene description file, loads the components, and plays the applet.
FutureTense Texture
FutureTenseโs goal is to create an online system that competes with traditional document and page layout tools like Quark Xpress and Aldus Pagemaker. Its Texture product makes it very easy to create interesting documents for the Web using a very simple drag-and-drop utility.
With Texture the idea isnโt to create animation but to create documents that interact and communicate and provide much greater flexibility than that offered by HTML. Now tabular sections within the document can scroll independently of the document itself, and buttons and actions can affect different sections of text without reloading pages.
Texture implements timers, allowing you to create events that trigger other elements in the document at pre-set intervals. An attractive Texture feature is that it allows the inclusion of any number of fonts in the document even if you do not have the fonts installed on your system. This is possible because FutureTense implemented a system whereby the font is downloaded temporarily along with the document for presentation.
Kinetix Hyperwire
Kinetix, the new software division for innovative tools at Autodesk, Inc., is currently in the beta testing phase of Hyperwire. This product differs from the others in that it is a visual abstraction tool for creating applets and applications.
Hyperwireโs programming environment is a set of objects and components that interact with each other through connections. Each connection is an action that is triggered by one component and sent to another.
The Hyperwire system allows you to create your own components and extend the system itself. Moreover, it interacts with 3-D environments through an interface to VRML. This application authoring tool is complex enough to create CD-ROM titles and software. Needless to say, it is a little harder to master. But once you have the hang of this tool, creating more than simple animation applets becomes quite quick and easy.
Autodesk, the parent company, is very well known for its AutoCAD system, and Kinetix is taking the whole organization to the online generation. You should look forward to hearing more about this product and future products from Kinetix.
All these tools and so much to do
All the tools described above will be available within the next few months. They will bring Java to the common user and non-programmer and will force the Java programmer to get better at direct coding in order to keep their jobs.
Each of the tools listed above falls into specific areas or has unique elements that can help you make the right purchasing decision. Judging by the marketing information found at the Web sites for these products, multimedia companies are already starting to use them. I specifically did not include direct programming tools and IDEs like the Java Development Kit, the Java Workshop, and products from Visix, Symantec, and Borland here; these other products are directed at the programming community at large and require a good deal of programming know-how before you can take advantage of them.
Authoring tools for Java help to popularize the technology, introducing it to designers and users not among the software development elite. With this market in its beginning phase, you can be sure to hear of other products in the near future.


