java plugin detached from runtime

Discussions about how runtime deployment is a problem have gotten me really interested and I started to think about it. Other than completely taking the runtime out of the picture, what can be done to just make it easier to get Java on systems without it being intrusive?

The one thing that I find odd is that the runtime installer also installs the browser plugins. Thinking about it, that seems quite backwards from the average end-user perspective that we target (the story is different in corporate environments). What we have now is a complete inability to update the browser plugin through conventional means as it is so closely tied to the Java runtime installation. What if the plugin installation could be completely detached from the runtime installation? This would be the result:

  • user installs Java plugin for browser X through browser X’s plugin repository (or built in plugin searcher) because he wants to run Java stuff.
  • Plugin checks system and notices that the user has either no or an outdated runtime installed. Does nothing… yet
  • user goes to a site that wants to display some form of applet. Plugin mentions to user that his Java runtime does not exist/is outdated so the applet cannot be run. Do you want to update to fix that?
  • user clicks yes, because he/she wants to play his/her game ASAP.
  • plugin makes sure the right runtime is installed properly. No browser reboot is needed because the plugin can of course reinitialize itself properly
  • page is reloaded, applet is shown
  • win.

That’s not all, that also takes care of the 64 bits Windows “problem”. You may or may not know that Windows by default boots the 32 bits version of Internet Explorer, even on 64 bits systems. Installing a 64 bits Java runtime therefore does not make “applets” or JavaFX work in the Internet Explorer that the average user will try to use (that still like IE for some reason) - you need to explicitly install the 32 bits runtime as well before that will happen. By making the plugin responsible for getting the runtime, you can’t get confused there. The worst that can happen is that you have a plugin nagging you for Java twice; once when you use 64 bits browser X and once when you use 32 bits IE.

On that note the second scenario: the plugin and the runtime are already installed and browser X reports that there is a new version of the plugin (because there is a new Java runtime). Either that or the browser is set to auto-update plugins and the user is not nagged at all.

  • plugin update is initialized
  • plugin automatically updates the runtime as well
  • win.

What do you guys think? I know I must be missing something that casts a shadow onto this dream, other than Oracle never implementing it. What did I miss?

The plugin installer does install a JRE already, and the plugin’s been installable through the browser plugin process from day 1. Oracle just wants to make sure you’re subjected to cumbersome multi-click installers with ads on them (and in Sun’s day, shovelware toolbars at that). Otherwise it could just as easily go up on addons.mozilla.org with no fuss.

Which plugin installer are we talking about? The only two ways I know of to get a runtime + browser plugin installed is to either manually download the JRE installer from oracle.com or to go to java.com and let it install the runtime (with plugin).

Let me put it differently: I can’t find a way to install the java plugin through the Firefox add-on manager.

You should get a dialog that tells you “you need a plugin”. You get taken to the page to download it. From there, the plugin process is over. So I should say that the plugin is discoverable through the process, not installable that way. Flash installs the same way in Firefox though, and so does pretty much everything that’s a genuine “plugin” and not a self-contained .xpi extension.

The issues don’t stop once you have the plugin, and that’s the real problem. Slow load times, poor visibility of error messages, too much visibility of annoying tray icons, and so on.

Perhaps you are talking about deployJava.js (which is now horribly broken because java.sun.com is terribly unstable). All that basically does is kick you to java.com to install the runtime.

Or perhaps its just some browser feature I’ve never seen because the first thing I install is Java :wink:

The issues don’t stop once you have the plugin, and that’s the real problem. Slow load times, poor visibility of error messages, too much visibility of annoying tray icons, and so on.
Indeed, time for plugin3 - this time with some effort behind it :confused: