Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

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.

This is Applications in Java by Simon Willison, posted on 5th April 2003.

View blog reactions

Next: Private wikis for personal organisation

Previous: Absolute positioning on the wiki

5 comments

  1. Java is used as the main programming language at my University, and I really, really do not like it. After coming from a background of PHP and a little Python it strieks me as incredibly inflexible... no switch statements using strings... no strings as keys for arrays, etc. What gets me the most is its hypocriticality though. It goes on about how everything is object oriented to the ridiculous point of needing public static void main blah blah just to start a friggin' program, and then it has base types which aren't even objects. Give me Python anyday... full object orientation done smartly.

    Lach - 6th April 2003 02:37 - #

  2. Although interestingly enough I wasn't a huge fan of Python until I had to start using Java...

    Lach - 6th April 2003 02:38 - #

  3. That's more or less the way I feel about Java :) I'd rather code in something loosely typed like Python on a personal level, but until now I didn't see any point in using Java for full scale GUI applications due to bad experiences with it. Of course, Python with wxPython is pretty much on par with Java when it comes to developing things cross platform.

    Simon Willison - 6th April 2003 02:42 - #

  4. Hmm, well I think Simon knows my position on Java, it being the only modern programming language I know (lets face it, C just doesn't cut it for a lot of applications). I still don't know about it being a good language for GUI development. The potential is certainly there, but as will all languages the results are very much dependant on the programmers writing the software. Note to self: Look into Python or Perl 6 over this summer :-)

    Swannie - 6th April 2003 15:30 - #

  5. Ohh yeah, one thing. I hear good thinks about Java 1.4.2, such as faster VM loading time (good good, it seems app loading can take forever), faster FP operations, faster compilation time (yay!) and other improvements.

    Swannie - 6th April 2003 15:34 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/04/05/spacesAndApplicationsInJava

A django site