Project Goals

Dirk Hohndel dirk at hohndel.org
Mon Oct 10 22:24:16 EDT 2011


On Mon, 10 Oct 2011 19:42:25 -0400 (EDT), John Van Ostrand <john at netdirect.ca> wrote:
> (manually cc'ed to list)

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

> I'm working on a github version so I may be a little out of date already.

So far Linus is pushing to both git repositories, so they should be
completely in sync.

> Editing the dives is the most elemental missing feature for me. I want
> to edit dives for lots of reasons. I have some dives where the date
> was wrong because of a battery change and an absent mind, so being
> able to edit the dives in the GUI would help. I also have some dives
> where I didn't use the computer, and there are some dives that were
> logged as separate dives, but I want to merge them as one and a couple
> of others that could be split. Being able to see dives in download
> order may help to identify the poorly dated dives. Re-ordering dives
> may be needed after fixing the date depending on how subsurface
> internally numbering.

Subsurface allows you to reorder the dives based on their start time -
which should give you the correct order, right?

Internally it already has some code to merge dives, but there's no UI
for that. And no UI to create new dives or make modifications to
existing dives. So I agree, this is definitely a feature that needs to
be added.

We also need a UI to enter tank pressure data for people without
air-integrated dive computers (or when diving with multiple tanks and
only one pressure transmitter).

> Of course there is the additional info for dives as well, like
> equipment, environmental conditions, etc.

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?

> Second I would make the dive list a separate vbox and provide a tabbed
> display on the right for dive profile, equipment, etc. Selecting a
> different dive would update the right vbox while keeping the same tab
> selected, so scrolling through dives one could compare more easily.

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.

> The dive list would have different display options. Some options will
> help those with hundreds or thousands of dives and could categorized
> by year/month, with "folders" for years and months. 

I really don't like this. Maybe an option to hide dives by year or
something, but I don't want folders.

> Another display might have it listed by dive number (with numbers
> listed.) I don't know how to deal with the huge dive list in that way
> since scrolling down 400 dives to see my latest might be annoying. I
> think it may make sense to have other categories as well, like dive
> buddy or perhaps location. Filtering may be a better option for buddy
> and location than categorization. I haven't thought much about how
> filtering would fit into the GUI.

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

Filtering based on that might indeed be a good idea. I need to think
about how that would work in the UI, though.

> I see many of the fields as remember-able fields, like buddy or
> location. When entered once it it stored in a buddy and location list
> that can be flushed out with more information like mobile number,
> email, GPS coords, etc.

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.

> Having a time index on the graphs would be handy.

Why? The vertical lines are five minutes. I think that would just make
things more cluttered.

> Stats would be handy. The obvious things are deepest, coldest, longest
> dive and accumulated dive time. Then showing distributions of dives,
> like how many were between 0-20, 21-40, 41-60; or how many were under
> 31F, between 31 and 40, 41 and 50, 51 and 60; and how long was the
> dive 0-10, 11-20, SAC rate could be another distribution and so
> on. The bell curves could be interesting.

Not high on my priority list, but definitely a feature we would take

> 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.

:-(

> Mouse-overs on stats, graphs and profile might be able to update a
> tool-tip or status bar with the detail for that point in the chart,
> curve, or profile.
> 
> Since stats are used, it might be handy to include a starter balance
> for those who don't have the older dives electronic. A balance forward
> config with deepest, coldest, longest, number of dives not logged
> might be nice for some (like me) to at least keep track.

We already allow that for dive numbering - so doing this for other
values seems reasonable

> > I definitely have adding more complete equipment tracking on my todo
> > list - I have just been distracted with creating the project website
> > and a few related infrastructure issues.
> > 
> > Can you describe what exactly you would like to see in tracking
> > "buoyancy, weighting and SAC rates"?
> 
> I change between wet suit, dry suit, dry suit undergarments, back
> plate and tanks enough that I have to calculate buoyancy at times and
> I sometimes guess wrong. So I track that equipment per dive on paper
> now. My log sheet looks like this
> http://vanostrand.com/sites/www.vanostrand.com/files/divelog-front.svg. The
> important part to me is weight where I list what I used in lead, how
> heavy the backplate I used, how much ankle weight, and a couple spots
> for "other". I have a friend who is extremely sensitive to trim and
> cares about where on his body the weight is put. So for him it could
> be trim weight, belt weight, tank strap weight.

Interesting idea.

> 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?

 
> 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? 

> 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.

> 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.
 
> 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.

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.

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.

/D


More information about the subsurface mailing list