Although I'm not releasing the entire project source code, here is a download link for the Excuse class

The Big Picture

The program is intended to be used not only by end-users, but also by the developer. End-users create/edit/email their excuses. The developer programmatically retrieves Excuse files and downloads these email attachments, where the developer's copy of the program processes them and creates HTML reports of the data, publishing it online for the edification of all program users.

Important Note: Although not yet implemented as of v0.96q, which was my final submission before the contest ended, I do have test-code written and will be implementing functionality wherein the program takes the processed Excuses that it receives by email, collates the processed data into a nice HTML file, uploads it to my website, an then emails users of the program the link to the online report.

Webcast Info

The following screencasts should be viewed in the order listed, beginning with "Installing the Program"

added the ability for the developer to retrieve (after supplying a password) all excuse files that have been emailed to him as attachments

added convenient keyboard shortcut: Escape key exits application

Version 0.95 (released 12-27-2010)

placed code that retrieves and processes multiple emails in its own BackgroundWorker thread, so as not to destabilize the UI

modified InnoSetup so that it uses the correct icon, such that the icon displays prettily (with transparency in the right places) in the Desktop shortcut (see screenshot below)

Version 0.96 (released 12-30-2010)

corrected error of omission: program will NOW update title bar with # excuses found, just as soon as you select a directory using Folder button and the BrowseForDirectory dialog.

added a mutex synchronization primitive to guard against multiple instances of our program running simultaneously.

renamed some #regions and some variable names, to improve source code clarity

commented the code more significantly

implemented a FileSystemWatcher object, with related event handlers, so that even if a file gets added or deleted (or even changed) from outside our program (say, from Windows Explorer, for instance), our program's UI reflects this and/or alerts us appropriately

made the form slightly taller, so that the text boxes could be multiline.

used a boolean in conjunction with Form1_Activated() to ensure description textbox gets focus when program first loads.

the biggest feature of 0.96 over 0.95 is the addition of the ability to process retrieved emails' attachments and generate a report. Unfortunately for most end-users, other than the developer, this feature won't be accessible.

used an obfuscating routine to better protect a password included in the installation.

DescriptionThe purpose of this little program is to allow you to record the many excuses you've come up with for why you're not writing a N.A.N.Y. entry. Of course, I've written the program to be able to handle excuses for just about anything, but its intent is as stated above.

Features

See the Version History information above.

Planned Features

I welcome your suggestions.

One idea I had was to have the program check my website for uploaded excuses, and launch the user's default browser to view them. Perhaps the program would download a local copy and allow the user to vote for their favorites, then email the developer these ratings for later inclusion in the webpage...

UsageInstallationHow do you install and run the Application for the first time?

Use either of the two links above that you wish. You can either install manually, which merely involves extracting the zipped folder and its contents to your desired location, then running the app. Or, you can download and run the Inno Setup file and run it.

Using the Application

See the "About" menu for brief instructions.

Uninstallation

Either delete the manually extracted folder, which contains the applications and its files; or, run the uninstaller from your Program Files menu.