As I posted earlier, I am prototyping a small task management application (a glorified To-Do list in ColdFusion, if you will). I am doing all the design and prototyping up front as dictated by (what I understood to be the message of) Clark Valberg's presentation at the last NY CFUG on Interface Driven Architecture. What I have below is the design file (PNG for Adobe Fireworks program), the source code for your viewing pleasure, and the actual ColdFusion prototype demo.
The design file is available in Adobe Fireworks PNG format. This design file consists of about 9 frames which map out roughly what I want to be seeing in each page of my application. I am not completely sure how large a design file should be when it comes to prototyping, but since this ColdFusion application is so small, I figured it wouldn't hurt to design them all out.
Prototype ColdFusion Code
The demo source code is available as a ZIP file. Once I was happy with where the design file was, I started coding the prototype. The prototype happens to be done in ColdFusion (for rapid development), but it could have been done in anything. The prototype is meant to be a "throw away" application that is merely a tool to help align the client's goals with the developer's goals. In my code, I use the Application.cfm ColdFusion template to include the HTML header and the OnRequestEnd.cfm ColdFusion template to include the HTML footer. I just found this fast an easy (but is not how I would implement the final application architecture).
In addition to CFIncludes and Pre/Post processing files, I do some minor ColdFusion scripting to create some test queries (no database involvement) that were used to create my data tables and data forms. It's just easier for me to do a CFLoop over a query than it is to hard code a bunch of values. The point though is that I have not done any ColdFusion code that would potentially back me into any corners. There is no business logic in the ColdFusion code... no model, no controller, no nothing. It just fast and dirty prototyping of views. Remember, the client doesn't care how anything is implemented, they just want to know that it works and that it accomplishes what they need it to accomplish.
Demo Application :: Team Nylon (A Kinky Solution by Ben Nadel)
The demo application prototype is available here. Now that the demo is finally up and running, I can get the management's feedback as well as other co-workers who might one day use the application. The great thing about the prototype is that most any change suggested would take minutes if not seconds to execute because no real coding has been done. And, the over arching point of the whole IDA methodology is that we would rather get it correct during prototyping where it takes minutes rather than getting it wrong during development where it might take hours and days to change.
Skinning The Application
As I started to demo this to a co-worker, he expressed early concerns with the drab look and feel. As an exercise in design and skinning, I came up with several other color schemes. You can switch between the different color schemes (skins) using the tiny links in the very top-left corner of the application. I have design files for that if anyone is interested, but they are basically just minute graphical changes. If you look at the code though, you will notice that the entire look and feel is determined by a single CSS include in the HTML header. Cool stuff!
I am not sure if I want to pick one skin, or leave the ability to choose in the application. It's so easy to implement, I figure I might as well just leave it in.