Book Review: Kinect for Windows SDK Programming Guide
Recently I received a free copy of Kinect for Windows SDK Programming Guide ebook by Packt publishing for review. I didn't do any Kinect development before, but it sounded interesting to me for quite some time, so having a book to review was a nice motivation to finally get into it. At the same time this allowed me to look at the book through a lens of an experienced developer getting into programming Kinect for the first time.
The book turned out to be a great introduction to Kinect in all aspects. It assumes no prior knowledge of either Kinect or the SDK and even starts out with an explanation of the hardware. Understanding it makes it easier to develop for it later on. Finding all this information elsewhere would've definitely proven challenging and much more time consuming. The section on setting up the development environment surprisingly gives some added value as well. It addresses common issues in a troubleshooting guide and even covers the subject of connecting and using multiple Kinects at the same time, along with the pitfalls to watch out for in this scenario. The author has quite some first hand experience with the subject and it shows.
Most of the book is focused on individual sensors built into Kinect and the APIs for using them. It soon becomes obvious that the book is aimed at novices. It not only explains the concepts behind the SDK classes but at times also delves into the basics of C# and .NET framework as well as WPF when setting up UI in sample apps. While this isn't necessarily a bad thing I did find it distracting and it occasionally made reading the book a bit of a hunt for Kinect related information inside the rest of the sample code. I did like the samples, though. There are many of them and most of the time they make sense on their own and get beyond a basic sample just for the sake of showing a particular feature. Also the accompanying download includes additional working apps with source code that are merely mentioned in the book.
The part of the book that I like the most is about audio processing and gesture recognition. Both of these two subjects are addressed in more depth. For audio processing this means explaining the concepts of speech recognition, and for gestures this is a detailed overview of many different approaches that are possible, starting out with simple ones and leading all the way to neural networks. Don't expect becoming a master of gesture recognition but it will definitely get you going.
All in all this book is a really nice introduction to Kinect programming. It is by no means perfect, most notably because it tries to do too much by making sure total beginners will be able to follow it, but it is a valuable resource, nevertheless. I can recommend it to anyone who is interested in writing his first Kinect application. It might bore you in certain parts but it will certainly save you time in the end.