— At Surfr we aim for maximum transparency even when stuff doesn’t go as planned. Below an update about our challenge with some of the measured jumps during BAKL Cape Town and how we handled it —
We would like to keep you posted on our work on the Surfr app after the BAKL Cape Town competition. Thanks to all of you we where able to make a giant leap forward when it comes to accuracy and jump recognition. In this little blog we would like to inform you what we did.
A little bit of context first. Since we started Surfr, which is only 2 years ago, we have mainly been focussing on the average kiter / average jumper. People that jump straight up and come ‘straight’ down. For that user group Surfr has been very accurate for a long time already. I personally, Herbert, am this kind of kiter and here you can see some results from a session where I took 2 phones at the same time in Cape Town. I took an iPhone vs a Motorola. Different brands, different operating systems, different budgets, as different as two phones can get. The consistency and accuracy turned out even better than expected and here you can see a session of my little session:
As you can see the different on 18-21M jumps is only in the centimetres, a consistency that is fairly unique.
But YOU are not the average kiter.
Despite the foregoing we experienced some issues during the BAKL Cape Town stop. Most of you might have seen one or a few jumps in your sessions that where measured significantly too low. Jumping 15-20 meters and getting a 5-10 meter score is obviously visible in the live stream and where clear errors of the Surfr app.
What was the problem?
Before we get to the problem let me quickly explain in a simplified form how we recognize jumps. In order to recognize a jump we look for peaks in the phone sensor data. A peak can mean a take-off and the peak thereafter could mean the landing. Here an example from a very basic straight up jump. The first peak is the take-off the second peak is the landing.
Please note that we are showing RAW sensor data here, the curve does not represent the actual course or height of the jump.
The big difference between you, a PRO and the average kiter is the tricks that are pulled off mid air. Big kiteloops, quick/multiple rotations, aggressive/fast movements, big heliloops, e.t.c. These movements are visible in the data by a spike in the data. Below an example of the sensor data where you can see clearly the take-off, one of these ‘movements’ and a landing.
Now, in this chart, the second peak is NOT the landing but it’s a rotation or a heliloop, e.t.c.
Surfr was not dealing with this properly and would often ‘think’ that the jump was landed on peak 2. While in reality the jump was only landed seconds later on peak 3. This was the problem, we called this the false-landing problem in the rest of this article.
Although one might think that we had a problem with the height calculation that was not the actual problem. Having a false-landing would throw the height calculation way off. While the height calculation in itself was and is good, if we input the wrong cut of the data to the height calculation it would result in too low jumps.
Other causes of false-landings
To finalize on this part: False-landings can also happen when the phone is too loose in your wetsuit and bouncing around, or when you accidentally hit the phone mid air with your arm/elbow. In the upcoming competitions we will focus extra on having the phone properly attached to your body. If possible we are recommending to take the phone in your wetsuit instead of in the front-zip, to give more stability to the phone.
How did we solve it?
The good news is that it all came down to one challenge: correctly identifying the end of the jump in case there are mid-air ‘movements’. We optimized the algorithm and tested it over and over again with data we collected from the competition.
We rewatched the whole livestream and took timestamps from every suspicious jump. We looked into the raw data of every suspicious jump and we fixed the false-landing issue.
We repeated a process of testing and optimizing our algorithm over and over again until the last suspicious jump was solved.
We found 16 jumps that where underscored more than 5 meter because of this false-landing problem.
How do we know it’s working now?
During BAKL CPT we recorded ALL raw sensor data on the phones so we where able to re-run the sessions as much as we want. This is 85GB of data which we ‘feeded’ into our algorithm over and over again. In other words: we ‘replayed’ all the sessions to actually confirm that our fixes where working as expected.
Why did we not fix this before?
During previous competitions we didn’t have the functionality in the app yet to store all the detailed data of all the sessions needed to do a full replay of the whole competition. Although we learned a bit from Tarifa and Tatajuba, it was only now that we collected a massive amount of data and we were finally able to resolve the main bulk of the issues.
Is the app perfect now?
No, and it probably never will be. We are aiming for high consistency and high accuracy, where to-low jumps should be very incidental and too high jumps shouldn’t happen at all. So far in competitions we have not seen too high measured jumps which is critical for the way we arrange the prizes and Surfr podium. Obviously we also don’t want too low jumps (because someone could fall out of the prizes), but we really focus on preventing outliers on the upside as well.
Very important to know is that we have the mechanisms in place to detect suspicious jumps, in case they would happen, to get correct podium on the upcoming events for the Surfr prizes!
So, now what!
Now we are extremely excited to be involved with the upcoming Lord of Tram and Full Power BAKL events. With more confidence than ever we are close to certain that we will experience significant less issues than what we saw during BAKL Cape Town. Together we can take this further and better with every competition. So thanks once again for helping us getting there, without YOUR extreme big-air sessions on the Surfr app it wouldn’t be possible to improve the app at all.
What can you do?
Give the latest version a try yourself! It’s already available in the stores, so if you update the app you will be on the latest. We are looking forward for your feedback!