Java Kernel Contains Hope For Web Start Fans
Ethan Nicholas is working on something that might make “the idea of using . . . Java Web Start programs . . . more appealing.” Called Java Kernel, the idea was originally submitted under the name Java Browser Edition.
Development is, Nicholas cautioned, still in the very early stages.
Some of this disclaimer will make more sense after reading about the project, but here it is, nonetheless:
“Before you get excited, remember that this is just an experiment and that the JREs I built aren’t the least bit useful. They don’t include the Java Plug-In, Web Start, or indeed much of anything, and any real’ program will need at least some of these components.”
“These JREs also do not have the ability to download the missing components, and will simply fail if an attempt is made to access missing functionality,” he continued. “The installers we ultimately ship with Java 7 may well be bigger than this.”
With those qualifications out of the way, we can look at Nicholas’s involvement with the project.
In his blog, he wrote, “The browser edition’ that I suggested would enable you to install exactly the subset of Java that your particular program required, but would be able to download all of the other functionality on demand (and thus be fully compatible with J2SE) . . . . The feature did in fact get submitted as a proposal for Java 7, under the name Java Kernel’ . . . . And, amazingly enough, it was accepted. And, lucky me, I’m part of the team responsible for implementing it.”
Then the real work began. “I figured I would start out by creating a simple, stripped-down JRE installer,” Nicholas wrote. “Determining which files were truly necessary and which weren’t could be a tough job, so . . . I wrote a simple program which would iterate through all of the files in the JRE.”
“It would remove a file and then attempt to run the . . . program using this stripped-down JRE,” he explained. “If the test succeeded, the file was evidently unnecessary. If the test failed, the file was deemed necessary and restored. After going through all of the files in this fashion, I was left with an extremely minimal JRE that . . . at least provided a starting point.”
Nicholas deserves credit for being so open about his work, and “despite the cautions above, I find these results extremely exciting,” he stated. “Keep in mind that so far we haven’t done anything the least bit sophisticated – just omitted unnecessary files and classes – and we’ve already gotten the JRE below 3MB for a non-visual program . . . . And there are still a lot of things we can do to improve the size further . . .”