Progress on the media front at Siggraph ’98

Is Java Media ready? Why developers are hedging their bets

Computer graphics and media are big business. One look at the popular timeline at Siggraph ’98, which showed each year’s conference statistics, including the estimated worldwide market for computer graphics technology, tells you this. The timeline stretched back to Siggraph’s inception, 25 years ago. It estimated the total worldwide market for computer graphics software and hardware in 1998, including categories for CAD/CAM, art and animation, multimedia, realtime simulation, scientific visualization, graphic arts, virtual reality, and the ever-popular other. Including all of the categories, computer graphics revenues are estimated at US3.5 billion for 1998. Estimates for 2003 run well over US00 billion.

Obviously, computer graphics is big business. Considering the buying and engineering power of the thousands of attendees in evidence at Siggraph ’98, it’s apparent why so many companies were compelled to demonstrate Java-based media solutions at this year’s conference.

What follows is an update on the progress of Java Media technology in the year between Siggraph ’97 and Siggraph ’98. In part, I will use this update to set the stage for the next series of Media Programming columns on 3D graphics APIs.

Major announcements and debuts

I briefly discussed major announcements in last month’s JavaWorld article on Siggraph ’98 (see Resources). Here’s a quick recap of some of the major Java-related conference highlights:

  • Sun demonstrated Java 2D and Java Media Players in its booth, but spent the vast majority of its efforts on Java 3D.

  • The Java 3D VRML Working Group was officially created as a part of the VRML Consortium. This new group comes five months after Sun joined the VRML Consortium (which was itself announced at VRML98 last February) as a voting member.

  • Sun announced it would release to the public the source code for its Java 3D-based VRML97 loader. This release occurred several weeks after the conference, along with the Java 3D 1.1 beta 1 release.

  • Several ISVs demonstrated Java- and Java 3D-based solutions. Vendors included Sun, Live Picture, Template Graphics Software, and Nearlife.

Much to the attendees’ delight, Sun also demonstrated Java 3D running in a browser at the Web 3D round-up. The demonstration entailed running Java 3D within Java Plug-in. Subsequently, several members of the java3d-interest mailing list have reported success using Java 3D with the Java Plug-in. As such, this solution seems more mature than mere “demoware.”

Courses and sessions as far as the eye can see

I attended quite a few Java- and media-related courses at the conference. Siggraph organizers focus a lot of their preparatory energies on the courses, and it shows: The sessions are some of the most well orchestrated parts of the conference and, for those needing a crash course or refresher in a new technology, are also among the most beneficial portions of the conference.

Here’s a short listing of the courses I attended, with a brief overview of the content of each:

  • Advanced Graphics Programming Techniques Using OpenGL — This session assumed basic knowledge of OpenGL and focused on using the API to do things like visual simulation, simulation of inter-object interactions like shadows and reflections, image processing, and computer-aided design. Special effects, scientific visualization, and natural phenomenon were also discussed.

  • Introduction to Programming in Java 3D — A crash course in Java 3D, this session was more programming-oriented but less well attended than last year’s course.

  • A Visual Introduction to OpenGL Programming — The beginner’s introduction to OpenGL, or a good refresher for someone who hasn’t used it in a while. This session was well attended.

  • Introduction to VRML97 — Again, a beginner’s course. But unlike the OpenGL introductory course, the VRML97 course had sparse attendance.

  • Introduction to Audio Compression and Representation — Last year, a panel on the closing day of Siggraph ’97 concluded with a request for input on how many attendees were interested in seeing the role of sound increased at Siggraph. The support was overwhelming, and this session was one of the many new sessions on sound at Siggraph ’98. The discussion was a very thorough, if somewhat rushed, overview of audio creation and representation in digital systems. There was a lot of crossover information of benefit to graphics practitioners, encompassing such topics as noisy signals and quantization. (Please refer to my previous column, “Antialiasing, images, and alpha compositing in Java 2D”, for more on this subject.) All in all, this was the most useful course that I attended.

  • Digital Video: Algorithms and Interfaces and Digital Video: Motion JPEG, MPEG-2, DVC, DVD — Both sessions were organized and largely presented by the legendary Charles Poynton, and were based heavily upon his treatise on digital video, A Technical Introduction to Digital Video. Both sessions also provided in-depth Q&A, which proved to be an effective way of drilling into the material in greater detail. At times rather obtuse, these sessions were nonetheless fascinating peeks into the lower-level internals of digital video.

  • VRML Consortium press conference — Consortium members proposed expanding their charter (with a possible name change) to include all Web 3D technologies. The members also discussed next-generation VRML, which promises to include streaming content, binary file compression, XML and DHTML integration, and some sample source code to get started with.

What’s the net change since last year?

With all the news and product marketing, it’s often difficult to extract the net changes in each of the technologies. Here are a few comparisons between Siggraph ’97 and ’98 in the Java 3D arena:

  • Last year, Java 3D was only a twinkle in Sun’s eye: The 1.0 spec was only four days old when the show began, and no publicly available implementations were in existence, not even in alpha. This year, the spec has rolled to 1.1, Sun has released several early access alphas, and within the last few weeks, the first beta (confusingly enough, the beta is called 1.1 beta 1, but there has never been a final 1.0 release). Solaris and Win32 are both supported in this beta release.

  • Last year, the Java 3D course was packed full of people; this year, it was practically empty. Maybe the lack of significant progress on the implementation front is being reflected by a lack of new students wanting to learn more about using the technology?

    Though fewer people attended this year’s Java 3D course, it was, in fact, far more hands-on than last year’s. Sun was compelled to give many more real-world examples and more code, as we finally have a public version we can play with ourselves.

  • At the ’97 show, OpenGL versions of Java 3D were the only thing being shown. This year, Sun has released beta-quality OpenGL versions of Java 3D for Solaris and Win32, along with an alpha-quality DirectX version for Win32. The Mac QuickDraw 3D version, however, has not materialized. With Apple’s public release of QuickTime for Java, one has to wonder if in fact a Mac version of Java 3D will ever materialize.

  • Last year, Sun hinted that it might make a VRML loader available to developers; this year, it did indeed release the Java 3D-based VRML97 loader, including source. The release of this VRML97 loader, with source, is meant to bootstrap the work of the Java 3D VRML Working Group, as well as the work of other developers interested in Java 3D.

  • At both the ’97 and ’98 conferences, the Java Media SIG (hosted by Sun) was very Java 3D-centric.

  • Last year, Sun stated that Java 3D would be a premium extension, such that Java platform vendors would have to license it separately from the Java core platform. This year, the premium suffix has been removed, and now all extension APIs are lumped together. How this affects vendors, however, is still not clear.

On non-Java 3D fronts:

  • Approximately 48,000 people attended Siggraph ’97. This year, at 32,000, attendance was down by 16,000. Is this a West Coast versus East Coast thing?

  • Last year, Sun showed an early access version of the Java Media Framework; this year, it released a final implementation of the 1.0 specification for Win32 and Solaris. Intel’s withdrawal from the JMF space, and the entry of Real Networks into it, have left a lot of early JMF users in limbo. Sun has not clearly stated how it intends to help those developers currently using Intel’s implementation shift to using Sun’s or another vendor’s implementation.

  • Last year, Sun showed early access versions of Java 2D and the Java Sound Engine; this year, both are available as core parts of the Java 1.2 platform, currently in beta 4. Refer to my series on Java 2D (see Resources) for more information on that API and examples of its use.

  • Last year, SGI stated that OpenGL Java bindings were on its agenda for implementation. A year later, the bindings are still not available, but the OpenGL Consortium’s Architecture Review Board (ARB) is considering several proposals and plans to craft an API and approve the specification before the end of 1998.

  • The VRML hype has subsided and reality has set in. People realize it is a great intermediary format with good support in browsers, but that other 3D APIs are needed for more complete programmatic access and manipulation of 3D environments. As you might expect from the more realistic view on VRML, the VRML97 course had its share of empty chairs.

Conclusions

Last year, I concluded my Siggraph ’97 report by noting that the surest way for Sun to cement the success of the Java Media and Communication APIs was to quickly develop and then release well-tested, reliable implementations. Unfortunately, progress has not come as quickly as many developers had hoped, and indeed, many APIs demoed in some form more than a year ago are still not available with a final released implementation (i.e., Java 3D).

Developers have grown rather impatient and have moved on to available technologies in order to ship their products now, waiting (at least for a while) to see if Java-based technologies mature into the reliable software they need. The consensus from developers at Siggraph seemed to be: These APIs are great, Sun, but when will they be real?

Now that we’ve set the stage, next month’s column will begin a short series on 3D APIs for Java. First up, Java 3D, to be followed by a compare-and-contrast discussion of OpenGL. I have received very little interest in discussing DirectX/Direct3D alongside these other 3D APIs, and so will not be going into details on that approach. If you have an interest in other 3D Java APIs, please let me know.

A final note: I will be presenting Programming with the Java Media APIs at this year’s SIGS Java Development Conference (October 18 to 22 in San Jose, CA). If you’re attending the show, please stop by and let me know what you think about the column and what problems you’re having with the technology. I would love to hear your opinions and meet you in person.

Bill Day is a software engineer at Silicon
Graphics Computer Systems. In addition to writing for
JavaWorld, Bill is authoring a book entitled Java Media
Players for O’Reilly & Associates. When Bill is not writing
or programming, he loves to mountain bike, travel with his wife,
and speak French. Java, c’est magnifique!

Source: www.infoworld.com