What if... Java Self-Updated Like Chrome

246 views
Skip to first unread message

Chris Koerner

unread,
Jan 12, 2012, 3:39:37 PM1/12/12
to java...@googlegroups.com

What if Java self-updated on end users machines?

Before Chrome came if you asked the browser vendors the same question they would respond with a large list of reasons why this would be a bad idea, and they were all valid.

But then Chrome showed them differently, and now even Microsoft is going to start self-updating the browser.

So why can't Java do the same.

Oh I know, you'll list many reasons why its impossible or a bad idea, and I'm sure they are probably all valid and true.

Until someone shows you differently.

Moandji Ezana

unread,
Jan 12, 2012, 3:42:54 PM1/12/12
to java...@googlegroups.com
On Thu, Jan 12, 2012 at 10:39 PM, Chris Koerner <ches...@gmail.com> wrote:
What if Java self-updated on end users machines?

I wish everything (or almost everything) self-updated like Chrome.

Moandji

Mark Fortner

unread,
Jan 12, 2012, 3:50:15 PM1/12/12
to java...@googlegroups.com
Java can be configured to automatically update on Windows: http://java.com/en/download/help/java_update.xml.  On Linux and OS X, the package manager, and Mac Update mechanism usually takes care of that for you.

Mark


--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.

Fabrizio Giudici

unread,
Jan 12, 2012, 4:31:31 PM1/12/12
to java...@googlegroups.com, Mark Fortner
On Thu, 12 Jan 2012 21:50:15 +0100, Mark Fortner <phid...@gmail.com>
wrote:

> Java can be configured to automatically update on Windows:
> http://java.com/en/download/help/java_update.xml. On Linux and OS X, the
> package manager, and Mac Update mechanism usually takes care of that for
> you.

The only embarrassing moment in my career happened at the times of Java
1.3 (don't remember precisely). The day before the official acceptance
tests everything was fine. The day of the official acceptance tests, in
presence of a big boss of the customer, everything failed. I don't recall
precisely the details (it should be stuff circa 2000/2001), but our Java
Web Start got an update when running the acceptance tests and got a change
in the management of digital certificates. Before the update, the JRE was
able to access the certstore of Internet Explorer. After the update it
wasn't. We were using a customer self-signed certificate that the official
procedure presumed was loaded by first connecting to the website home
page, then it would have been available to the Java applet that was going
to run. Without the certificate, the applet was completely broken.

The incident was understood a few hours later and caused no big
consequences, because the customers' technicians understood what happened.
But, you know, a failure, even temporary, in face of a non technical boss
*may* have bad consequences even after a clarification.

So, for an industrial environment, auto-update for me is a big NO. In the
sense that I must be able to control it: I will always explicitly put a
dependency on a specific Java version. We can say that auto update may
even occur, but not replacing the older version, and the newer won't be
used until somebody first tests everything in a pre-production environment
and then gives green light for production.

For end users, it makes probably sense because they are not technical,
lazy and wouldn't run the update manually, thus exposing to potential
security flaws. But for sure an automatic update, sooner or later, is
going to break some piece of software. Probably in most cases it's a minor
damage than a security breach.

Short story: ok to automatic updates, but there must be a switch. I
personally would always switch it off, even for personal use.


--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio...@tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it

Oscar Hsieh

unread,
Jan 12, 2012, 5:29:08 PM1/12/12
to java...@googlegroups.com
Chrome??? Microsoft has been doing Automatic update on Windows since 2000.

Java historically have problem with backward compatibility specially on the Swing side.  Yes my previous company has a internal swing app and we never never never update client's JVM and every time we update (from 1.2 -> 1.3 and 1.3 -> 1.5) there were always small issues here and there.

But you are right, there is no reason Java cannot do that.

--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/V6IJJs2ocIsJ.

ebresie

unread,
Jan 18, 2012, 5:00:07 PM1/18/12
to java...@googlegroups.com
Seems like as long as updates don't cause things to break (i.e. Changing from Sun to Oracle), your not on an isolated network, not concern with CM or legal restrictions, that it could potentially be feasible.

Eric

Casper Bang

unread,
Jan 20, 2012, 4:22:46 AM1/20/12
to java...@googlegroups.com
On Thursday, January 12, 2012 9:39:37 PM UTC+1, Chris Koerner wrote:
But then Chrome showed them differently, and now even Microsoft is going to start self-updating the browser.

That only works for Chrome because 1) they're cheating (running executable code in the users home) and because they use a super effecient compression algorithm that caters to this "silent update" mechanism: http://blog.chromium.org/2009/07/smaller-is-faster-and-safer-too.html 

Automatic updating has it's drawbacks though. All too often, I am stopped in my daily development practices using the GWT Developer extension, because it is not incompatible. Also, I am pretty sure Citrix sysadmins have a few nasty words to use about this practice.

clay

unread,
Jan 20, 2012, 7:29:20 PM1/20/12
to The Java Posse
Java should completely abandon the model of expecting end users to
install/maintain a system wide Java and simply embed the JVM into
applications.

IntelliJ does this. New Java games like Wakfu do this.

Then those end user applications could use an auto-update mechanism as
appropriate.

clay

unread,
Jan 20, 2012, 7:42:19 PM1/20/12
to The Java Posse
Sorry quick ammendment: Wakfu auto updates. IntellIJ automatically
prompts for an update, which is probably safer for a developer
audience. Neither program expects the end user to have a system level
Java runtime installed. That is the ideal model.

Simon Ochsenreither

unread,
Jan 20, 2012, 7:50:05 PM1/20/12
to java...@googlegroups.com
This sounds like dystopia too me and exactly the thing I don't want.
I can understand why a _few_ applications want to ship with their own JVM (IDEs, medical devices, nuclear facilities) but outside of that, this behavior should stop.

Attackers currently attack old Java installations because the Update system is not working as good and fast as it should.
If this issue gets solved, the only thing which changes is that attackers will switch to attack applications with old JVMs embedded.

Best thing which could happen is that Oracle just disallows bundling an internal JVM with an application.


Then those end user applications could use an auto-update mechanism as appropriate.

Additionally I don't see a reason why I should download a JVM update multiple  times. Not even looking at the fact that it just won't happen. It is completely unrealistic.
Most companies have very strict and time-consuming rules about testing an releasing an update. How exactly will people explain to the CEO that they will need to stop working a few days on their assigned work, just to update a third-party piece shipped with the application, retest it and update everything around it? (Documentation, web site, support, ...)

clay

unread,
Jan 21, 2012, 1:23:17 AM1/21/12
to The Java Posse
On Jan 20, 6:50 pm, Simon Ochsenreither
<simon.ochsenreit...@googlemail.com> wrote:
> Attackers currently attack old Java installations because the Update system
> is not working as good and fast as it should.

The JVM security problems tend to be malware that exploits webstart or
applets embedded into a web page.

If a JVM is embedded in an app, such as an IDE or a game or some
productivity app, there really isn't much surface area for an attack.
The embedded VM isn't going to be running potentially dangerous web
applets like the system-wide VM is responsible for. If a client is
running a video game based on an old JVM, what kind of security
attacks could exploit that?

Ricky Clarkson

unread,
Jan 21, 2012, 6:46:06 AM1/21/12
to java...@googlegroups.com
I've uninstalled Java for friends who were fed up of seeing the frankly idiotic update prompt in their system tray.

Also an embedded JVM causes fewer headaches for corporate users.

If Oracle's installer worked without admin rights it could update less annoyingly and then games could bundle it but have it update itself on install.
From: Simon Ochsenreither <simon.och...@googlemail.com>
Date: Fri, 20 Jan 2012 16:50:05 -0800 (PST)
Subject: [The Java Posse] Re: What if... Java Self-Updated Like Chrome
--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/sESu8nq7fLEJ.

Simon Ochsenreither

unread,
Jan 21, 2012, 10:55:45 AM1/21/12
to java...@googlegroups.com
If a client is running a video game based on an old JVM, what kind of security attacks could exploit that?

Does the term "multiplayer" sound familiar to you? Not many games these days are shipped without some component talking to a network.

I would suggest having a look at Minecraft for example ...

clay

unread,
Jan 22, 2012, 6:07:06 PM1/22/12
to The Java Posse
How does a multiplayer game present security risks? And how does an
embedded Java make security risks worse than C or other dev platforms?

As long as the embedded VM isn't being used to run potentially
malicious applets and web start programs from around the Internet,
users shouldn't be at any more risk than with any other mulitplayer
game written in C.

On Jan 21, 9:55 am, Simon Ochsenreither

Fabrizio Giudici

unread,
Jan 22, 2012, 6:45:20 PM1/22/12
to The Java Posse, clay
On Mon, 23 Jan 2012 00:07:06 +0100, clay <clayt...@gmail.com> wrote:

> How does a multiplayer game present security risks? And how does an
> embedded Java make security risks worse than C or other dev platforms?
>
> As long as the embedded VM isn't being used to run potentially
> malicious applets and web start programs from around the Internet,
> users shouldn't be at any more risk than with any other mulitplayer
> game written in C.

A security risk can potentially arise when the VM is launched, not
necessarily as an applet, as in general security risks are everywhere
(even though I think most of security holes were with applets).

Sure, Java is more secure than C. But when a C-based application exposes a
security risk, the bad press will be for the application. If the problem
is with Java, the bad press will be for Java (and it would be the same for
Silverlight or Flash, etc...).

Roel Spilker

unread,
Jan 30, 2012, 8:57:08 AM1/30/12
to java...@googlegroups.com
JDK/JRE 1.6.0u29 was unusable for a lot of our customers since it could no longer connect to an MS-SQL database (see bug). Those are the things you never ever want to encounter. 
Reply all
Reply to author
Forward
0 new messages