I am the Creative Director here at Chaos Buffalo Labs; however, I occasionally dabble in programming and get my hands dirty in the code. With Particle Panda, I built the initial prototype of the tool and brought our far more talented programmers in when I wanted to polish everything up, and implement the more complicated features–like building the color wheels used for selecting your effect’s colors. This was my first real hands-on experience using Kivy to build a full-purposed application with extensive use of the .kv language. As an artist and designer with limited programming talent, the combination of Python and the .kv language is perhaps the first time writing computer code has felt like a natural process.
Developing with Kivy feels as if the computer is meeting me halfway with a well-organized and human-readable approach, full of sensible metaphors for almost every type of graphical representation you could possibly need. I never once got bogged down in minutia, and the brilliant implementation of Kivy’s properties meant handling the data and user input was painless. On top of all that, the final result ran pretty well on even my older Android devices (Droid 1 and Asus Transformer). I hope to provide some further optimizations to the particle engine we are using, but all the other pieces function quite well.
I was also surprised that there is little room for complaint on every device and form factor I’ve seen Particle Panda run on. While on some of the lowest resolution devices with smaller screens it might be a bit difficult to grab the exact slider you want, it is still possible with stubborn attention to detail. There was no designing different layouts for various form-factors and screen sizes, every device uses the same exact layout/sizing, and Kivy scales wonderfully to all of them. Kivy is programming for the rest of us: sensible, slick, and worry free; all without sacrificing power or capability.