Most of this week I've been trying to crank away on the knitting needle database component of my KnitTrack software. I'm starting with the knitting needle info component of the program because it's one of the simplest parts of the project. Once I work through this part, it should be a good prototype for the other two databases that I have to build.
Like most programming projects I have embarked upon, I've underestimated the challenge of doing something new, even if it is simple. I am actually considering setting the knitting needle information database tool up to be an independent component for the first release, and seeing if I can do enough things with it to make it an acceptable final project for my class.
The knitting needle database tool has two primary "viewers". The first viewer displays all the needle records in the database, with the records viewed and their display order specified by the user. The second viewer displays the details of individual needle records. Here's a set of screen shots for the first viewer:


The Entry Screen to the Needle Database in KnitTrack
The screen shot on the left demonstrates what the user will see when the program is launched. The category indicator at the top says "All" so all the records are displayed. The Palm screen is too narrow for me to display all the information in each needle record, so I've selected what I think is the most useful information:
Needle Maker US/UK Size/Length Composition Category
If you click down on the category selector, you see the screen in the middle. The default categories are Circular, Double Point, Straight and Unfiled. You can work with these categories, or you can change them to suit your needs or add your own categories just by clicking on "Edit Categories". You can have up to 15 total categories.
After selecting a category, the listing box is updated to display only the records from the category selected. In this case, I selected the "Circular" category, for which there are only two records.
The next thing I need to do is set up some general sort types so that the user can see the records in an order that is useful. Here are the sorts that I think would be useful:
- By Category, then by Size, Length and Maker
- By Category, then by Size, Length and Composition
- By Category, then by Composition, Size and Length
- By Category, then by Maker, Size and Length
Are there other orders that might be beneficial? See below for a description of the available fields. I will have an option for the user to filter the records for all the needles that are not already in projects.
When you click on the "new" button in the bottom left corner, you pull up a screen that looks like this:

The Record Editing Screen in KnitTrack
There are 8 basic fields in the database: Type of Needle ("Type"), the US or UK size ("Size"), the metric size ("Size (mm)"), length ("Length"), the manufacturer of the needle ("Maker"), the composition ("Composition"), notes and there will be a place to indicate whether the needle is in use or not via a check box. You can indicate the current project via the notes field, if you wish, or use it for other purposes (this is just for the needle database only version of the program, when I integrate it with the tracker, I'll change how this works so that the two databases are connected).
In the three screen shots above, you can see the pulldowns for the Type, Size and Length fields. I added the pulldowns for Size and Length so that the program would be workable outside of the US.

Needle Manufacturer Selections
For the Manufacturer field, you can see a selection of the options I've set as defaults: Bryspun, Clover, Crystal Palace, Inox, Pony, Skacel, Susan Bates and Swallow (I'll be adding Brittany as well). This list will also be editable so that those of you who have other types you wish to include can add them. Are there other "big name" manufacturers that I've left out? (Note: AddiTurbos are made by Skacel).

Needle Composition Selections
For the Composition field, you can see a selection of the options I've set as defaults: Aluminum, Bamboo, Birch, Brass, Casein, Ebony, Plastic, Rosewood, Steel, and Teflon Coated. As with the manufacturer list, this list will be editable to allow more options. Are there other defaults that I should have included?
Finally, there are three buttons on the bottom. "OK" saves the record. "Cancel" deletes the record if it's a new record or just ignores changes if it is an existing record. And "Delete" deletes the record. After any of the buttons are clicked, the user is returned to the main listing.
So that's the basic tour of the first component. Scary to think I can write more words about the beginning of a programming project than I do about most knitting projects. I think the basic screens are mostly done. What I have left to implement is the sorting, (and the on-screen mechanisms for dealing with sorting), dealing with scrolling (when you have more records than list box space) and setting an option for whether you want to see the US/UK or metric size in the record listing.
So tell me what you think!