I read Hans Muller's Blog last week talking about LimeWire as the killer Java GUI application. Then I saw Tim Bray trying it out:
Tim Bray: So I checked out LimeWire and... suddenly it was 2000 and I was sitting in my basement, a small part of the great Napster feeding frenzy.
That sounded very tempting. So I decided to give it a swirl. First off, I checked if LimeWire is part of JPackage. It is. But the version in JPackage is old and does not work. So I removed the RPM and downloaded the latest RPM. It has a dependency on Sun's JRE which I don't have. So I downloaded the generic tarball version of LimeWire.
The first problem I encountered is with the runLime.sh script, which contains the following snippet:
This is the lamest shell script I've ever seen in a Java application. This practically means in order to run it, I have to cd to the LimeWire installation directory and do a:
[weiqi@gao] $ ./runLime.sh
That brings me to the second problem. When I start LimeWire for the first time, a nice looking splash screen comes up. The splash screen will stay up until some first time configuration stuff is done. The trouble is, the configuration dialog box is directly behind the splash screen. I have to move the configuration dialog box to the side to complete the questions.
Now up comes the main GUI. It is a slick GUI.
Everything feels natural and generous tooltips are used to reveal the details of list items. I did find some of my favorite songs---Teresa Teng songs (clandestinely) popular in China in the late 70's. The download was fast and the preview button played the songs without problems.
Then I got curious and peeked behind the menus, when I saw the apply skins menu item, I decided that I'm going to try some of the other themes. I switched from the Gtk theme to the classical theme. The LimeWire window went away. The splash screen flashed briefly. And the LimeWire window came back, with the new theme. The ongoing download was not affected. Good.
Then I switched theme again. Window went away. Splash. Window came back.
Again. Window away. Splash. Window back. This time with a huge stacktrace scrolling on the terminal window and the Window blank except for a button. Moving my mouse over the screen brought back some of the widgets but not others.
So is LimeWire a functional application that runs reasonably fast and does what it advertises to do? Yes. Is it the poster child of mass market Java desktop application? No.
Java still don't have a desktop killer application.