The XBMC project, which develops a popular open source media center application, announced the release of a major new version last week. XBMC 9.04, which is codenamed Babylon, delivers improved codec compatibility, an enhanced theming system, better Linux support, and many other features.

The XBMC project has its roots in the Xbox Media Player, an MPlayer-based media application that was originally designed for the Xbox video game console. XBMC currently uses its own playback engine that leverages FFMpeg, libdvdcss, and a number of other well-known open source multimedia libraries. Coded primarily in C++, it uses SDL and OpenGL for rendering. XBMC is cross-platform compatible and will run on Linux, Mac OS X, and Windows.

The project is now on a six-month release cycle, which loosely mirrors that of the Ubuntu Linux distribution. The previous version, which was codenamed Atlantis, was released in November. XBMC can play an extremely broad assortment of common codecs and media formats. It also has extensive support for network streaming using a wide range of protocols. It provides a rich theming system—which got many improvements in the latest version—and a plugin framework that allows third-party developers to customize the application using Python scripts.

I've been running XBMC 9.04 since the beta release was made available last month. The new version is highly polished and stable. I have tested it on a Windows XP desktop system, a Mac Mini with OS X Leopard, and an Ubuntu-powered Neuros LINK. It performs well and was able to play high-definition video reasonably on all three computers. I streamed video content from my network storage device and tested several Web-based streaming video services.

XBMC's plugin manager allows users to add new features to the program by downloading third-party scripts from the Internet. These scripts can augment the program's behavior in any number of ways, such as adding support for additional streaming media sources. For example, one of the plugins allows users to stream fansubs of the popular Bleach anime series.

There are several nifty improvements in XBMC 9.04 for Linux users. Hardware accelerated video decoding is now supported on Linux systems that have NVidia graphics cards. The Linux version also gained a D-Bus interface that is compatible with the Media Player Remote Interfacing Specification. This will enable external scripts and tools to programmatically control XBMC via the D-Bus interprocess communication system. This version also introduces support for PulseAudio, a modern Linux sound server (yes, that means you no longer have to kill off the PA process before you run XBMC on Linux).

XBMC vs. Boxee

XBMC is increasingly being displaced by Boxee, a popular XBMC derivative. Boxee offers a simpler and more streamlined user interface, improved support for Web streaming services, integrated social networking features, and a built-in BitTorrent client. Boxee's enhancements are compelling, but the new version of XBMC is still relevant for a number of reasons. XBMC is more robust, especially on the Linux platform. XBMC's library manager and network playback features also seem a bit more reliable in some cases.

XBMC and Boxee have subtly different approaches to user interface design. XBMC's PM3:HD skin is very slick, appealing, and functional, but navigating around the menus can sometimes feel cumbersome. It's cross-style playback control interface feels especially clumsy to me. Boxee's user interface offers less aesthetic grace, but it's more intuitive and consistent with conventional media player UI paradigms.

On Windows, where Boxee is not yet publicly available, XBMC provides a pretty solid alternative to Windows Media Center. XBMC and Boxee do not, however, have built-in DVR capabilities. Users who require recording features will likely prefer Windows Media Center or MythTV.

XBMC delivers a top-notch multimedia experience, an impressive level of extensibility, and a lot of nice platform-specific integration features on each of the supported operating systems. The new release is another step forward for the project and it brings some nice improvements and additional polish.