I changed my mind about opensource Java. Although for an average developer or architect nothing will really change (JDK sourcecode was always freely available), opensource Java provides some really interesting opportunities. With a closed JRE, there is only all, or nothing approach. Either you have to install everything or nothing. JRE ist small (about 15 MB) but compressed, so the installation process takes some time.
JNLP can be used to install applications over the wire, but why not use JNLP, or similar technology to bootstrap JDK? Most of the "browser" applications, do not need RMI, CORBA, JDBC or even parts of the java.io or java.net packages. The filtering of classes can already happen during the build-process, the needed classes can be computed during the functional/integration testing. The first idea: a custom classloader (or MBean) which keeps track of all loaded system classes. This classes could be extracted from the Java SE, packed in a jar and then distributed to all clients. The size of the distribution should be significantly smaller. A custom, JNLP-like (probably native) loader could fetch then the distribution and start the application. I only need some time to to find out whether it works .-).
NEW: Online Workhop Effective WebApps without Frameworks is also coming to: MUC Airport.