The article I talk about is this one.
The message (or at least what I took away from it):
Apples API is tempting to use but will most likely produce unrealistic and unnatural behaviors of you animation.

The main problem lies in the fact that you have to specify a duration and values like the initial velocity or the spring damping.
If you imagine a spring, you will find out that it has parameters (specified by geometry and the material) that you can't influence (damping) and others that you can affect (like the initial velocity).
However, the key is: You can not influence the duration, whilst the API requires you to specify it.

This will result in an over- or underdamping as you can see in the picture above.
You will most likely agree that it looks kind of wired.
Mike Rundle (the author of the mentioned article) suggests
If your element is moving 100px across the screen, and you choose a damping of .3, the only way to figure out the true duration of the movement is to do math on your own. If you just plug in a random duration, the feel of the entire animation will be off.
So we have two ways to solve our misery:
- We could calculate (well or just trial-and-error) the
durationvalue - We use
UIKitDynamicswhich takes a little more effort to set up but will give us a lot more natural spring animation (by using theUISnapBehavior).
I would love to hear at WWDC 2015 that Apple has updated their API to not require the duration value at all.
But until then we have to be contented to use one of the above suggested solutions.