Friday, March 17, 2006

Slow startup times are ok.

Does an application's launch time matter so much anymore? Being in the desktop software business for ten years now, I've spent in-ordinate amounts of time and energy focusing, and optimizing application launch times. With machines as fast as they are these days, I'm not sure this is such an interesting metric anymore; particularly given that the applications I spend the vast majority of my time in can run for weeks at a time. Utility applications that I use sparingly, raw text editors, Preview.app, and the like, should indeed launch very quickly, however, I'm not sure it matters much anymore if your email client, your IM client, and your browser take a relatively long time to fire up. Consider how long your operating system takes to boot-up; relatively very long.

Back in my Netscape/Mozilla client days, I recall working on projects to reduce the amount of time it would take to load the browser. When that wasn't enough, we introduced "pre-loading" which would load all the code into memory at system login time, but not display actual UI until the user invoked the application. Pre-loading works really well, but, again, I'm not sure it's worth the effort to get your application to do it anymore. We also spent a lot of time carving up the libraries so only what was actually needed would load into memory.

If you're the kind of user that is bringing up your primary applications, and tearing them down, many times throughout the day, then startup times are going to matter to you. But, I think this kind of use is deteriorating. Application stability, at least among the applications I use (OS X for operating system, Firefox for browser, Thunderbird for mail, and Adium for my IM client) is so good now, that those applications can run for weeks on end without crashing or requiring shutdown.

I've also created a script that loads my primary applications upon system login. In effect, I'm pre-loading all of my applications these days anyway.

To summarize, I see the trend in desktop applications to be greater stability, yielding much longer up-times for applications, and subsequently, the need for quick-launching software is deteriorating; with the exception of "utility" applications.

No comments: