Steve: Developing on the Edge - Splash Screens
Steve: Developing on the Edge
Thoughts on development, Web-services, technology and mountains.
27Jan
Fri2006
Splash Screens

So Java 1.6 supports splash screens. Apparently there is pent up demand from developers, and "Splash screens are a standard part of any modern graphical user interface (GUI) application.". Indeed, "An application that displays a polished and professional-looking splash screen can occupy the user's attention and gain the user's confidence that the application is starting.". What else, oh "In addition, splash screens may provide marketing information."

No.

Splash screens are an egocentric form of damage limitation for apps that take too long to start up. Damage limitation, because if you ask users which they prefer, (a) apps that start immediately or (b) a polished and professional looking splash screen with marketing information, only a few deranged idiots would pick (b) and they need to be taken outside and soundly beaten. Actually, maybe they should be cherished as the kind of person who would actually run Java rich client apps.

Why egocentric? Because when I boot my PC up I normally bring the dev apps for the day, say jedit, firefox, idea, switch to the next X11 virtual window and boot vmware (fast) then restore an XP image (slow), then flip to the mail window and start reading my mail. Only I can't because there about four different splash screens following me around, many with the always-on-top attribute set so that I cannot do other things. Yet that is exactly what I need to do, as both vmware OS restore and IDEA dataset reloads do take ages, because of the sheer amount of data being thrown about.

What should an app do? Well, how about displaying progress in the actual toplevel window frame. That way if it is in front of me, I can look at it, and if I am doing other work, it is irrelevant.

As it is, I am now scared about how every little java JAR file is going to add splash screens? Should we add one for Ant? What about the javac team? That and javadoc takes forever, of course they need splash screens. This new feature reminds me of when the Win32 MFC wizard built splash screens into every app: Suddenly every app had them. But they didnt make sense then, and they dont know. If your app has complex things to do, do them in a background thread. It is what they are there for.

Comments

the web approachreply to this thread
On 27 January 2006 at 10: 21 Jon Dowland commented:
Remember loading graphics-heavy web pages on a slow connection? The page would build itself in front of your eyes. You may get the structure and some colouring first, then the images start to appear.. that would be infinitely preferable for me in a GUI app that had to load slowly. Half the time the UI is being held up by something in the background that you don't need to have finished to start using the app, anyway.
On 30 January 2006 at 08: 39 Jan Materne commented:
Mmh, I thought we have a <splash> task. We only have to create some very large pictures and let ProjectComponent start that...