Java software support
At the 2005 JavaOne trade show, it was announced that Sun Microsystems' Java cross-platform software environment would be included in all Blu-ray Disc players as a mandatory part of the standard. Java will be used to implement interactive menus on Blu-ray Discs, as opposed to the method used on DVD video discs, which uses pre-rendered MPEG segments and selectable subtitle pictures, which is considerably more primitive and less seamless. Java creator James Gosling, at the conference, suggested that the inclusion of a Java virtual machine as well as network connectivity in BD devices will allow updates to Blu-ray Discs via the Internet, adding content such as additional subtitle languages and promotional features that are not included on the disc at pressing time. This Java Version will be called BD-J and will be a subset of the Globally Executable MHP (GEM) standard. GEM is the world-wide version of the Multimedia Home Platform standard.
The BD-ROM specification defines four profiles of Blu-ray players. All video-based profiles are required to have a full implementation of BD-J. The 1st generation players are based on the Profile 1 (BD-Video) specification that does not require support of certain features such as Picture-in-Picture, secondary audio, local storage, and network connections. Profile 1.1 makes PIP, secondary audio and local storage mandatory. Profile 2 (BD-Live) adds network connectivity to the list of mandatory functions. Profile 3 is meant for an audio-only player and does not require video decoding or BD-J.