IMDb Studio Briefing carries a news snippet today about new Blu-Ray discs that can play in Sony PlayStation 3 units but not in standalone players: Sony Encounters New Blu-ray Glitches. It seems that the new discs use some system called BD-Java for processing extras and additional features. Just when you thought multimedia tech couldn’t get more complicated and bloated. So now players have to have some kind of Java VM?
As usual, Wikipedia is on top of it.
I see nothing strange here. Even cheap mobile phones comes with java vm this days.
But consider the poor open source software player that has to handle the data, when that day comes.
At least the BD-Java spec is (more or less) openly available. Besides, Java apps alongside video is nothing new. Satellite/cable broadcasters have been doing it for years.
You can use something like this: http://jelatine.sourceforge.net/
a CLDC compliant java VM in 64K of RAM.
Yes, Blu-Ray does need a Java VM. It’s mandatory. It’s also a very sensible decision for a whole bunch of reasons (both technical and non-technical).
Cast your mind back to renting DVD’s circa 2000, where many stores carried DVD’s with labels saying “this disc doesn’t work on “. Back then, compatibility with the hacked-on interactive menuing system was pretty poor, and lots of disks simply wouldn’t run, or would do weird things. This was a big problem back then, and actually contributed to the slow take-up of DVD’s by rental companies at the time.
The Sun Java codebase, now GPL licensed, is mature code (dealing with the “poor open source software player” complaint from Mike). Even more importantly, testing Java implementations is a well-studied science, with a lot of testing software suites available. The chance of them getting an interoperable VM is significantly improved, and the development systems are widely available and well supported for producing the actual code.
I have MANY, MANY criticisms of Java, but for this application, it’s the perfect solution. This isn’t surprising, because OAK (Java’s predecessor) was basically designed for interactive TV settop box automation. That’s where Java came from.