Silly problem with dive sites and GPS downloading

Dirk Hohndel dirk at hohndel.org
Mon Sep 24 10:03:02 PDT 2018


> On Sep 24, 2018, at 9:33 AM, Linus Torvalds <torvalds at linux-foundation.org> wrote:
> 
> I'd actually argue that a dive site could be described as an "area",

True. Because our data isn't confusing and inconsistent enough, we
could add a "focus point" plus NW and SE corner :-)

>> (b) a dive itself can be described in multiple ways.
>> (1) Simply by the coordinates of the site.
>> (2) by the entry and exit point.
>> (3) by the path that the diver actually took (turning the whole dive profile
>> into a 3D path).
>> 
>> Today we do (b)(1).
> 
> Yes.
> 
> Except I'd go even further, and say that we could have a fourth case:
> a dive could be described as simply a location, *WITHOUT* having a
> dive site associated with it.
> 
> Because I'd be a lot happier about our divesite handling if we didn't
> force a dive to be associated with a site.

But then it doesn't get a name. The moment you have a name, you
have implicitly defined a site.

> I think a dive site exists independently of any dives. A dive site it
> about having a location, a description, and a name, but is *not*
> defined by you diving it.
> 
> And similarly, you can have a dive without having a "site". Even if
> the dive has a single location, that location may not be a "site".

That part I disagree with. It may not be an "official site", it may not
match some random definition of "site", but a dive with a location
and name has happened at a spot that we should track as a dive site.

> The most common case of that "non-site" case is drift-dives, where you
> might drift between possibly several sites (or drift into or out of
> one).

Yes, this goes back to the earlier argument that a dive site really should 
have three coordinates, but I think we can agree that everyone considers
German Channel a dive site.

> But people literally do blackwater dives too, where you absolutely do
> *not* have a site at all. You're literally just in a fairly random
> location. You're doing it for

Yes, this isn't a Site in the sense of a place that everyone comes back
to, yet your dive happened somewhere... and that's the site where you
went diving.

I think we are going to seriously confuse ourselves if we allow dives
to have location and name independent of a dive site. We used to do
that and as much as I know that you hate where it got us to, we moved
away from that for VERY GOOD REASONS.

> So what I think would be better is that we separate the dive sites
> from the location further.
> 
> For example, I'd love to have a dive site database, but I'd love that
> database to have *NOTHING* to do with the dives I do. It would be
> literally used only to look up names based on the GPS coordinates I
> have.
> 
> If subsurface would take my GPS coordinates, and automatically name
> the location of my dives, that would be really cool. I could still
> edit the name (without editing the dive site database), because many
> of the places I dive, there's a buoy that can take me to several
> different areas just depending on which direction I swim.
> 
> So maybe the divesite database would be "Molokini Crater" for stuff in
> a certain GPS range, and I'd get that automatically just based on the
> GPS info I have (either from the subsurface phone app tracking, or
> from a dive computer like the Garmin that has gps).
> 
> But then I might edit it to say "Enenu'i" or "Reef's End" or
> "Aquarium" depending on which part of Molokini I was diving (ok, so
> the GPS might be able to separate Enenu'i from Reef's End, but when
> moored at the Reef's end site, you do tend to go off in different
> directions and the "sites" have different names).
> 
> So I think it would be much nicer if we just made the dive location be
> per-dive, and stopped associating dives with "sites" entirely. Having
> some nice way to get to a site based on "this is close to your dive"
> would be great, but I think it shouldn't be tied together the way it
> is now.
> 
> Then, if we had a separate dive site database, and you *don't* have
> GPS location, you could just select a site when you edit the dive, and
> that would *copy* the gps information from the site database to the
> dive, but it wouldn't make that hard link (again, you might then edit
> the per-dive data, maybe by just moving the marker around - without
> that having any effect what-so-ever on the divesite database).
> 
> The problem, of course, is that it does require that dive site
> database editor. Which we've never had. Because we mixed up the dive
> location editing with the divesite database.
> 
> But separating out the divesite database would be good for another
> reason: if we ever were to have some external "cloud database" of dive
> sites that people can share, it obviously needs to be separate from
> peoples dives anyway.
> 
> I think we could easily do the separation part, but the difficult part
> is doing that divesite editor (even if it is entirely private, the
> "cloud database" is just a pipedream right now, and has been for
> years)

That's a completely new definition of dive site. You are actually adding
a completely new semantic level. And that is based on how YOU think
about your diving and the places that you dive at.

And since this is how you think about it, it is not wrong. It is just completely
different from what we have today and will need a complete redesign of
how Subsurface operates, how we store data, how the user interaction
works, etc.

If others think that this is the direction we should go and want to
commit to writing the UI, clearly defining the semantic, mapping it
to what we have today, define how we migrate data, setup the
backend service that provides you with the GPS / name mapping,
document all this... that sounds like a great idea.

Another half-assed redefinition of what we do, how we do it,
how we store it, how it's displayed and edited by the user...
that I'm less in favor of.

/D




More information about the subsurface mailing list