Java: Linux’s New Best Friend?

Java once promised “Write Once, Run Everywhere.” Why, it might just happen, and that would be great for Linux.

Magazine writers, particularly computer magazine writers, are the most vain sort of creature. Most of us don’t write for big consumer periodicals or do mass-market features because we’re too nerdy and have antisocial tendencies. Still, we love to see our names in print, and even more so, we love it when readers write in with compliments. You have no idea how nice it feels to receive an email from a Linux Magazine, telling me that an article really helped or that they’d like to talk to me to get more information. At the end of the day, a computer industry writer just wants to be loved.

So I was overjoyed recently when I got a letter from a reader, thanking me for the articles I’d written about multimedia software and browser extensions in Linux. The letter went on to ask if I could comment on a product idea, a Linux-based, kiosk-format application for airports and other public places. I said, “Sure. Here’s my business phone number. Ring me up.”

As it turns out, the endeavor aims to create a web-browsing and Internet access booth capable of playing any sort of multimedia content that you’d come across on the Web. The founder asked me if it was technically possible to realize the product in Linux. I said, “Yes, it’s technically possible. But whether it’s legal is another matter entirely.”

The lack of ability to legally play Web-based multimedia content is probably one of the greatest obstacles to mass-adoption of desktop Linux. Sure, we’re making great strides with applications like OpenOffice; open source email applications are quite robust; the browsers are very good; and our desktop user interfaces are beginning to look polished. Further, I’d venture to say that the Linux desktop is as technically sophisticated as Windows Vista and Mac OS X, particularly with the 3D technology that the newer Linux distributions can use.

But at the end of the day, besides productivity applications and email, people want to view the news clips at Yahoo News and CNN.com, watch a TV show at CBS.com, and catch the latest movie trailers on the Apple Quicktime site. Unfortunately, many times, all that Linux can muster is an empty box or a mysterious “plugin missing” message. And while you can get this stuff to run on Linux, most of it isn’t legal, and if it is, it’s probably dependent on a binary-only plugin that a sole, third-party software company distributes.

As of this writing, Macromedia Flash 9 was recently released for Linux, and it goes a long way to improve the Web experience for desktop Linux users. However, it’s binary-only, and it runs only on 32-bit Intel architectures. It’s also limited to ALSA sound, which is a newer standard than most distributions support.

But Flash is only the tip of the iceberg. So many more codecs and plugins are needed to support the breadth of media found on the Web. There’s Microsoft Windows Media (not legal), Quicktime (not legal), RealPlayer (open source, but the Linux implementation isn’t identical to the Windows version), and a host of other minor but prevalent multimedia formats that need local software and a browser extension to play.

How are we going to solve this problem? Some companies, like Fluendo want to license the actual media formats in a legal fashion and provide binary-only codecs to end-users and Linux distributors. While it’s good that some of these formats are indeed licensable, it’s not cheap — you can expect to add $50-$100 to the cost of each Linux distribution to be strictly legal.

What’s the community to do, then? Well, there’s no question that we need to push more and more multimedia content providers to use open standards, and we need to encourage the proprietary codec creators to create open source versions of their players, or to open the standards to allow open source players to be built by the community. But I also think we should look to the future and think about how we can get multimedia content to display on all sorts of Linux-based devices, not just desktops.

Recently, Sun Microsystems answered many of our prayers when the company opened Java under the GPL3 license. Currently, Java isn’t used as the basis for displaying a lot of multimedia content on the Web, but that could very easily change, especially with a Java Virtual Machine re-write by the community to optimize it for multimedia content, and some tweaking of the Sun Java Web Start code. If the codecs ran under an open source JVM and could be licensed legally, a lot of the media problems would be solved. Audio and video codecs would download on-the-fly, and the JVM would handle all of the work required to set up the environment and play the content.

Not only that, but a licensing model could be established by which codecs are paid for by the content supplier on a per-use basis. For sites like Yahoo News and CNN, who pay for their content with advertising, this is a no-brainer business model and lifts the burden from the end-user.

This solution may be from the Outer Limits and may be too good to be true, but Web Start technology is already proven in the industry with enterprise J2EE applications. It’s exactly the sort of thing Java is meant for, and with today’s broadband, the ability to deliver executable code dynamically to the browser is a reality. Microsoft tried this with ActiveX and for the most part failed, but largely because it was proprietary. With an open, Java-based plugins, all sorts of multimedia platforms, be they Windows, Macintosh, Linux, or embedded device, can join in on the fun.

I never thought I’d say it, but Java might be Linux’s new best friend.

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62