Project Goals

John Van Ostrand john at
Tue Oct 11 11:28:39 EDT 2011

----- Original Message -----
> Simply do a Group Reply or "Reply-All". I hate mailing lists that have
> a Reply-To...

Yup, this is only the second of the lists I subscribe to like this. I understand the controversy, I'll probably continue making this mistake though.
> Subsurface allows you to reorder the dives based on their start time -
> which should give you the correct order, right?


> Yes, also on the todo list.
> Can you give us an idea of what data you would like to store and how
> you would prefer the user interface to be?
> Free text? Select boxes with predefined values? Numeric fields for
> some
> of the data? Any analysis functions that you are looking for?

Let me think out loud. 

I think detailed thermal and weight is important. I track that a lot in my paper log so I can easily guess lead needed for certain configs. With an electronic log I would take advantage of the query potential and look at gear usage for servicing and when selling or deciding to trade up.

I think it would be interesting to design the equipment dialog in such a way that it didn't require a separate screen to configure the list of equipment, but looked close enough to a normal dialog to be intuitive.

My screen would look like;

+ Thermal Protection ----------------------------------+
| [ ] Dry suit                 [ ] Wet Suit
| [ ] Thick undergarment       [ ] 3 mm shorty
| [ ] Medium undergarment      [ ] 3 mm full
| [ ] Light undergarment       [ ] 7 mm
| [ ] <New item>

+ Weight --------------------------------------------+
| Weight pockets ____ kgs     Backplate      ____ kgs
| Ankle weights  ____ kgs     <New location> ____ kgs

+ Other ---------------------------------------------+
| [ ] G20 Camera              [ ] Strobe
| [ ] AL20 Pony               [ ] <New Equipment>

+ Tank ----------------------------------------------+
| [ ] HP120         Start PSI _____ End PSI _____
| [ ] HP80          Start PSI _____ End PSI _____
| [ ] <New Tank>

I wonder if there is a way to make each check-box label a drop-down select with <remove> as an option and also have options for any previously used, but unlisted item. <New...> fields would be an editable drop down where the user could type a new item, or select a previously used, but unlisted item.

It would be an experiment.

> Oh, have you seen that you can "rip off" the notebook pages? Just
> click
> on the tab and drag them away - you can do that with both the dive
> list
> and the profile. Does that give you what you want? It's certainly how
> I
> use the program. The dive list in one window, the profile in a second
> window and the notes / equipment in the third.

Okay that approximates the functionality. I haven't seen a lot of traction with that type of interface, usually just drawing and IDE tools. I personally find multiple windows in an application to be a bit of a bother. Having the dive list on the left and a detail pane on the right models a huge set of similar programs.
> I really don't like this. Maybe an option to hide dives by year or
> something, but I don't want folders.

I quoted the word "folders" because it wasn't the right word. Even a book icon wouldn't seem right. Having a tree view makes it a little more acceptable. A bar for each year might be more attractive.

It would be collapsed except for the year of the last logged dive. That way when I go in I don't see dive number 1 (4 years ago) and have to scroll down 400 dives to the current dive.

> You can already sort by any of the columns. Just click on them.

Being able to add dive # column would be nice.

And sorting works with a few dozen dives, maybe a hundred. I have a friend who does about 500 dives a year. However, I think supporting the diver who does around 100 dives a year would be a practical maximum. After a few hundred dives an uncategorized might be cumbersome.
> Not sure what you mean? A PIM data base? I don't think that's what a
> dive log should be. I have all my contacts in one central data base
> and
> don't see a value in having a copy of some of that data here.

To be honest, I was reaching for other content to add to the buddy edit. In paper logs it's often certifying agency and number. I often collect emails from insta-buddies because they want photos. If they are on a social networking site I'll stay connected there, but if not I often lose their email in a mound of other email. Having it associated with the dive helps if I return to the site years later. It's small and I won't argue much for it, but a notes field would suffice.
> Why? The vertical lines are five minutes. I think that would just make
> things more cluttered.

That wasn't obvious (to me.) I would have had to see the dive time, count lines and divide. Axis labels are small, we know the axis is time and probably minutes so a simple 5, 10, 15, 20 shouldn't clutter much and would be much more obvious.

A legend would nice. There seems to be a lot of thought put into the charts, like ascent rate colouring, but that wasn't immediately obvious either.

> > Stats would be handy. The obvious things are deepest, coldest,
> Not high on my priority list, but definitely a feature we would take

I agree.

> > Reports on how many dives per equipment piece may come in handy for
> > servicing gear. It turned out my dry suit seals failed on cue.
> :-(

It wasn't a catastrophic failure. Just a leaky wrist and a slight tear. After a closer look there was deterioration in the neck seal. 250 dives on a dry suit seems to do that.

> > Mouse-overs on stats, graphs and profile might be able to update a
> We already allow that for dive numbering - so doing this for other
> values seems reasonable

Hmm, not seeing the dive numbering.

> > I'm thinking that maybe a set number of fields, like about 4, to
> > describe the weight used and have remember-able fields for where the
> > weight was. That way I could put in "Backplate" while a friend may
> > put
> > in "Tank Strap" and next time it will default to those giving all
> > the
> > other options you may have used in the past too.
> You used that term before. "remember-able field". What exactly do you
> mean by this?

Excuse my programming atrophy. I could have called those editable drop-down select lists. Where the field (or label of a checkbox) is text editable, but with a drop down for previously used values. On subsequent new edits the field defaults to the last change. So after adding a new buddy for dive 1, s/he is the default for dive 2. And the name stays in the drop down for future use. There's a garbage collection issue there though.
> > I'm fine with tracking equipment based on total config rather than
> > tracking the buoyancy characteristics of each piece of
> > equipment. Tanks are the one piece that I tend to manage in my own
> > head.
> Again, can you give more details what you mean by that?

The equipment I use changes how much lead I need and where I wear it. As I change equipment I need to adjust lead. Thermal protection is the big one, but pony tanks need balance weights. It's a challenge to do this sometimes and I rely on my log book for reference to previous dives. Some questions the paper log book currently answers:

1. How much lead do I need with a 3mm suit, 2 lb backplate, AL80 tank in sea water?
2. How much lead do I need with a dry suit, medium undergarment, 5 lb backplate, and HP120 tank in fresh water?

I can use my paper log book and rely on the weight checks I've done and refer back to known dives where I did a weight check on a given group of gear.
Or, I can solve this by summing up the buoyancy of each significant item. I will likely be positively buoyant and I'll know how much lead to add.

I have been meaning to put together a weight-check calculator of sorts to track the buoyancy of various items so that I can automatically sum up the needed weight.

Now that I've gone through the explanation it sounds like a version 5 feature.

> > Having "optional equipment" would be good. Adding a list of various
> > equipment like camera, flash, pony bottle, etc change my buoyancy
> > characteristics. I see it like a check box option listing the
> > various pieces I have configured.
> I worry that this will create an excessively cluttered user
> interface. One of our design goals is to make subsurface usable on a
> very small screen. Maybe this can be a secondary equipment page. I'll
> need to think about that.

I think that divers want to record what gear they took on a dive. Most divers don't have a lot so it doesn't have to be cluttered.

> > For SAC rates, the distribution above may be enough, however SAC
> > rate
> > often depends on the water temp, thermal protection and
> > activity. Hauling around a camera and taking photos worsens sac
> > rate. I can wait to figure out later how best to deal with
> > that. Diving with students decimates SAC rate.
> You can sort by SAC rate which should give you much of what you want.

Or export to spreadsheet would be a quick out for stats.
> > I don't have an air-integrated computer and I don't always remember
> > my
> > start and end PSI, so it would be nice for any charts or
> > distributions
> > to take that into account and treat them specially. I suppose that
> > calculation would result in 0 so discarding values <=0 should fix
> > those and other errors.
> Right now they simply don't get displayed :-)
> > I'm happy to work on many of these options, but I want to make sure
> > I'm going in a good direction. I'm much more comfortable working on
> > forms than charts right now. I'm going to have to learn GTK again so
> > easy features are my first step. I really like the choice of C and
> > GTK.
> I think a great starting point would be an interface that allows you
> to
> enter a dive:
> date and time
> location
> duration
> max depth
> surface temp
> bottom temp
> how many tanks?
> for each tank
> starting pressure
> end pressure
> o2%
> he%
> I'd leave away the equipment for now as that needs to be integrated
> with the equipment code.

That I can get started with.

> Things to remember are that we are looking for an uncluttered UI that
> works well on a 800x480 (or at least on a 1024x600) screen.

Why so small a screen? Are you targetting a netbook, or is this an arbitrary constraint chosen to elicit a spartan look?

> I much rather see a rapid succession of commits in a branch with a few
> first ideas that we can discuss than weeks of work that you show to us
> at the end in one monster commit. This may be obvious from the commits
> that you can see so far but I thought I'd point it out, anyway.


John Van Ostrand 
CTO, co-CEO 
Net Direct Inc. 
564 Weber St. N. Unit 12, Waterloo, ON N2L 5C6 
Ph: 866-883-1172 x5102 
Fx: 519-883-8533 

Linux Solutions / IBM Hardware 

More information about the subsurface mailing list