Applications in Java
My opinion of Java as a platform for developing GUI applications has generally been that it results in slow, clunky, ugly software that is a pain to install, feels unresponsive and fails to behave in the way I expect a GUI to behave. I based this on my experience with Java applets (ugh) and Mediasurface, a content management system I had to struggle with for two years working for a dot-bomb in London.
I’ve just had my mind opinion reversed by spaces and Java Web Start. Spaces is a PIM of sorts, but stands apart from the rest in that it introduces the concepts of “spaces”, which are abstract entities that group related content together. Content comes in the form of contacts, email, notes, tasks, a calendar and RSS feeds. It’s an interesting concept and the implementation is excellent for an alpha release.
While spaces is interesting, it’s not quite good enough for me to switch to it over Evolution. What it has done is shown me that a Java application can be fast, good looking and every bit as usable as a native application. It uses Java’s look-and-feel functionality to adapt to the system it is running on, which I had seen in action once or twice before but never really took seriously until now. The author claims that write once run anywhere is no longer a myth, and backs it up with a screenshot of spaces running on OS/2.
Installation was handled by Java Web Start, which is a technology I’ve completely ignored before now. It’s very smart—essentially, it integrates with your browser (via a mime-type association) to allow execution and installation of applications with a single click on a link. Spaces weighs in at 2.5MB, so on broadband it took about a minute for it to download. It showed me a certificate, asked for permission to access my hard drive and loaded up the application. Now that it’s installed I can execute it through the Java Web Start icon on my desktop (with an option to add a direct shortcut to the start menu—yup, I’m using Windows XP at the moment). It’s very slick.
I’m sorely tempted to give Java another go.