part of the limit of the app's accuracy is the fact that cell phones are bar-shaped instead of round, so even if you have means of balancing the phone on the spindle as it spins, you're going to induce a slight wow effect just by rotating that phone with the platter. if you're just setting it directly on the platter, it's going to be worse (i've observed this directly). direct drives probably won't care as much, but a belt drive with a lightly or moderately weighted platter will most definitely see that extra unbalanced mass swinging around and you won't get an accurate result...
generally speaking (as a former physics lab TA), i would say the app is "precise" in that it can give very similar results (via the speed vs. time graph) every time that you set your phone and the table up the same, but it's "accurate." on two different phones with the same table, the result varied by like 20% (but the shape of the speed curves was the same).