I made my first tutorial!
I wanted to cover a topic that several people mentioned they don't get and it's the lack of control over the traditional animation curve (a.k.a. value graph) while animating the position of an object in AfterEffects. Instead we need to use the speed graph which is more confusing. Hope this sheds a little bit of light on the topic.
Here are the details:
When animating in aftereffects we use animation graphs to control and modify the timing of the objects between keyframes.
The value graph
The common animation graph is known as the 'Value Graph'. This is the default graph when we choose to modify the ease in and ease out of a keyframe for things like scale and rotation. (And almost all available parameters in the program).
It's called 'value' because the vertical axis represent actual numeric values for the parameter. The horizontal numbers correspond with the change of frames and seconds in the timeline.
The graph itself is like a bezier curve in vector graphics. The control points are the keyframes and the line between them represents change of value over time. You can make the line straight or curvy by dragging handles away from the points just like in a vector graphics program. This will make the animation more slow - if you drag horizontally, or faster if you drag vertically.
You can do that dragging action on every control points on the graph (each point is a keyframe) for most of the properties.
But why can't I do that on a position keyframe?
However, if you try to manually drag handles away from a keyframe for the position property you won't be able to do so.
Aftereffects doesn't let you do it, because this will actually change the position itself in the timeline, not just the speed of the animation. When we animate position of an object in aftereffects we can see in the main composition stage the actual path of an object with each keyframe marked as a box. To make the animation curvy instead of linear, you can do the same thing within the composition stage – dragging handles away from the keyframe box to define the animation path. Since you have those handles over there, this is what actually defines the movements at every given frame for the objects.
If you were able to change the animation curve for the X and the Y you will also change the position of the object. If you already like the animation and you don't want to ruin it, if you just want to change the timing - making things fast and slow, then you want to have an ability to change the speed without changing the position.
'That pesky speed graph'
So aftereffects gives us another option to change the timing without changing the values. That is why it's called the speed graph – horizontally it is still the same, it represents change over time but vertically you don't change the actual numbers of the property, you're changing the overall speed. The higher the number the faster it is.
You can still drag handles but it doesn't act exactly the same with the value graph. Some animators find this uncomfortable and I agree. It's trickier to make a smooth move of something slowing down and then picking up the pace again - with the speed graph.
You need to pull a handle to the right of the keyframe and to the left of keyframe separately and match them. So I agree it's not the optimal situation but it is necessary so the object's position in the correct spot for the animation.
To make a long story short, not being able to manually change the handles on the Value Graph is built in.
As some people might quip...
"It's not a bug, it's a feature"
to resolve it somewhat, Aftereffects give you the option to work individually on the X and Y, by right-clicking on the word 'position' and choose 'separate dimensions'. When you do that you can work on each axis with the value graph and make your eases, but you will notice that your position change as well and not necessarily in a way that you want.
Other solutions to make eases, aside from the regular shortcuts for the default ease in/ease out/easy ease - you can right-click on a keyframe and pick 'keyframe velocity' ( also Ctrl/Cmnd + shift+K) and give numerical numbers for the ease. There is also several scripts that will do that as well.