Would you ever make a Java Applet part of an enterprise wide rollout?
I certainly wouldn’t. As far as I’m concerned, Java Applets don’t have any place in a modern enterprise design. Any functionality you need from an Applet can be achieved by intelligently applying JavaScript and leveraging existing JavaScript libraries, and not doing so is a disservice to your users.
Architecting a design with Java Applets?
Don’t get me wrong: I love Java; certainly more than the average guy on the street loves it. But if I was sitting in breakout room, and the hired gun tasked with architecting the solution suggested that a key part of the design involved developing a Java Applet, I’d laugh her right out of the room. I simply have no tolerance for Java Applets.
Of course, in 2012, one question you might be asking yourself is 'why are we even talking about this.' Well, pushing this topic to the fore is some research going on at TheServerSide into various enterprise content management solutions. Disturbingly, a large number of products in the content management space actually use a Java Applet for creating and editing content.
The Java Applet experience: A user's view
TechTarget, the parent company of TheServerSide, uses Vignette as their content management tool, and Vignette is one of the vendors that provides a Java Applet for content editing. If I was to describe how I personally feel about doing content creation and content editing in Vignette, I’d have to describe my feelings as ‘venomous hate’, and much of this venom comes from the usability issues surrounding the Java based editor.
I own two laptops and a desktop computer, but the Vignette editing page only works on two of my three computers, and even when it’s working it is flaky. And on the computer where it does work, it will apparently stop working if I upgrade my JVM from some obscure version six increment of the JDK. If the Java installation updates my JVM, which a little icon in the lower right hand corner of my screen reminds me every time I reboot that it is wont to do, the Vignette editor will then not work on any of my three machines. That’s what life is like for the end user when an architect makes a Java Applet the central part of a distributed design.
But as was said earlier, it appears that the Java Applet editor is not a cancer that is unique to Vignette. IBM in their IBM Lotus Rational Lenovo VisualAge WebSphere Web Content Management tool, or whatever they’re branding it these days, also makes a Java based editor a central part of their user disperience (UD). Have you ever heard the term: ‘putting lipstick on a pig?' In this case, it’s more like slapping the pig with a skunk.
Java Applets vs. JavaScript
Given, there was a point before the time of enlightenment in which Java Applets could do things that were impossible with other web based technology. But that three week window passed us by in about 1998, and enterprise software needs to keep up with the times.
When I question the effectiveness of the use of the Java Applet editor, I’m often told that only a Java Applet can perform the complex tasks associated with rich text editing. Of course, I then I go over to blogger.com to anonymously post blazing condemnations of the corporate content management tool, and blogger.com’s script based editor provides me all of the functions available in the Java based editor, with the additional benefit of the fact that it’s fast, responsive, and not only does it work on all three of my computers, but it also works in all four of the browsers that are installed in each of the three machines.
As I put together my assessment of the popular content management tools that are servicing the server side market, any content management tool that makes a Java based Applet the cornerstone of their content editing experience will be getting a big red raspberry, and will not be recommended. I simply can’t imagine recommending any software that is built upon technologies that I would never use myself when architecting an enterprise solution. Java is a great programming language, but I have no time whatsoever for flaky and poorly functioning Java Applets trying to run within my browser, and nor should anyone else.