Now blogging at diego's weblog. See you over there!

why we dropped java web start

On a question in the clevercactus forums, John was asking why we stopped using Java Web Start to distribute share (and in fact other applications). We started using JWS late last year to simplify deployment and updates. Making sure that the updates in particular didn't require a reinstall was critical for us, since we usually spin out new version fairly quickly during betas, so JWS was good in that sense. As soon as we released the "internal" beta of share, it became obvious that JWS was a huge problem for most users. We want share to be easy to use, and that includes easy to install (and, yes, uninstall if necessary) and JWS was getting in the way in more ways than one. Here's why.

Problem one was installation: we had to detect whether people had JWS installed or not, and the procedure for detecting this is quite simply a joke. You need to code for multiple browsers and in some cases it isn't guaranteed to work.

Now, if you didn't have JWS (and skipping over the problem of detection) you had to install the virtual machine yourself, usually by being redirected to the site. The site, while no doubt a good showcase for the Java brand, is terribly confusing to a user that only wants to install share, and not Java, and most have no idea of what Java is, and, more importantly, they shouldn't care.

Now let's skip over the problem of being utterly confusing (you'll note we're going to be doing a lot of "skipping over" in this discussion) and say we hosted the JVM ourselves for download to simplify the process, users still had to install a separate piece of software, and one that installs all sorts of icons in your desktop and programs folder, which again terribly confuse non-technical users.

So let's skip over all of that (see what I meant before?), and say that the detection does work, and JWS is installed, the user is often presented with a dialog asking to run a file of type "JNLP" which makes little sense. Now say that you ignore that and click "OK". The app runs. You are presented with a horrible warning dialog with an unfamiliar look and feel (the Metal L&F, why Sun doesn't use the native L&F for this is beyond me) that for someone who's never seen one sounds like you are about to give permission to something to do all sorts of evil things on your PC, create havoc and possibly come in to your house at night while you're sleeping and steal all your furniture.

The point is not that the security warning is wrong, since it is accurate, but users are put off by it. They already know that they are downloading an application, and they do so everyday for other things, and native applications have as much ability (in theory) to do Bad Things as a JWS app with full privileges. The warning is confusing because it seems to be something extra that they're giving permission for. (Incidentally, I don't fault JWS on this point, users should be warned, the problem is that the warning is completely different from other warnings they might see when downloading applications as they usually do).

Much worse than this was when users ran into the invalid Java certificate problem, which didn't allow them to install the application at all even if they wanted to.

But let's say that they accept the certificate (yes, the skipping over again). The app runs. Bing! Window locked. Why? Because JWS is asking you to create shortcuts to the app. It was very easy to get confused because the dialog for this was modal, and sometimes it would end up behind the splash screen or the app, which left most users confused. (Yes, this bug has probably been fixed in the latest JREs, but how many broken JREs are out there?).

All of this, and I haven't even mentioned the problems that occur when you, say, switch download locations for the JARs, for example, if you need to deploy on a server with more bandwidth. Or the problems that come from detecting that JWS exists but that it's an incompatible version (and you can't tell). Or the problems that exist when JWS has cached the old JNLP file and doesn't want to let go. Or the fact that you've only got limited resources and it's impossible to test against all the JREs that are out there. Or... well, you get the idea.

As a development environment, JWS has significant shortcomings as well, since it completely insulates you from the native platform, which is good, but it gives you almost no way to access the native environment, which is a disaster. Simple platform-integration things, like launch-on-startup, or right-click integration, become nearly impossible. Btw, this isn't getting better in the next release, as Erik noted recently. Aside from cosmetic changes and a few new features (like the ability to make changes to the launcher UI) Java 5.0 is pretty much the same in terms of JWS and other platform integration features.

I think that JWS has its place in tightly controlled environments, for example, to quickly deploy point applications within a corporation, where the target machines are well known (in terms of software installed), the infrastructure is small, etc. In those situations, JWS is an excellent way of quickly an easily deploying your app to users and not having to deal with creating installers and such.

But for end-user applications that have to be easy to use and install and widely deployed, JWS, in my experience, doesn't quite cut it---and even though we put a lot of effort into making it work, that's why we had to stop using it.

Posted by diego on July 9, 2004 at 2:26 PM


from the me-too-dept. :)

Don talks about his favorite wargames. While I am always interested in the technology involved in games (which almost invariably involves the most cutting-edge software development of the day) I am not a gaming fan. Or, rather, make that a PC gaming fan. For years I played RPGs (Rolemaster was my favorite) for many years along with strategy and tactical games (such as Warhammer 40,000).

cnc1.jpgOn the PC I played extensively a couple of games (including, of course, Doom) but the one PC games that I keep coming back are those of the Command and Conquer series. The last one I've played is Command and Conquer: Generals (see screenshot, click on it to see a larger image). The online play is good, but unless you have friends online who are willing to actually play for fun instead of playing to advance in the rankings, online battles end up being short-lived affairs where the focus is on "rushing" your opponent before they rush you, which is entertaining for about 30 seconds.

There's a big difference, of course, on "fantasy" wargames such as C&C and the ones Don mentions, mainly in terms of logistics and resource management, which is the biggest tradeoff games like C&C have to make, i.e., sacrifice realism for "playability". In the real-world, supplies and logistics are as crucial as anything you can do in a battlefield, and historically it's been the case that it is the stretching of the supply lines that has played a major role in defeats or changes in strategy (In fact, if I remember correctly, in the Iraq war last year the forward units of the US Army advanced so far so fast that they outpaced their supply lines, leaving them to cross long distances without enough protection, which created the well-known security problems experienced by the supply convoys).

Anyway, if you like wargames and have never tried C&C, give it a shot (heh). (There even is an OS X version available, but I've tried the demo and it was quite slow -even on my G5 with 1 GB of RAM- so I wouldn't recommend it.) I haven't played C&C: Generals for months now, but if you've played and would like to meet up online, let me know :)--no rushing though! :-)

Posted by diego on July 9, 2004 at 1:26 PM

comment spam

BTW, comment spam has been quite a problem recently, which accounts for the number of posts that have comments closed. Basically whenever a spam comment is posted I close the comments for the entry, which accounts for the randomness of the comments on/comments off posts. Normally I'd just delete them and be done with it, but Movable Type on my poor Celeron 700 server is dog slow and rebuilding an entry to remove the comment takes about a minute (I'm not exaggerating). Probably part of the problem is the fact that I am inching on to 2,000 posts and that makes MT slower (maybe) but in any case I can't be removing spam comments every five seconds, and that forces me to close the thread. Sorry about that.

Categories: technology
Posted by diego on July 9, 2004 at 1:02 PM

burnout? no, just busy

So yesterday as I'm pondering why I haven't posted anything in a few days I read this wired article on blogger's burnout. Although I've experienced lack of blogflow before, this time it was something different: just being too absorbed into what I was doing to do anything else.

So what was I doing? Simple: working on a new release of clevercactus pro. Not that share is taking a back-seat or anything, mind you, this is something that we had planned for a while and finally there was time to do it. (The release will be out sometime next week).

Anyway--I have had a couple of posts swirling in my head for a couple of days now, so I'll get to that now. :)

Categories: clevercactus, personal, technology
Posted by diego on July 9, 2004 at 12:54 PM

Copyright © Diego Doval 2002-2011.