Pages

Categories

LaunchLater, My First Open Source Project

May 13, 2010 — liberatedsoftware

A couple of weeks ago, while talking with a friend and coworker about how much we love Dropbox, we came to the conclusion that our only real complaint with the software was how long it takes to start up. Every time the Dropbox application runs, it indexes the files in its local repository, and I’m assuming compares the index hash to that of the cloud repository to determine if there are changes.

The problem is that once you have as many files as we do in our respective Dropbox accounts (5,886 files in mine at the time of this writing), that indexing process becomes time consuming and really slams your hard disk.

And when does the Dropbox application launch? At startup. Right when your hard disk is being slammed with your OS loading, and whatever other applications you use that run when you first log in.

This makes boot time take forever, and I worry about my poor non-solid state hard disk getting beat up by having its attention split in so many simultaneous directions.

One fix is to simply take Dropbox out of my list of startup applications. The problem there, however, is that I will inevitably forget manually run it, then modify a file that I think is being backed up but isn’t, and finally my laptop will spontaneously combust and I’ll lose all my work.

Another way, far more practical, is to use the Task Scheduler built into Windows to trigger the app to launch at logon after a short delay. This isn’t terribly difficult since I’m a developer and have worked with scheduled tasks for years, but the UI is a bit clunky and is designed to do far, far more than merely delay the startup of an app at runtime. I don’t expect less savvy users to figure this out anyway.

My proposal is LaunchLater. An app with a sleek UI (think Zune or Steam here) that allows users to select which startup apps they want to defer at boot time, and even add new apps to the deferred launch list.

Its a pretty simple straight-forward idea. I honestly thought it was too petty a notion to turn into an open source project, but then I brought it up in conversation with several developer and non-developer friends and got some wonderful feedback, including some terrific ideas for directions to expand towards. This means I might have some other developers lined up to contribute already.

I hope to have my first beta version working in the next couple of weeks and then I’ll line up the open source hosting. I’m currently leaning toward CodePlex, but I want to research BitBucket, GitHub, and good ole SourceForge first.