WDQuick Links: Tank Software, Tank Ammo ForumsSite Map
William Denniss
Tank Image Current Projects
PSP Title
I am currently working on a commercial PSP title, details of which will be available on release.
Tank Image Finished Projects
Developed in 2005 with Philip Worthington, "Projected Lineriders cars follow lines that people draw on the surface with pens, speeding up and slowing down according to a visual annotation language. The cars skid and crash and jump over obstacles like hands, bridging the space between the physical and virtual. The game is open ended, nurturing peoples' own creativity and imagination as they strive to create the perfect track."
A high performance accellerated 3D graphics rendering engine and scenegraph with some compatible functionality to the old Java3D scenegraph. I was previously an active member of the Xith3D development team.
Odejava is an API which allows Java developers to use the uses the ODE physics engine with their Java projects and in an Object Orientated fashion. It is capable of working closely with Xith3D. I was previously an active member of the Odejava development team.
Digital picture manager for use with digital cameras and online photo galleries.
Internet password and username remembering program.

java Java Web Start - The Ideal Deployment Tool11 Feb 2004

As we all know, Java's initial popularity was largly due to being able to run Applets from withing Netscape Navigator and later Internet Explorer. For the first time, it was possible to deliver live dynamic content to browsers.

Applets are very useful but are also fairly limited. For example, it is hard (although not impossible) to install a native library (such as an OpenGL graphics library) on the persons hard drive so that your applet will run and having to give users instructions on how to download and install libraries pretty much defies a large advantage of applets in the first place. You are also inevidably tied to the browser window in some way (for example if the user closes the browser, your applet -- even if in a different window -- will also close). There are also problems with conflucting versions of the JVM being installed.

Thus, it isn't really practicle to deploy "real" applications using applets. The traditional methods of using setup files will of course always work, but of course you must build and maintain installers for all your supported systems, and help your users when their installation fails. That's where Java Web Start (JWS) comes in. JWS uses Sun's Java Network Launch Protocol which essentially is a protocol for describing how to launch an application which is downloaded from a remote location. A JWS application is launched simply by clicking it's link. The JWS client then loads, downloads the relevent resources (or if running an application for the second time, checks to see if the cached ones are up to date and only downloads those that are not), and runs the application.

From the horse's mouth: Quite simply, Java Web Start is a mechanism for program delivery through a standard Web server. Typically initiated through the browser, these programs are deployed to the client and executed outside the scope of the browser. Once deployed, the programs do not need to be downloaded again, and they can automatically download updates on startup without requiring the user to go through the whole installation process again. (ref)

JWS is fundementally different to Applets in several ways:

  • Although it is often launched when the user clicks a JWS link in their browser, it runs completely independantly of the browser
  • Native libraries can be deployed along with the java ones
  • Jar files are cached to drasticly reduce the startup time when next the application is run
  • Arguments can be passed to the JVM to achive things such as increasing the heap size
  • Applications can be pre-deployed (say on a CD) and still use JWS to keep them up to date
  • Links to JWS applications can be placed in the Windows start menu and desktop

All these features make Java Web Start a very convenient method of deploying applications and keeping your clients updated (as this is handled automatically). No installer is nessesary, no fiddling with native libraries, no patches, updates and "update availability checking scripts", less cross-platform hassles, the list goes on.

The Java 1.5 platform (currently in beta) has added a wealth of new features such as system wide deployment of the java web start cache (so sysadmins can pre-install JWS applications). Basically most of the features bring Java Web Start applications closer to being standard Java applications except that they are syncronised with a remote HTTP repository.



Return to the Main Page