[sword-devel] More Splashes
Chris Little
sword-devel@crosswire.org
Thu, 25 Oct 2001 11:58:56 -0700
> "Why have a splash screen at all?!!!"
Splash screens are a visual cue that the program is loading.
> Whenever I see a splash
> screen on a Apple Mac or a Windows PC I think --- bloated
> code.
That reminds me, we should be careful that the splash screen doesn't add
too much size to the binary. At work I remember we had a project with a
100k ebook reader that was supposed to start up with a 600k animated
splash screen. Um, yeah, that was bad.
> The screen is there to entertain me whilst things are
> initialised. But I'm NOT entertained rather I'm annoyed.
> Maybe the first time I see a splash screen I might enjoy the
> pretty picture but after the second time or the hundred and
> second time the screen merely irritates. Much initialisation
> is unnecessary at program start; it could be delayed to a
> later point in the execution cycle of the program. I'd rather
> that intitialisation time were spread throughout the
> execution life-cycle of the program. Why should I wait for a
> print class to initialise if as I start the program it is not
> my intention to pront anything out.
That's not how Sword works. 90% of the initialization time is spent
creating the SWMgr object that just holds all the configuration
information. That entails reading all the conf files so that the SWMgr
knows which modules are available and knows which drivers & filters it
will need to load for them. I know it was just an example, but we don't
even support printing.
> I would rather that time spent creating splash screens was
> given over to optimising the code, particularly to delaying
> initialisation until such time as the functionality is requested.
Not everyone does the same jobs for this project. Tim may not be
interested in working on code optimizations. Maybe graphic arts are his
cup of tea, and this gives him a way to help the project in an area that
does need help. At least he is helping.
Besides which, there's no place in an open source project for saying
what others should be doing. Don't like the code as it stands? 'cvs co
sword', fix it, and send us a patch.
--Chris