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]

