That is exactly the debate between loading upfront and loading on demand. Either way, you'll have to load resources. But it seems sometimes people like to ignore that fact. The key is finding what works best for the particular application at hand. Personally, for something like Photoshop I'd rather have the long upfront load as opposed to hitches when loading a feature on demand.
Which, out of curiosity I timed it, the "long" loading time for Photoshop CS5 on my machine is less than six seconds. It think I can wait that long.
> That is exactly the debate between loading upfront and loading on demand. Either way, you'll have to load resources.
Everybody seems to be missing the third way: load in the background as the user can already work.
Take those fonts, you could spend 5s loading them during the splashscreen making the user wait, you could spend 5s loading them when first requested making the user wait again. Or you could load them after the program has started, in the background.
Will the user go from "empty document" to opening the fonts dropdown in under 5s? Pretty damn unlikely, and if he does he'll wait for the remainder of the load. In either case, he just "won" 5s.
Problem then is that as soon as I start using the program I might say want to load some data into it which is on the same drive as the program itself.
If I don't have an SSD my drive head is going to be spinning around like crazy trying to load resources from different parts of the disk at once which is going to give me slower overall performance. If you do have an SSD then it's likely fast enough either way.
Which, out of curiosity I timed it, the "long" loading time for Photoshop CS5 on my machine is less than six seconds. It think I can wait that long.