The Man Also Known As "I'm Batman!"

Hello Citizen! Would you like to be my sidekick? Would you like to ride with... Batman?

Monday, May 17, 2004

We've moved! Check out all these great articles and others at http://akaimbatman.intelligentblogger.com!

Java Desktop System: A Day Late, but On the Money

Category: Operating Systems

Sun has long been criticized for its failure to jump on the Linux bandwagon. Open Source advocates often point to Sun's competitors as an example of why Sun should embrace Linux. With the release of the Java Desktop System, customers can now rejoice at Sun's willingness to please. But does this desktop stack up to the competition, or will it fail as surely Corel Linux did? To answer this question, I purchased Sun's Java Desktop System and took it through its paces.

Installation

The OS came on a total of 6 CD-ROMs, all packed into a standard Sun media kit folder. As is customary with modern distros, the first three CDs contain the binary packages, while the fourth and fifth CDs contain the source code. The source CDs are particularly necessary if you wish to install third party kernel modules. (e.g. The official Nvidia driver.) The sixth CD is merely a collection of various open source and Sun documentation packages. I personally didn't find the documentation CD to be of much value. Of particular annoyance was the fact that all the screen shots on the were for a vanilla GNOME desktop or SuSE install. None of the documentation was really JDS specific.

Installing the Java Desktop System was quick and easy. All of my hardware was detected automatically (including my ISA Awe32 sound card), and JDS chose intelligent defaults for everything. That includes choosing the ReiserFS format by default (a very sensible choice). Beyond that, but there really isn't much more to say. After it autodetected everything, I clicked Next and it began installing the OS. A reboot later I was sitting at the fully installed desktop. Overall, a very pleasant experience.

Java Integration

Despite the name of the product, Java integration is something of a mixed bag. On one hand, browser integration works great. Applets work without any special configuration, and Java Web Start applications can be launched and/or installed with a single click of the mouse. On the other hand, support for standard Java applications is very poor.

The first problem is that only the JRE is included. This makes it impossible to do any Java development without downloading and running a full JDK install. Even worse, executable JAR files open in the archive manager instead of being launched with the 'java -jar' command. This is inexcusable for an operating system that carries the Java name. The final annoyance is in the default Swing look and feel. Sun has a GTK+ look and feel, but the default OS L&F is the standard Metal L&F. The result is that Java applications stick out like a badly bruised thumb.

Thankfully, there is a silver lining. Sun has promised to add developer tools to the May release of JDS (not available as of this writing). This package is supposed to include the JDK, Java Studio, and NetBeans 3.6. It will be available to anyone who payed for a previous version of JDS. With any luck, that version will transform the OS into a much more attractive option for both developers and ISVs.

Software

The Java Desktop System comes with a useful assortment of both Open Source and commercial software. All the standard GNOME utilities and games are there, as well as Mozilla, Real Player, Macromedia Flash, StarOffice, Java Media Player, and a variety of open source Java software. Given the visual integration of the Desktop and GNOME software, Mozilla and RealPlayer seem out of place. Mozilla has a skin to make it look like a JDS application, but the skin is only half complete.

RealPlayer is the same free player available for download from the Real site. As one would expect, there is no full screen support, and it does not integrate with the desktop in any way other than to associate itself with RealPlayer files. Sadly, not even the file associations work. Double clicking on the file causes Nautilus to pass RealPlayer a URL instead of a file path. Predictably, RealPlayer chokes on this URL and forces you to navigate its antiquated File|Open menu.

Third Party Software installation is even more problematic. Sun's version of YaST 2 is sufficient to install only a small subset of Open Source software available for Linux, as well as automatically install the latest security updates. In theory, new versions of the OS will also be delivered via the same interface. Beyond that, there are no graphical tools for software installation. Even SuSE's YaST interface for installing RPMs appears to have been removed. This leaves the user with the choice of either running 'rpm install' manually, or compiling software from it source.

When I spoke with Sun on the issue, they acknowledged that it was problem and suggested that I try a Java product such as Zero G. Unfortunately, Sun's failure to add support for executable JAR files means that even products like Zero G won't be able to create installers that launch from the GUI. Hopefully this oversight will be corrected in the near future.

On the bright side, the Nautilus file manager has been configured to be very similar to Windows Explorer, and should feel perfectly natural to any Windows user. Only the highly attractive icons and in-icon preview mode keep you from forgetting that you're not in Windows.

The GNOME interface has also been tweaked to feel very much like Windows. The standard foot menu applet has been restyled into a Launch button that's reminiscent of the Window's Start menu. To the right of the Launch button, you have your system clock, the list of running programs, then the system tray icons (including the Volume Control). Other than the clock being in an odd place, this should all seem very natural to a Windows user. The desktop pager might cause some confusion, so companies may prefer to disable it before they receive the inevitable my applications disappeared! tech support call.

Multimedia

In the past, many desktops have used their business focus as an excuse to include reduced multimedia support. Normally I'd simply make a note of it and move on. In JDS's case, Sun has also made an effort to target home users through OEM machines sold at WalMart. It's possible that Sun has added extra multimedia capabilities to the OEM install of JDS, but I do not have such a machine to verify this supposition. Thus I must to proceed on the assumption that the OEM version of JDS is no different than the Media Kit.. This is rather unfortunate for Sun as multimedia support is one of the weakest areas of the Java Desktop System.

JDS includes the Java Media Player, GPlayer, and Totem. Double clicking on an MP3 brings up the Java Media Player. The upside is that JMP plays MP3 files. The downside is that each instance is only good for playing one file. Play lists are out of the question, and the default is to continuously loop on the same file.

None of the Media Players I tried would play any of the AVI files I had available to test with. Since most AVIs today are encoded in patented formats like MPEG4, this came as no surprise to me. Most Linux distros seem to be attempting to avoid patent issues in a similar fashion. Given how large of a company Sun is, it would be a nice surprise for them to simply license the patents required to legally ship non-crippled software.

MPEG2 files were associated with Gplayer. These seemed to play reasonably well. I had very few MPEG2 files on hand, so I found that other than testing there wasn't much use for this support. I do not have a DVD drive, but it's possible that this program is for current or planned DVD support.

3D support is non-existent. In fact, Sun has completely removed the GLX extension. I only realized this omission after downloading the NVidia Linux drivers from the official site (only the generic 'nv' driver is included in JDS), and attempting to run a few JOGL (Java OpenGL) programs. I was a bit surprised when the first program immediately exited, and the second program hung. A quick check of the console confirmed that the GLX extension couldn't be found.

In the end, I performed a command line install of XMMS and Xine. This was sufficient to make use of my multimedia collection. 3D games are still out of the question.

Overall Impression

The interesting part about the Java Desktop System is that despite all it's flaws, it's actually a very pleasant and usable system. I would even go as far as to say that it reminds me a lot of when I first started using Windows 95. Everything is new and shiny, the desktop is pleasant on the eyes, the GUI is responsive, and you don't feel the overwhelming need to drop to a terminal. Given that the JDS interface is supposed to be ported to Solaris, it may be that Sun intends JDS Linux to be to Solaris as Windows 9x was to NT.

The downside of such a comparison is that JDS Linux is just about as quirky as Windows 9x. Putting an Audio CD in the drive once caused the CD Player to hang and the rest of the system to respond in short spurts. Opening and closing the CD Drive resolved the problem. Another time I was doing an 'rpm --rebuild' in a terminal (JDS uses GLIBC 2.2.5 instead of the latest 2.3) and the GUI became sluggish and unresponsive. Data CDs will frequently fail to eject, supposedly in use by some mysterious program. None of these quirks are insurmountable, but they do give the OS a beta quality feel to it.

JDS does have a few things in its favor that Windows 95 didn't. Unlike Microsoft, Sun releases updates to their software on a quarterly basis. This means that major OS fixes are (hopefully) no more than 3-6 months away. JDS also has the advantage of being able to pull from a large base of existing software. Whereas Microsoft had to build everything for themselves (admittedly a doable task for such a large company), Sun can pick up an Open Source project that meets their needs, add some polish, submit the changes back to the project, and release it with the next update of JDS.

Wish List

Besides the standard list of OS improvements (e.g. Make it faster, support more hardware, bundle more software, etc.), I believe Sun could really improve their OS by making use of some of their business connections and clout as a large corporation. For example, Sun should license the MPEG4 and/or DivX codecs. That alone would make Sun the only Linux company to distribute a working media player. Next on the list, they could convince Adobe to create a version of Acrobat that would integrate with the GNOME desktop. Even a RealPlayer version that supported full screen would be a welcome change.

Beyond that, I think that Sun really needs to take the lead on software installation. Packaging systems are great for keeping system libraries and command line programs in sync. Unfortunately, installing a GUI program ends up being a frustrating experience fraught with dependency hell. Simply defining a new standard for GUI software installation (preferably one that included all dependencies) would go a long way toward making the system more usable to the technology challenged. Even those of us who are experienced with Linux would readily appreciate being saved the trouble of tracking down dependency after dependency.

Final Thoughts

If you're a business looking to break your Microsoft habit, or a Linux user who's looking for a distro with a comfortable GUI, then JDS is definitely for you. If you're a home user looking for an OS that's cheaper and easier than Windows, then I suggest that you wait a few releases before making the big leap.

One way or another, JDS represents a tremendous shift in usable Linux Desktops. I applaud Sun's efforts and eagerly await their future offering.

 
WARNING: Comments have been temporarily disabled during maintenence. Comments will reappear soon.