The problem is that the splash screen is an attempted workaround for slow start
up time, which is partly addressed by
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=1750
"create dynamic loading of objects in kepler via kar files".
The real fix is to address the underlying bug (1750) and remove the splash
screen. However, fixing 1750 has been postponed until after 1.0.
See also
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2343
"add welcome screen for release 1.0"
The problem with the Splash Screen is that everything starts in the Swing
Event Thread, but the instantiation of all the actors takes a long time and
happens in the Swing Event Thread. Kevin Ruland did a pretty good job
attempting to get create a modified copy of VergilApplication that tried to
be smarter about what was run in the Swing Event Thread, but I kept finding
problems and reverted to the tried and true "Start your app in the Swing Event Thread"
method.
I see several options:
1) Do nothing - The splash screen is sometimes buggy, but at least the app
does not hang or have poorly rendered icons.
2) Fix the underlying problem - slow start up. This was postponed.
One partially implemented solution seems to be to start the loading by
creating subthreads - This would keep the UI live and the splash screen
active, though I'm not sure what would happen if everything was not yet loaded
and a user tried to run.
3) Revert to Kevin's version of VergilApplication and deal with bugs that
make it difficult to use Kepler. I don't recommend this because I the problems
I saw (bad icons) are worse than an unresponsive splash screen.
4) Remove the splash screen. Personally, I don't like splash screens.
Anyway, that's a summary. Any ideas? We could telcon about this, I'm back
from vay-kay-shun.