back to Senior Project Page...

History and Development of the Project

In December of 1997, I looked for a new CS 470 senior project. My previous two attempts were through my employer, ARCO, and both became either obsolete or low priority. Although I had a number of hours already invested (approximately 120 hours), I decided to abandon these projects in favor of one recommended by Professor Ted Gifford.

This new project was to rewrite "Nordic", a DOS ski timer program, to run on a palmtop computer for the UAA ski team coach, Bill Spencer. The timer program keeps track of the progress of multiple skiers in a stagger-start race with splits, the time in seconds from the lead racer. The only other timing products available are quite expensive or don’t record in splits. Ted thought I might be able to get the source code for "Nordic" and rewrite it for Windows CE or a newer version of DOS. I wrote up a proposal for the Computer Science department on 3/4/1998.

In the first phases of research, I found that

As I looked at palmtop machines, I came across the Palm Pilot. It is a popular, inexpensive machine that suits the needs of the timing program better. Its OS has no windows interface, so response time is better. And the Internet seemed to be exploding with amateur and professional programs written for it.

I decided the Palm Pilot III was the best fit for a "Nordic" replacement, and with Bill’s agreement, bought a Pilot on 4/28/1998 and ordered CodeWarrior on 5/21/1998.

I had concerns about how would it operate in a cold environment. I joined a few discussion groups, comp.sys.palmtops.palmpilot, alt.comp.sys.palmtops.palmpilot, and pilot.programmer, to find out if this challenge had been addressed. There were several useful suggestions about heat packs and Pilot cases, along with a person who works in cold storage that said as long as he kept it in his pocket and only took it out for a few minutes at a time that it worked fine. Coach Bill Spencer’s "Nordic" solution ran on a laptop that was kept warm with heat packs. After much discussion and a freezer demonstration with Bill, we decided the same could be done for the Pilot.

I read the CodeWarrior manuals and went through the memo pad tutorial. Bill gave me the old "Nordic" program. Bill and I met and hashed out the requirements for the new program. We came up with a more specific proposal, "Overview of the Scope and Specifications of the Timer written for Coach Bill Spencer" and signed off on it on 7/17/1998.

Then I got to work on design. I made screen pictures, flowcharts, excel simulations, and looked at other programs. CodeWarrior became a big snag. I couldn’t even get a "hello world" program running on it. The magnitude of the project began to overwhelm me. I met with Professor Gordon a couple of times as Professor Gifford had left UAA. Finally desperate after about 180 hours in and seemingly nothing to show for it, I wrote the CS department (Larry Gordon and Jim Jacobs) a letter asking for regular supervision and help on 8/14/1998. The Friday weekly meetings we agreed to were a significant help.

The problems I had with CodeWarrior were not just because it was new and "buggy". I had never used a developer kit, never used C++, hardly used C, and normally worked on a PC or Unix machine. Also, CodeWarrior is written for the Macintosh and is quite different from PC or Unix programming. Professor Gordon suggested I contact a student in the department that had used CodeWarrior on other operating systems. Jason Guild offered some keys that gave me a jumpstart. Professor Gordon also lent me a C++ tutorial and another student, Henry Hedberg, and Professor Jacobs lent me C++ books.

With an old copy of Borland Turbo C++ version 3.1 from Matt Guenther, another fellow student, I modeled the data structure that I planned to use in the CodeWarrior program. At Coach Bill Spencer’s suggestion, the program is called "Lickity Split". I sent Bill a copy of the screen prototype on 11/2/1998.

As I was building the CodeWarrior version of a code prototype, I found the Palm OS to be challenging and the project would probably take another 2 to 3 months to complete. CodeWarrior for Palm OS release 5 came out and it was an improvement.

As I was reading the source code for the address book application, Address.c, I noticed that two people authored different functions throughout it. Since I had been working some with Henry Hedberg (mainly as a sounding board) already and now had well over 400 hours into the project, I asked if he would be interested in combining efforts with me for his CS 470 credit as well. It was obvious the project would not be finished by December, but with the both of us working on it, it would surely be done by the next May. On 12/4/98 I mentioned this idea to Professor Gordon and Professor Jacobs and they requested another proposal.

We turned in another proposal and now Henry and I have been working together consistently since the start of the Spring 1999 semester. We plan to finish and market this product by May.