This is what the GUI might look something like. Basically you chose your exercise type and doing so fills the rest of the GUI with appropriate boxes. Then you populate the spreadsheet either using the input boxes on top, or typing directly into the spreadsheet. Any row that has a distance and a time, or a distance and a pace, in any units, can be completed by clicking calculate (converts miles to kms and distance-plus-time to pace).
Actually the first column should be the date. I think each year will be a separate file. And running and biking data (for example) will also have their own files. That way if you only bike like ten times per year, you don't have this massive spreadsheet with lots of zeros in the biking column, taking up hard-disk space.
The whole program will be made so that data is saved as you work. Google does this with their spreadsheets, and it's quite nice. Not sure how much of a pain in the ass that will be though. First iteration, I suppose I can just include a "Save Data" button.
Then of course, I'll add graphing capabilities! So for now I'm doing this in Perl, but I may switch to Java. I'm going to sort of try both concurrently and see which works best.
Then I need to figure out how to make an executable out of all this! I may end up having to switch to C++ ...