LimeWire: The Killer Java Desktop App?
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:
${JAVA_PROGRAM_DIR}java -Dorg.apache.commons.logging.Log=org.apache.commons.log
ging.impl.NoOpLog -Djava.library.path=. -jar LimeWire.jar
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.
Re: LimeWire: The Killer Java Desktop App?
I tried Azureus once on a Windows box a couple of years ago. If I remembered correctly, it installed all sorts of extra stuff that sounds like spyware to me. I think I liked the GUI at the time.
Kid in the know are using Shareaza anyway. I don't know if it is written in Java, though.
Re: LimeWire: The Killer Java Desktop App?
Re: LimeWire: The Killer Java Desktop App?
No, a killer application does not have to be bug free. But it does have to be usable. And the problems I encountered are big usability problems. To me they are show stoppers.
Had the argument been that "LimeWire is a killer application for P2P," I'd have no quarrel with it. But when you say it's a killer app for the Java desktop, the attention is shifted, and I have to compare it with other desktop applications such as iTunes (which, BTW, has never crashed on me), Mozilla, and maybe even Microsoft Word.
If LimeWire is the best Java desktop application, then Java desktop application development is in trouble.
Integration, usability, performance, utility are important aspects of desktop applications. And these are exactly what I found lacking in most Java desktop applications.