Postcards from the edge of Javaland
I could hear the crickets chirping, or at least the hum of the air conditioner fans as they strove to cool the bodies of several hundred enthusiastic and jumpy Java developers crammed into an auditorium of Google.com's New York City office. They were all here to listen to Rod Johnson talk about the Spring Framework, and I had just asked whether anyone knew about BD-Java after the host had graciously allowed audience members to ask general questions.
Granted that I was in a roomful of server-side jockeys who may not know, or care, that Java exists beyond the confines of a Tomcat or Weblogic server, but the profound silence that greeted my query was surprising anyways to a Pervasive Java enthusiast like myself, who lives and breathes CLDC and CDC and all the other acronyms that have cropped up in MicroJavaland.
So, why the recent excitement on my part? Well, quite a lot of new developments have occurred since Sun and some big CE companies had touted BD-Java as the next big thing during the last couple of JavaOne conferences.
For one thing, more and more Blu-ray titles have been released and authored using BD-Java. The relatively primitive and amateurish BD-J game in Speed in late 2006 has given way to the polished and engaging interactive features in Disney's Chicken Little and Digital Leisure's Dragon's Lair this year. Going forward, BD-J will show up in some interesting titles coming in late Spring, including Disney's Pirates of The Caribbean: The Curse of the Black Pearl, where it will power an interactive in-movie feature that presents facts on-screen about the legends and lore of pirates, as well as in Pirates of the Caribbean: Dead Man's Chest, which features Liar's Dice, a single-player game shot in live-action HD video.
|The picture quality in Dragon's Lair (Blu-ray) is strikingly brilliant and often stunning. © Digital Leisure Inc.|
BD-J has also joined the ranks of MIDP apps ("Midlets") and perhaps Applets as one of the few technology buzzwords that have started to become common terms for the everyday consumer. I am a member of various Audio-Visual discussion forums, and regular threads discussing the merits and problems afflicting BD-J have been cropping up like wild toadstools lately. I must admit that it gladdens my JavaHeart to see regular joes pontificating like hardened coders on BD-J and other Java ME subjects. They may not know exactly what BD-J is, but by golly it better not stand in the way of them watching their favorite movies in glorious high-definition.
This is not to say that there are no problems with the current situation, because there are quite a few. From a developer's perspective, the major problem is that it is not at all easy to dive into the world of BD-J coding because of several factors. First, although BD-Java is based on MHP/GEM/Havi/JavaTV APIs that are freely available for inspection around the web, and are even the main subjects of several books, including Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV by Morris and Smith-Chaigneau, and HAVi Example By Example: Java Programming for Home Entertainment Devices by Gibbs et al, the Blu-ray specific API information must be leased from the BDA (Blu-ray Disc Association). In addition, the current slew of authoring tools for BD-J retails at prices in the higher five figures, princely sums that are quite beyond the reach of individual developers. For a more detailed look at problems facing first-time developers to BD-J, David Foster of Digital Leisure Inc., the producers of Dragon's Lair (Blu-ray), has given an interesting account of his personal experiences with the intricacies of this new CDC technology.
There are also problems cropping up on the consumer side of things, mainly because of the seemingly glacial pace that hardware manufacturers have taken in implementing the various advanced BD profiles (BD-Video 1.1 and BD-Live) into their players. Because such key features as network connection, PIP (Picture-in-Picture), and local (persistent) storage were not made mandatory from the very beginning, the result is that many current Blu-ray players may lack the capability to use more advanced BD-J features in the future. This is an extremely hot topic among A/V enthusiasts right now because there are rumors that some studios have delayed the release of Blu-ray versions of their titles because they are waiting for these features to become mandatory.
Notwithstanding these problems though, the future of BD-J looks bright, and there are several major efforts to keep it in the spotlight. This year's JavaOne conference will feature a special track of sessions and events targeting developers interested in gaining an understanding of digital television software technologies and markets, and a Java SIG group focusing on TV and blu-ray Java called Blu-Dahlia was started by Bill Foote and Bill Sheppard of Sun Microsystems.