Two days ago I had announced that I'd started work on a new project that I'd been wanting to work on for a while. Rather than spill out all the details in one post, I thought it'd be better (and funnier) to stretch it out a little.

What's in a name? A product's name is what defines it. When people first see / hear about your product, they see / hear it's name. Your first impression is achieved by how you call your project. You could always name your project something like "Another Forum Software" or "Blog" and, although original (in their simplicity), these names simply don't stand out. Sure, they give us a pretty good idea about what they actually are, but that's pretty much it. No emotion. No power. So... cold. On the other end of the spectrum, you have names like Galleon Forums, by Raymond Camden, or Mango Blog by Laura Arguello, both excellent products. When I think of galleons, I see ships crossing the Atlantic Ocean reuniting long-separated continents. For mangos, I think of sweet, sexy, sure; I especially think of enjoyable. These projects and several others served as an inspiration.

Now what did I name my project? I can't give you too many details about the thought process (that'd give you too many hints), but I will say what I've decided to call it:

SQUASH

Yes, in caps. It adequately represents the core of what the project is, and still has an original ring to it.

Now, for the project itself. I will be writing using the excellent ColdBox Framework as a base for the application. It has served me well in the past, and will provide a robust structure from which I can build my project. I will also be using Coldspring to manage my object dependancies. Coldspring is an IoC (inversion-of-control) framework that can relieve many of the headaches associated with having several objects in your domain model. It also integrates seamlessly with ColdBox, which is a plus. As a time-saver, I will use Illudium PU-36 Code Generator (or cfcgenerator for close friends) to generate my basic model files and Coldspring definition file. This is a great tool and saves you from typing the same validation and set/get functions over and over again.

So that's it for today. The train is arriving in the station. In the next episode we'll go over getting all of these great tools working together. If you're nice, I might also have some more details on my project as well.