<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Berthold<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 24, 2019, at 1:01 AM, Berthold Stoeger <<a href="mailto:bstoeger@mail.tuwien.ac.at" class="">bstoeger@mail.tuwien.ac.at</a>> wrote:</div><div class=""><div class=""><br class="">From the comments so far, it seems to me that there are at least four, <br class="">probably more, not completely independent problem fields.<br class=""><br class="">1) The UI. We want a list of dive sites with add / edit / remove / search <br class="">functionality.<br class=""></div></div></blockquote><div><br class=""></div>I think Henrik's proposal could be a starting point. Add country. What else?</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="">2) Dive site fields. Is one GPS coordinate sufficient?<br class=""></div></div></blockquote><div><br class=""></div><div>Linus had posted about this a while ago, and then he and I discussed the idea a little more</div><div>on board a dive boat; let's see if I can recall what we came up with:</div><div><br class=""></div><div>A dive site has one GPS fix. That's the canonical spot where the site is. For example</div><div>for Ulong Channel, you could pick this: <a href="https://goo.gl/maps/DBa6VX1Q8Ey" class="">https://goo.gl/maps/DBa6VX1Q8Ey</a></div><div><br class=""></div><div>A dive is associated with a site, but can also be associated with any number of GPS locations.</div><div>Maybe start and end. Or even a path. So a dive at Ulong channel may have these two GPS</div><div>fixes:</div><div><a href="https://drive.google.com/open?id=1lrEQYMwaqD-ZS5-xDRcy8lNV962ooR80&usp=sharing" class="">https://drive.google.com/open?id=1lrEQYMwaqD-ZS5-xDRcy8lNV962ooR80&usp=sharing</a></div><div>(wow, that took me a while to figure out how to create such a map with two fixes)</div><div><br class=""></div><div>In other words. A dive itself might have no location information. Or include a dive site</div><div>that has no GPS fix. Or a dive site which does have GPS information.</div><div>But ADDITIONALLY, a dive can also have any number of GPS fixes itself.</div><div><br class=""></div><div>The way we decided to do that was that we allow dive strings (under Extra Info)</div><div>with the magic names GPSn to carry that additional information. And that's already</div><div>implemented in the Garmin downloader. So a recent dive of mine included this:</div><div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><divesites></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><site uuid='c31e090c' name='Fan-tastic' gps='-17.316311 177.962188'></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></site></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></divesites></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">And as part of the divecomputer entry:</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">  <extradata key='GPS1' value='-17.316491, 177.962047' /></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">  <extradata key='GPS2' value='-17.316311, 177.962188' /></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div></span></div></div><div><br class=""></div><div>Today we have no UI to edit this information or to visualize this information. But</div><div>we have a way to store it :-)</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">3) Semantics of editing dive sites. Copy on write?<br class=""></div></div></blockquote><div><br class=""></div><div>That should be optional. I tend to think that it makes no sense to have two different</div><div>dive sites in my data that are actually the same site. But others may have a different</div><div>view on this. With the logic explained in (2) above I think it makes sense to have one</div><div>dive site and have variations to entry / exit point stored in the dive. But again, that's</div><div>just my personal preference.</div><div><br class=""></div><div>You could ask "change current dive or all dives at this location?" or something like that.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">4) Synchronization of dive sites between distinct dive logs.<br class=""></div></div></blockquote><div><br class=""></div>That's what Doug was talking about (and others before him). A simplistic version of</div><div>this shouldn't be hard to do - but the devil is in the detail...</div><div>This is something that should be completely separate from the above, frankly.</div><div>And it needs a lot more design discussion (as Doug mentioned).</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="">Since I was planning on integrating the dive site handling into the undo-<br class="">system anyway, I propose that I realize 1) while I'm at it. Since I recently <br class="">replaced dive site UUIDs by pointers I hope that I still have a decent <br class="">overview concerning this part of the code base. But give me a week or two <br class="">(first I want to finish the grunt work of undo of the notes-tab).<br class=""></div></div></blockquote><div><br class=""></div>Cool.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="">For 2) to 4) I'll not interfere, as what we have so far is adequate to me.<br class=""></div></div></blockquote></div><br class=""></div><div class="">I think it would be very nice if you could comment on 2 and 3 above and make sure</div><div class="">that the combination of ideas still makes sense.</div><div class="">The ability to edit extra fields would need to be part of the undo system. A first</div><div class="">implementation could just allow the user to edit the entries as text. And then</div><div class="">maybe someone could connect a map / graphical interface?</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">/D</div></body></html>