Some time ago I stumbled upon this link. It describes a cool algorithm to create a water ripple effect.
So, I decided to give it a go here. But it wasn't very good, performance wise.
So, the other day I was idle and decided to give the code a little brush.
Here's the final version
As you can see, the performance is much better now, since I'm using putImadeData from canvas to draw the final image.
You can check out the code here