KinecTunes Post Mortem
Dec 16, 2011 · CommentsA few months ago, I created KinecTunes, a program which utilizes the Kinect to control iTunes.
What went wrong
There were two main issues that I didn’t initially account for:
- Sensitivity to noise: Using the SDK example out of box resulted in the Kinect recognizing a lot of false positive commands. This was a big issue - it would randomly interpret lyrics in music as commands and begin to play a new song! Luckily, each time a command is interpreted, the confidence level is passed as an argument; by requiring 90% (or more) confidence, I drastically reduced the number of false positives to effectively zero.
- Difficulty recognizing voice commands if it is too close to the computer speakers: The same problem occurs when using Kinect with the Xbox due to the TV’s volume being too loud at times. One solution for this (suggested by a user) is moving the Kinect away from any noise outputs as much as possible. Of course, this only helps so much.
What went right
- Design of the program: Utilizing some best practices I’ve been developing at work the past couple of years, I broke the program down into two libraries (Kinect and iTunes) and into two types of programs (command line app and Windows Form app). Because of this, development from concept to publishing on CodePlex only took a few night’s worth of effort.
- Metrics: I was/am very surprised and thrilled by this - as of December 2011, KinecTunes has received over 10,000 views and 700 downloads. The YouTube video I created, with over 2,500 views, was a great idea; I will definitely continue to create them for future programs.
- Recognition: I noticed many Kinect “hacks” related websites popping up and submitted KinecTunes to a few of them. I was thrilled when several of them wrote about me, but the real “woah” moment came when I saw an entry in Google Analytics from “channel9.msdn.com” - one of Microsoft’s web sites! Even the Kinect team tweeted about the app. All of these events helped spread the word about my app and drove more downloads.
- Google Analytics: CodePlex provides some nice metrics out of the box, but by configuring GA for netkow.com, I was able to see where visitors were coming from - such as the Kinect blogs and Microsoft whom wrote about me.
Summary
Developing for the Kinect was easy and fun - Microsoft did a fantastic job creating the SDK and documentation. While to my knowledge no one has forked KinecTunes, the possibility exists that someone could build upon my work, which would be very humbling indeed. I have not received too many bug reports, so I plan to incorporate ways for users to provide feedback from within my applications in the future. Get KinecTunes here!