Java Developers: Standardize or Go Away

Remember that buzz word from the mid 1990’s? “Java is the new cross-platform programming language which promises to unite all computing platforms and bring about world peace.” (I’m exaggerating, but that’s about what it seemed like at the time.)

Guess what. It couldn’t deliver. It was a good way to make your application run extremely slow–especially web apps. It sort of went away for a while.

Ten years later it has a whole new set of problems (which I’ll get into in a minute). What I can’t understand is its new popularity. It still runs terribly slow, and there are plenty of other good alternatives. From a web developer’s perspective, I would choose Ruby on Rails, Perl, .NET or even the disgustingly overrated PHP over Java.

Here’s the new problem: end user requirements. Why on earth would you develop a web application with such specific client-side requirements? Time for an example.

At work I help support our 400+ employees’ computers. In the last year, we have had several Java-based web applications thrown at us from our parent corporation. So far, each of these requires a different version of the Java Runtime Environment (JRE) to be installed on the client’s PC. “Just install the latest version. It must be backwards-compatible,” you say? Not quite.

American Express and IBM provide something called Soundtrax. ADP provides eTIME and EV3. There’s one other I can’t remember. All users need eTIME. It requires JRE 1.4.2_12. HR and Payroll need to use EV3. It requires JRE 1.4.2_02, JRE 1.4.2_04, and JRE 1.4.2_06. And it won’t work if JRE 1.4.2_12 is installed. Anyone who fills out expense reports needs to use Soundtrax. It will actually work with the current JRE, so that is nice.

So ADP has two different software packages which work together, but have system requirements making them incompatible with each other. Plus, if you install the latest version of JRE, it will often search for updates. If the user clicks the message, “Updates are ready for you,” then they just lost access to both ADP programs.

I’m glad Sun can just decide, “Oh, I think we’ll stop supporting JRE 1.4.x in our current JRE.” That just doesn’t work. Sure, you can argue that the developers need to update their apps to be compatible. That isn’t happening. Sun (and IBM) need to develop a JRE which is completely compatible with all Java apps. Unfortunately, I’m sure it isn’t possible now that there’s such a mess out there. So, Java needs to die.

Meanwhile, I think we’re going to setup a separate set of terminals for each of the sites mentioned above. Employees will have to take turns to approve their timecards. This is sure to be a productive part of our workflow. Good job Java developers!

I was done, but then I remembered one more thing. Remember the cross-platform promise? Forget it. All of these will only run on Windows XP with Microsoft IE. So, I have to boot up a vmware virtual machine every couple of weeks just for this. (I’m lucky enough to run FC7 on my desktop at work.)

First Time Visitors

Seth Godin posted an idea about first time customers to different businesses. The idea is to have sign with information for first timers. It is one of those ideas that makes me think, “Duh, why didn’t I think of that.”

Anyway, I’m mostly writing this post as a note to myself to remember to do this on my online venture. Right now, of course, I’m thinking it would make a nice addition to the homepage for TheBigFork. Perhaps we can get rid of the big block of text on the home page and replace it with a simple link “First Time Here?” When clicked, it could show the first timer text inline.