Here is a quick patch to demo the addition of an “All (by depth stats)” group 
in the Yearly Statistics widget. 

Two caveats:

1) I used asprintf to format the labels for the depth ranges. That works fine 
including <stdio.h> on OS X, but on Linux it looks like I need to define 
_GNU_SOURCE in the source file. For now it is simply warning of an implicit 
definition of asprintf when compiling on Linux.

2) The depth range labels are hardcoded in Meters. I haven’t started figuring 
out how to apply the unit preferences to them. The labels are written into the 
structure in core/statistics.c (same as the trip location and the dive 
mode/type). At some point I think it would make sense to move those into the Qt 
widgets since it is a bit of a hack right now using the *location string to 
label each line in the statistics that is not a year or month.

-Doug

Attachment: 0001-Add-statistics-by-dive-depth.patch
Description: Binary data


> On Mar 5, 2019, at 10:25 AM, Doug Junkins <[email protected]> wrote:
> 
> As long as we don’t call it Subsurface X...
> 
>> On Mar 5, 2019, at 9:56 AM, Dirk Hohndel <[email protected]> wrote:
>> 
>> 4.9 is the next release that I hoped to start working on about two weeks ago 
>> (which clearly didn't happen). Just for context.
>> 
>> If and when we redo the divesite logic (and discussion on this seems to have 
>> fallen dormant again - which could mean that Linus and Berthold are busy 
>> writing code... or more likely that Linus is drowning in Linux merge window 
>> pull requests and Berthold is back focusing on the undo code) that will 
>> likely be a Subsurface 5.0 thing (not that our version numbers mean a lot, 
>> but now that Linux is at 5.0, we need to catch up... just kidding... this is 
>> a fairly significant change…)
> 
> Yeah, I’m watching the discussion in the thread about undo and realize we are 
> a ways away from refactoring the divesite logic.
> 
>>> On Mar 5, 2019, at 9:50 AM, Doug Junkins <[email protected]> wrote:
>>> 
>>> I’m a little late to the game here, but one thing I would like to see 
>>> (besides a way to share divesites between multiple users) is some more 
>>> detailed statistics.
>>> 
>>> The “yearly statistics” are a good starting point, but I would like to see 
>>> my statistics based on things like depth of the dive, water temperature, 
>>> people I dove with, and tags. I also think now that the filter system is 
>>> updated and more usable, the statistics should be based on the filtered 
>>> list of dives (or have an option to display statistics on the filtered 
>>> divelist.)
>>> 
>>> Doing a quick search for “statistics” in the User Forum indicates that this 
>>> is something people would like to see, but it was closely tied to the 
>>> filter update as far as I can tell. If no one else is already working on 
>>> updating the stats widgets, I can take a stab at it.
>> 
>> Statistics are definitely something where I'm open to new categories. We 
>> should make sure we understand how we want to visualize that - another sad 
>> story of me doing a poor job of creating a shared vision with the key 
>> developers and then seeing that implemented.
>> So let's talk about what you want to show and how.
> 
> 1) I see depth and temperature as the low-hanging fruit since they don’t 
> involve the issue with dives having multiple buddies or tags. They would make 
> a good first step since the same logic and visualization that is used to 
> split the yearly statistics into trips and types could be used with depths 
> and temperatures in buckets. Something like 10m buckets for max depth and 5ºC 
> for minimum temperature would make sense. This would provide some nice 
> additional stats with minimum effort.
> 
> 2) Whether to do the statistics on the filtered divelist or the full divelist 
> would be the next question to answer. One option would be to add a menu item 
> below the “Yearly statistics” called “Filtered statistics.” When that is 
> fully functional, it could replace the “Yearly statistics” if we decide it 
> makes sense.
> 
> 3) People and tags could be added next if we can agree on the logic of how to 
> handle dives with multiple people and/or tags. My choice would be that the 
> categorization would be for each person you dove with, even if that means 
> that a dive shows shows up in multiple people’s stats. For example, if I dove 
> with Bob 3 times and Jim 4 times and both Bob and Jim 2 times, the stats 
> would show that I dove with Bob 5 times and Jim 6 times, even though the 
> summary shows I only dove 9 times. The same logic would apply to tags.
> 
> 4) The presentation of the statistics could be addressed later. Some stats 
> lend themselves to a bar chart or line chart presentation. Having a framework 
> for graphical visualization of stats would be useful, but it is probably 
> beyond my capabilities at this point.
> 
> Let me see if I can do a mockup of what I’m talking about for #1 and #2.
> 
> -Doug
> 
> 

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to