I'm amazed by the performance. I tried on a 4s and it still works smoothly. Making almost anything on canvas is a challenging job but I think it's worth it.
I reminded an animation which I did in the past. I was asked to animate 1000+ points that represents people switching from one place to another. I tried with divs but the result was very disappointing. FPS dropped after 100 divs very drastically so couldn't continue with DOM anymore. Then I've switched to canvas and used Kinetic.js. It has also caching methods so I managed to make it work around 60fps.
Wow, never thought someone would build an entire app in canvas just to get 60fps performance. It sorta works, but also feels a little weird?