1. I agree that nodes could stay on JVM. But installations for general public have to be download + double click (with or without JVM). We need to find out what Oracle has to say about packaging JRE.
I wonder if this would work?
http://www.jwrapper.com2. Have not seen the user instructions yet, but I doubt users will understand the whole concept of using local software via their browser. Name one common product that does this, except router config?
If eventually we stay with Java, then let's at least implement JavaFX or Swing interface. Then we will also solve this browser cashing issues with GET instead of POST.
This is possible now to write a Java or (other language) front-end that calls NRS via http behind the scenes. There are a bunch of solutions to building cross-platform apps using HTML5 + Javascript + CSS3 to build native desktop and mobile apps. Many of them allow for a hybrid approach to call native code which would be handy for signing in NXT without a JS crypto implementation.
So, download a native app bundled with NRS server and JRE. Then download the client of your choice or use a hosted page that calls NRS local or just does signing local and gets blockchain from a server (like blockchain.info's wallet or Electrum). These two apps (server and client) could be bundled as well.
All of these solutions are doable and not very complicated.