Possible Future Projects

Listed here are some of the projects I have thought about doing, or am currently thinking about.

As you'll notice from the list, some of these are pretty big, which is why I haven't started some of them yet.

In case you're wondering, I think it's unlikely I'll ever finish all (or even most) of these, so don't worry about my sanity.

It's probably a good place to point out that I'm a bit obsessed about good user interface, so if you're wondering why I'm considering writing project XYZ, when I can just buy a commercial version of XYZ, then it's either because I don't like the user interface for the program, or because it's just crap (remember Sturgeon's Law, after all).

It's probably a good place to remind you of the Ninety-Ninety Rule too.

And while I'm here, what the hell, here is Hofstadter's rule too:

    A project always takes 50% longer than you think it will, even if you take Hofstadter's rule into account.

Anyway, here's the stuff I'm thinking about:

Email Client

This one's easy - I'm fed up with email programs that don't get the basic things right, even after years of development. The sort of stuff I'm talking about is:

  • Displaying/decoding emails correctly, and not losing the original message source/attachments when your decoding algorithms screw up.
  • Letting me use PLAIN TEXT when I ask for it, and not repeatedly giving me HTML email despite me clearly not wanting it.
  • Being able to quote someone else's email properly.
  • Security. I'm looking at you, Outlook [Express].
  • Fast searching. I can seach the entire internet with Google in about 2 seconds, yet it takes Outlook 10 minutes or more to search my email for some text. And of course, it doesn't give me a progress display while doing it.
  • Decent import/export support. At the very least, all email programs should be able to export email in RFC-822 format, so tools can easily process them, ready to be imported into other software.
  • Good support for spam-filtering. For example, it would be a good idea to not classify something as junk email and delete it, when it comes from somebody who is actually in my address book. Outlook, I'm looking at you again.
By the way, I'm not really having a go at Microsoft in particular with respect to security. Although they have major problems, I'm not really convinced there are many commercial software products that are much better. It's just that Microsoft software is used bloody everywhere, so that's what is targetted. There are of course, numerous bits of free software that have better security records.

Database Library

While researching the implementation requirements of writing my own email client, I started learning about databases and efficient file organisations. With a view to writing a database library/engine that my email client could use to store messages in, so that they can be found/indexed efficiently.

If you want to know what I've learned, you'll have to read these fine books yourself:

After all, TANSTAAFL :-)

Contacts Database

Project Management

Diagram Drawing Tool

Alarm Clock/Reminders

Perfect Pitch Trainer

PixelDust

Facial Animation System

Video Diary

Backup Utility

SmartCopy Shell Extension

Universal File Viewer