RoboGeek

RoboGeek's (David Herron) Weblog: co-developer of Robot and several other things related to Java testing.


« Previous day (Mar 29, 2005) | Main | Next day (Mar 31, 2005) »
20050330 Wednesday March 30, 2005

Open Office & Java Last week there was a big to-do over the expanded use of Java in Open Office.  It seemed to be riling people that a free product, OOo, was being tied to a "non-free" one, Java.  Hurm.

What's always bothered me is looking at the software Sun ships, and witnessing how many GUI toolkits Sun is supporting in the various packages.  It used to be Motif/CDE, Open Look, GNOME, Java and the toolkit in Open Office.  er.. that's 5 GUI toolkits being supported by different teams at Sun.  As a Sun employee (and stockholder) I'm sure there's better use for Sun's cash than paying for 5 GUI toolkit teams.

Fortunately Open Look and Motif/CDE have gone away, and that leaves us with three teams.  But I have to wonder if even that is too much.  Okay, I'm biased for working in the Java team, but todays Java is not the Java of old.  Java GUI's today are responsive and depending on your choice of L&F module, of which there are many available, the Java GUI can look very pretty.  Want proof?  Take a look at the transformation of Netbeans from molassas-slow to really good.  All it took was dedicated effort in the Netbeans team, and the public nagging on Netbeans for being molassas-slow, and they profiled the thing seven ways from sunday and got it to perform really well.

This obviously isn't going to be a popular opinion among the Open Office crowd, but my druthers would be to replace the entire OOo GUI with Java.  That needn't mean replacing the modules that read/write different file formats, since part of Java is JNI for plugging in native code.  Another native code hook is JAWT which could allow reuse of some GUI modules while allowing the bulk of the GUI to be in Java.  For example the part of OOo that handles document editing is probably rather complex and would be a big investment to rewrite, but is a great candidate for encapsulating with JAWT.

Why?  Well, witness the difficulty with getting OOo to run on Mac OS X, that's why.  You have two choices ... one choice is to run the "current" version as X11 under Apple's X server, which results in a very foreign looking application that doesn't know much about native OS X features like the ubiquitous print-to-PDF button.  The other choice is NeoOffice which is good, and acts pretty well as a native OS X application, but it's based on the old OOo sourcebase, not the current sourcebase.

My personal favorite story about Java's portability was an MP3 player I saw announced once.  I think the name was JLgui, and it mimic'd the WinAMP player popular at the time.  It claimed to be written in pure Java, so I downloaded the application and ran it on my Mac.  Ran perfectly fine.  I sent them an email and they said something like "woah, we haven't even tested there".  A similar story happened with Moneydance, a personal finance application written in Java, where the author announced Mac support saying his portation effort was simply to copy the class files over and they ran.

In other words, what I see with Todays Java is that performance and responsiveness have become very good, and the cross platform compatibility is strong.


(2005-03-30 10:54:51.0) Permalink Comments [6]