Why Java Will Drive Your Visitors Away
It's yet another plugin that users hate, and Java has an even
worse reputation than most. Why? There are just so many reasons.
Microsoft and Sun
Java is an open standard, and it's one that Microsoft originally
embraced. They made their own Microsoft JVM (Java Virtual
Machine) part of Internet Explorer. This led to the rapid growth
of Java on the web.
Sun, Java's creator, then decided to sue Microsoft, for being
anti-competitive in bundling the Microsoft JVM with the world's
most popular web browser. This was a bad move - Sun wanted
Microsoft to bundle its JVM instead, but it actually led to
Microsoft simply removing all Java support from Internet
Explorer, and forcing users to go and download Sun's (from
www.java.com) if they wanted to see Java content.
That leaves us in the situation we're in today, where users can
be divided into three groups:
Users with old versions of Internet Explorer. They have the
Microsoft JVM, which is wildly incompatible with Sun's.
Users with new versions of Internet Explorer but no JVM. They
don't have a JVM, meaning that you'll have to get them to
download Sun's to see Java content - and Sun's JVM is a big
download.
Users with Sun's JVM. They're not only the smallest group, but
they're also using a JVM that is incompatible with Microsoft's.
This leads to a situation where you can either code for the
smallest group of users (who have a supported plugin), or the
next largest one (who have an unsupported one), or try to force
the largest group (who have no plugin) to get one. This is
obviously an extremely bad situation to find yourself in.
The Speed Problem
Java's problems, though, don't end there. Even assuming that
your user has one JVM or the other, they still won't want to use
Java content. The big reason for this is that Java is very, very
slow.
How slow? It's slow to the point where going to any page that
has Java on it will cause most browsers to freeze up for about
30 seconds or so, appearing to have crashed completely. Users
are unlikely to be patient enough to wait for the Java to load,
instead press control, alt and delete to get out of there.
Java's adherents mostly refuse to acknowledge the speed problem,
but it's bad enough that downloadable desktop programs written
in Java have become a complete joke - anything useful written in
Java will be pretty promptly re-written in someone else to make
a more responsive and usable version. Java programs are simply
impractical thanks to their speed problems, and no matter how
fast computers get it doesn't seem to get any better.
The Looks Problem
The next problem is the way Java tends to look. It uses
non-standard buttons, not to mention rather simple and overly
programmatical ways of producing graphics. To put it less
kindly, content produced with Java tends to be ugly.
If you try producing the same application in Java and in Flash,
there's just no comparison. The Flash version might be a little
harder to code, but it will work in so many more browsers, load
much faster, and look better when it does. You would be very
silly at this point to use Java instead of Flash, and there are
very few things that Java applets can do but Flash can't.
Java on the Server
At this point, Java is pretty much dead on the desktop, or in
the web browser. For this reason, if you're going to write
programs in Java, you should keep them where they belong and
work best - on the server. Java on the server is growing all the
time, and is a good alternative to many other ways of doing
things, providing your server is powerful enough for it. Sun
knows this, and is re-focusing its Java efforts at server
installations, as an alternative to Microsoft's .Net. Let's
leave client-side Java to rest in peace.