Three-dimensional environments have gained a following on the Internet for interactive games and community "worlds." Businesses also are looking into the technology for training seminars, and 3D is being used for many other applications that aren't necessarily networked, such as complex model design.
With "Java 3D" extensions, Sun hopes to entice developers to use Java as the main programming language to build such applications. The company argues that any Java programmer can quickly learn the additional material needed to write code in 3D.
Contrary to an earlier statement by Sun, 3D applications built with the Java extensions will also run on Macintosh machines. In correcting remarks made to NEWS.COM and reported earlier today, a Sun spokesman said the underlying software engine or "device driver" for Java 3D, called OpenGL, in fact has a Macintosh version.
But Java 3D does not support QuickDraw 3D, the 3D graphics engine that is built into the Macintosh operating system. The original plan was to get Apple Computer's input into Java 3D, but Apple withdrew its participation in the project this winter.
In addition, the language will appeal primarily to advanced developers, not to people who want to build 3D worlds with little or no programming knowledge--and that's disappointing to at least one 3D expert who believes that programming interfaces for 3D applications should be easy to learn for nonprogrammers.
"Java 3D is appealing toward a small content developer community and negates all the power of the architecture by doing that," said Bruce Damer, author of the book Avatars! Exploring and Building Virtual Worlds on the Internet.
Because Java 3D relies on other device drivers that tie it to a specific hardware platform, it isn't technically "100 percent pure." Sun is mulling over a pure version but no plans are in place, said Java 3D marketing manager Ken Tallman.
One technology consultant chided Sun for not practicing what it preaches.
"If Microsoft pulled something like this [with Java], Sun would be screaming bloody murder," said Stephan Somogyi, principal of Gyroscope.
Sun argues that Microsoft is in trouble for altering the core Java code, but the rules covering the Java extensions, including 3D, are not the same.
One Java programmer, whose company provides detailed weather information on the Web, praised the upcoming API (application programming interface) release and said it would lighten traffic on networks.
"Instead of sending GIFs and JPEGs across a network, we can send data for a map of the world and form the image on the client," said Jonathan Kessler, senior systems architect at WeatherLabs.
Despite his disappointment with the lack of drag-and-drop programming for Java 3D, Damer, who also runs the Contact Consortium, acknowledged that Java 3D will add needed functionality to VRML (Virtual Reality Modeling Language), which is used for display of 3D content just as HTML is used to display 2D data.
"The real promise of Java 3D is a live connection between several people viewing the same thing," he said. "It's hard to have instant exchange of information across a network in VRML."
Because the 3D API is an extension of the core Java Development Kit technology, end users will have to download a separate piece of software to run Java 3D applications, Tallman said.
The beta of the Java 3D API will be publicly available next week and should be finalized by midsummer, according to Tallman. By then, Sun also should have tools ready that import 3D objects from third-party development tools into Java.