Agas Map: compromise solution
I think there's some kind of bug in the way that successive animations (particularly if the last of them is ol.View.fit rather than ol.View.animate) are run in the current version of OL, such that the starting point of the final animation is not the ending point of the preceding one, but the previous zoom level. So the effect of zooming out and zooming back in again is to zoom out, but then jump back in to a close zoom, then pan to fit the target extent. That's jarring. I've tried every solution I can imagine, including precompose and postcompose scenarios, setTimeout to postpone the final animation, and many other permutations, but nothing works nicely. So instead I've included a little overview map that shows you where in the main map you are. That's the best I can do for now. When OL has gone through another couple of releases, we'll see if the animations chain better.