Jun 22, 2013
2 minutes read

Kinomotion is an android app that lets you create cinemagraphs. Take a video, select regions to block motion and export as gif!

I took part in a local hackathon in Bangalore to build this. We had 24 hours to build this from scratch.

Being an ardent OpenCV fan, I thought I’d install the library on my phone and get done with the demo and a couple of hours. I was hoping for some sleep at night as well!

But things don’t always go as expected - things kept crashing because of this OpenCV dependency. After spending hours setting up OpenCV, I decided to switch. The “core” technology here was just some image blending applied over multiple frames. This could be achieved with much simpler toolkits. No need for OpenCV (which is a beast of a toolkit).

I ended up using Android’s native Canvas API to achieve this. This turned out to be a really good decision! The Canvas is hardware accelerated by default - I got insane performance because of this.

I had a prototype to demo a few hours before the demo. I scouted around for some good cinemagraph locations. A few came up:

  • The foosball table
  • Plants rustling in the wind
  • People typing away at their keyboard
  • An auto speeding away while a pedestrian froze in time

I got a few of these and generated gifs of them. And that was my demo - I showed the original vs the cinemagraph. Turns out the judges liked it very much! And I got into the hackcelerator!

Back to projects