I don't care how big the JRE is.

by Robert Cooper

Artima today has some discussion about Ethan Nicholas's mission to reduce the size of the JRE for Applet use.

Let me be frank. I don't care. Really. Download size is not the thing that keeps people from using Applets instead of Flash.

Just some perspective here:

JRE 1.5.0 Windows offline installation: 16.00 MB
Adobe Acrobat 7.0.8: 27.7 MB
Real Player 10.5: 13.5 MB
.NET 1.1: 23.1 MB

Obviously size is not the limiting factor here for adoption. *Acrobat* is nearly twice the download, but nobody is going "hmmm, maybe we should rethink using PDFs." The reason I, and I think most, don't use applets is the user experience is generally bad. The Java plug in is sketchy about working at all -- on fully half of my machines, applets simply won't start up in Firefox at all. It takes way to long to start up, and unlike Flash, you don't get the option of having a nice wait screen while stuff downloads and spins up. Media support is nil, and lets face it, a lot of the time on the interwebs these days, you want to use some kind of media. Until 1.6, there is still no support for SOAP. Romain's evangelism to the contrary, it is seriously hard to make a nice looking Java application.

I am not opposed to a general use library manager and a slimmed down set of core libraries that can be grabbed at runtime -- how many times has that wheel been invented? Maven, WebStart, etc -- but I think it is a bit of delusion to think that solving that problem will in any way affect the penetration Applets see in the RIA space.

15 Comments

Chris Adamson
2006-09-07 12:33:54
Another amusing data-point -- the Java-based ThinkFree Online takes a couple of minutes to download and cache up over broadband, but it's nowhere near as long as installing Office from a CD. So why isn't Java's speed advantage acknowledged in this case? It's free, it loads faster, it works anywhere, it's cross-platform... and still nobody uses it.
Stefan
2006-09-07 14:41:58
The prospect of Java on the desktop always leaves me with a heavy heart. It's been the great white hope for years, but after a while you just can't wait any longer - somewhat like a failed relationship. No media support (this is 2006, not 1996), slow startup times, the VM is not by default available on Windows, and the UI looks "off" to most users.


While the world was cratering after the first dotcom bubble burst, Sun should have been solving these problems where it had control, while waiting for the money and Web 2.0 to arrive.


Java won't have forever to get media, fast startup, and an inconspicuous UI right. At the rate things are going, I doubt it will prevail, but one keeps hope alive.


Orrin
2006-09-07 16:18:52
Adobe Acrobat is 20.3 if you just get the Reader applicaiton and not Yahoo toolbar and Photoshop Album Starter Edition.
jilles
2006-09-07 23:41:45
Can we all just stop pretending applets are relevant nowadays? It was a good idea 10 years ago but Sun's execution was poor and the situation became unmanagable when Microsoft got involved. By the time they settled (five years ago?) applets were obsolete technology. The only applets left are from crappy sites that haven't been updated since last century.


Most desktop java these days involves standalone applications launched using either webstart (another good idea with poor execution so far) or using a stand alone installer. Generally the application download is larger than the jre download (around 10MB). In some cases a bundled download is actually provided.


Anyway the only people complaining about jre downloadsize are people who know what a jre is and are still using POTS + modem for connections: an increasingly unlikely combination: get broadband already!

george
2006-09-08 05:09:10
And flash: 1M
Maybe it's the reason of exists more flash content in the web
Henrik
2006-09-08 07:59:52
I think you are quite right. 10 years on Java is still a graft on to the OS/browser. It seems to always come back to a lack of interest in improving the overall user experience. Java is not treated as a consumer product, it is treated as a collection of technologies aimed at enterprise shops.

2006-09-08 09:45:59
in the context of applet vs. flash - I think a secondary point is what kind of content producers the two technologies attract. Flash clearly is preferred by artists.
Raphael Valyi
2006-09-08 12:13:17
"It takes way to long to start up, and unlike Flash, you don't get the option of having a nice wait screen while stuff downloads and spins up."


I agree on about every point you mention, but I disagree with this one. I think this is indeed feasible to handle the first user interactions in a breeze using a bit of Ajax before the applet is even fully loaded in the background. Also you don't need to download the full applet bytecode starting it. Things can be modular.


Here is a proof of concept (be indulgent please I didn't get enough time to push that idea further): http://www.visualmodeller.org


also see my blog for explanations:
http://rvalyi.blogspot.com/2006/08/degraded-ajax-app-pre-loaded-hidden.html



Best regards,


Raphael Valyi (France)

Gregory Pierce
2006-09-08 12:14:01
@Chris,


You should ask Sun why they went with Open office as opposed to ThinkFree which at that time (and in many cases even now) was a FAR superior product.


2006-09-09 10:54:37
I have to agree - the download size will probably have little impact. I have seen various bugs/regressions in the VM and/or plugin that has rendered applets useless. There was one 1.4 release (I forget which one) where the plugin couldn't run any applets!


Sun still have the most obstructive bug within the plugin/VM whereby if a dialog pops up during applet initialisation (for example an authentication dialog), an applet's GUI doesn't receive any input events until the browser is refreshed (at least on IE6+). Such severe bugs would cause the typically (non techie) user to run a mile.


The quality of Sun's java plugins has always been low - it's slowly getting there but still hasn't caught up to where the MS VM was (how many years ago?).


Sun gained redistribution deals on the VM with the likes of Dell to enable the Sun VM to be pre-installed - great. But when the actual quality of the software basically sucks it's meaningless.


Java will never succeed with regards to applets - too many people have already had BAD experiences with it both on the developer and end user side.

devdan
2006-09-12 01:22:10
JRE size makes a difference. Flash is a good example. It's small, fast, easy to upgrade to new versions. The JRE however is a giant download. It's impractical to download it on slow connections, which many people still have, especially people outside of the developed world.


I still think that if a 1-2 MB JRE, minimized to include only GUI, media, and net features, were developed, it could end up dominating the web app space Flash, DHTML, and AJAX are in. That's because Microsoft has and will continue to thwart cross-browser compatibility. Most businesses can't or won't expend the time and money needed to maintain web apps for IE and the minor browsers. Instead, they just make it work on IE.


While Flash is strong and gaining, it is still limited to mostly media centric apps because of its adherence to a movie/layer/time-line metaphor that most developers don't get. Flash's inability to save large files and media to a user's machine is also a major weakness. If Flash get's beyond these things, it wins the browser war.


After Java is open-sourced, more capable hands may resurrect it on the desktop and in applets. Sun's expertise has always been the server. In that area, they made Java supreme. But the companies that drive Java, like Sun and IBM, have never been successful with shrink wrapped GUI apps for the masses. That's why they couldn't figure out how to make Java succeed on the desktop.


The previous comment comparing the JREs size to other big downloads is a little misleading. First of all, .NET comes preinstalled on all new PCs. Most people don't download it. The adoption rate of .NET 2.0 by people with .NET 1.1 is slow. But MS has forced the issues with it's automatic updates channel, a channel Java doesn't have. It's true that Acrobat is huge now. But it also comes bundled with many new PCs. When Acrobat was getting popular, it was less than 5MB to download. Also, because PDF is the defacto document standard, many people are forced to download, whether they want to or not. Java apps don't have this kind of clout. Real Player has been losing steam and market share for years. If not for the recent infusion of cash from Microsoft, Real might be out of business. Once again, Real gained its market share a long time ago with a much smaller download. Also, there was a time when the Real Player was one of the Internet's killer apps. The JRE doesn't have these kind of advantages pushing its adoption. It's a much more optional kind of download.

Charlie Collins
2006-09-12 06:50:49
Ok this is a flagrantly not related to the current discussion post but . . . . how the heck could you pass up all the headline jokes in this article. You ended up with "I dont care how big the JRE is" over all sorts of "size does'nt matter" alteratives? For shame.
cooper
2006-09-12 08:35:16
JRE size makes a difference. Flash is a good example. It's small, fast, easy to upgrade to new versions. The JRE however is a giant download. It's impractical to download it on slow connections, which many people still have, especially people outside of the developed world.


I still think that if a 1-2 MB JRE, minimized to include only GUI, media, and net features, were developed, it could end up dominating the web app space Flash, DHTML, and AJAX are in. That's because Microsoft has and will continue to thwart cross-browser compatibility. Most businesses can't or won't expend the time and money needed to maintain web apps for IE and the minor browsers. Instead, they just make it work on IE.


Yes, the base Flash is smaller, for a number of good reasons: Flash piggy backs on the browsers network code, unlike Java which if you want HTTPS network connections you need network support, JCE, ever how much utility code is involved, etc. The thing is, how many people ever really install Flash? Unless you are on a purist Linux distro, Flash is just there on almost any browser or machine you get. No, Java isn't quite that ubiquitous, but....


The previous comment comparing the JREs size to other big downloads is a little misleading. First of all, .NET comes preinstalled on all new PCs. Most people don't download it. The adoption rate of .NET 2.0 by people with .NET 1.1 is slow. But MS has forced the issues with it's automatic updates channel, a channel Java doesn't have.
Java has had an autoupdater for quite some time now. Now, I have some problems with the *way* Java installs and runs. I think the focus on backwards compatiblity has cost Java a lot over time now, where the WebStart method of "run the code in the JRE it wants to run in, and download the appropriate one if needed" is a much more sane way to look at it. Especially in the Applet space, anyone who has done Flash work, and had to work across the 6, 7, 8 series knows that Flash is definitely not backwards compatible, but it doesn't inhibit its use very much at all.


People will get .NET 2.0, but they will get it the same way most people get DirectX updates: it will come with software they want to run that use it. There is a shadow of chicken and egg here, but if people went to OfficeMax and CompUSA and saw Java software they wanted to run, they would have the appropriate JRE. Simply confined to the browser space, however, I find size, especially relative to Acrobat and RealPlayer which have near 100% penetration, the download isn't unreasonable and the argument about size is simply a canard to cover up the actual user experience issues associated with applets.

Tomi Itkonen
2006-09-15 10:24:08
Check out the multiplayer role-playing game RuneScape. It runs as an applet. Yes, the graphics and audio quality are very low. Nonetheless, my kids and their friends like it a lot. With millions of players, it is a proof that there still exists a niche for applets.
JF
2006-09-20 03:23:18
I agree, the size of the JVM is not the showstopper for applets.


As an ISV, we are intensively developing applets for years.


Through our large customers, the targeted user base is really heterogeneous, forcing us to cope with several Java PlugIn versions and vendors (the 1.1 JVM from Microsoft is still largely used), several browsers versions and vendors, and several OS/Hardware platforms. This is also reducing our ability to use rich graphics features available for Swing apps.


Additionally to the related deployment and compatibility issues (java isn't always platform-independent as we might think, also in a web browser), I have to admit that we are quite concerned about the robustness and quality of the java PlugIn from Sun.
Throughout the various versions and releases, we have experienced several behavior changes or regressions that seriously impacted our customers as the usability of our applications was affected (the latest 6367496 bug confirmed this unfortunately hasn't stopped). Due to Plugins implementation, issues often lead to browser crash (not only for IE) or hang. And thanx to the 'auto-update' facility, a regression can be easily propagated...


As a consequence, our customers are more and more demanding us to stop using applets and turn to other technologies (like Ajax and related technologies). That's what we have started to do.


You can also see that Sun is more and more investing on Ajax...