transparent to their customers. On the other side, people at Sun think that showing the Web
Start banner is a warranty of reliability and security for users actually promoting the success of
the JNLP technology.
We already mentioned this inconvenience in the first part of the topic. Now, we can propose
some concrete remedies. The more straightforward is to take control of the installation process
as soon as possible by proposing a custom splash window, which is the same one used when
the application is preparing to execute (already deployed locally). In order to do so, Listing 8.9
proposes a useful starting point for programmers.
As we discuss here, the sophisticated Web Start UI was designed as a trade-off between inex-
perienced users on one side and developers on the other side. Depending on the kind of user
population your application will have and the level of control you can enforce on them, it
would be a good idea to describe in the help documentation the kind of settings users are
encouraged to modify and those that are not. Often, less-experienced users find it difficult to
realize that you coded only the application, and that you are not responsible for the launching
One last word about proxy settings. Proxy settings aren't usually a problem whenever a stan-
dard proxy is employed (standard in that it uses the BASIC authentication protocol). Some
other proxy servers (most notably Microsoft's ones) use a proprietary authentication protocol,
NTLM, which is not supported by JNLP Clients. In this case, you can resort to switching
authentication off, or find yourself a compatible JNLP Client or a proxy server that uses the
BASIC protocol for authentication.
Using Web Start in a Production Environment
Java Web Start is also commonly used by developers to test their products. This is an impor-
tant aspect that puzzled engineers at Sun, and forced them to balance the two aspects—ease of
use for the end-user and richness of control for the developer—all in the same product.
When testing programs with Java Web Start, developers (or advanced users) can use the fol-
lowing preference settings:
•Displaying the Java console, in which application's output streams are redirected for
• Setting a log file, in which the application's output is recorded. Non-existing log files are
•Flushing the cache. When developing applications, it is often necessary to force the
clearing of the cache because when applications don't finish their work correctly, Java