Yearly statistics update

Doug Junkins douglas.junkins at gmail.com
Tue Mar 5 16:18:56 PST 2019


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-statistics-by-dive-depth.patch
Type: application/octet-stream
Size: 5846 bytes
Desc: not available
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20190305/5f84d259/attachment.obj>
-------------- next part --------------


> On Mar 5, 2019, at 10:25 AM, Doug Junkins <douglas.junkins at gmail.com> wrote:
> 
> As long as we don’t call it Subsurface X...
> 
>> On Mar 5, 2019, at 9:56 AM, Dirk Hohndel <dirk at hohndel.org> 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 <douglas.junkins at gmail.com> 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
> 
> 



More information about the subsurface mailing list