While browsing the Garmin forum postings for their latest watch, the Instinct 3, I saw a former Instinct (1) user complain about the poor lap counting both on the old and now on the new watch:
“Pool Swimming lap counting: PLEASE make it better!”
https://forums.garmin.com/outdoor-recreation/outdoor-recreation/f/instinct-3/401629/pool-swimming-lap-counting-please-make-it-better
[…]
“It happens under specific circumstances. In my case, if the swimming pool is crowded and I unfortunately have to slow down, it ends up counting double (or triple) laps”
[…]
“Now I bought an Instinct 3 Solar, and had high hopes this would be better, just to figure out it’s just as bad… I understand the tips (have a clear push from the wall etc [1]), but there is no excuse to not make this algorithm better!”
The poster then goes on with suggestions of how the programmers should enhance the length detection, and it all sounds reasonable enough. Though when also reading the noted Garmin tips, I shiver with the complexity:
“Tips to Improve Accuracy of Pool Swim Activities”
https://support.garmin.com/en-US/?faq=iS2KcmGiVb4djrE1lri8i7
Programming using simple ‘while’/‘if’/‘for’ etc language entries suddenly feels totally inadequate. It seems to be a nightmare of trying to catch the exceptions.
No doubt my own good experience with pool distance counting comes from simplistic circumstances, where I can maintain an even speed without disruptions. Also, my push-offs are always followed by three to five metres of underwater glide. Easy-peasy detection stuff…
I do not envy the coders in this specific counting case. Though, that’s why they are so highly paid 😉