Collecting cross-device gyroscope data with lastdab.com

February 19th, 2018

Collecting cross-device gyroscope data with lastdab.com

When we developed lastdab.com we faced a serious cross-device problem, when trying to get the maximum possible value of the accelerometer in users smartphones. For calculating the "Dab-Score" we simply let the user shake his phone and compare his maximum reached accelerometer value with the maximum possible value this device can achieve.

The problem...

... is, that kind of every device uses a different gyroscope/accelerometer chip and therefore has different maximum values. We found a plugin that should return consitent values across devices. Unfortunately we didn't get the intended cross-device values and didn't find any other solution online.

Our solution

Before launching lastdab.com, we manually found out some maximum accelerometer values by shaking our own devices as hard as we could and gathered the following starting values: iPhone:79, Nexus5:20

When going live, we saved all the users device names and their achieved accelerometer values in our database, looked for maximum values at each device and updated the list that calculates the "Dab-Score".

The final output

After collecting around 2.000 data-sets, we got a precise table of device names and it's maximum accelerometer values. We actually needed this data for our Red Bull Soundclash project, where users should "turn-up" with their smartphones in order to show their fan-crowd-skills.

Here are the maximum accelerometer values from most common devices:

"iPhone" : 79,
"Nexus 5": 20,
"Nexus 5X": 40,
"Nexus 4": 20,
"Nexus 3": 20,
"Nexus 6": 39,
"Samsung": 39,
"Galaxy S7": 78,
"Galaxy S7 Edge": 78,
"Galaxy S6": 39,
"Galaxy S6 Edge" : 39,
"LG": 74

Live Cross-Browser Speech Recognition in Node with socket.io & Google

A Playground.

Live Cross-Browser Speech Recognition in Node with socket.io & Google

Transparent Video Buffer

A code collection of different approaches.

Transparent Video Buffer