I like to move it move it
Software roundup: build a Kinect-controlled web app
Despite
being written off by most hardcore gamers as a gimmick, Microsoft’s
hands-free game controller Kinect is already being used for
more than just games. And with over 18 million units, it’s more
widespread than you might think.
Thanks to the emergence of a range of browser plugins over the past two years, building cross-platform Kinect apps is easier than ever, since all that’s needed is a basic grasp of JavaScript. Here’s a roundup of what’s on offer.
The commercial options
If you want a well-documented, cross-platform toolkit for your Kinect web app, open source isn’t really an option right now. However, you don’t need to spend much to be able to use either of the two big commercial options, Kinesis and Zigfu.
If you’re trying to choose between the two, Kinesis is probably easier to get started with, while Zigfu seems to be a more practical solution if you want to reach a bigger audience.
Kinesis
is pretty impressive stuff. As well as an SDK allowing standard
JavaScript to be used to control full apps, it comes with a Kinect
simulator (negating
the need to leap about the room while testing apps) and a library
of UI elements for rapid prototyping.
In addition, thorough documentation and clear tutorials make Kinesis fairly easy to jump into. Oh, and if that wasn’t enough, there’s a “native app launcher” is in development which will presumably act similarly to Fluid.
The only issue is that your end users also need to register their email address and install the SDK to run apps - why Kinesis doesn’t offer a consumer-friendly plugin, we’re not sure. On the upside, Kinesis is free while still in beta so there’s no reason not to have a go.
Zigfu
is another promising commercial option, but with support for
Unity3D (and Flash “soon”) in addition to JavaScript, it could be
useful for Kinect-controlled browser-based games. Users need to
download a single browser plugin compatible with Chrome, Firefox,
Internet Explorer and Safari.
Documentation is a little thinner on the ground than Kinesis, but
there are some great examples, such as a player-tracking
‘radar’ app built with just 40 lines of JavaScript. Though you
can create “watermarked” trial apps for free, commercial developer
kits cost upwards of $100 for each domain per year
The open-source options
So far, there are three Kinect-browser projects which have been open-sourced, mostly built by students. Unfortunately, this means that many are either unfinished or not much use for mass consumption - but of course you could always jump in and fork your own versions!
The most active open-source option available is Intrael, which installs onto a server to provide an HTTP interface for Kinect. Though this solves cross-browser issues, it also means it’s not really a consumer-friendly method of delivering a web app.
That said, at least it’s being actively worked on - it was
contributed to as recently as yesterday, so should stay fairly up
to date.
DepthJS emerged from MIT Media Lab in 2010 to
some fanfare, but its developers have been remarkably quiet
since. Although the promotional website is looking a bit unloved,
the github
repository was last updated in March, so perhaps there’s still
hope.
Since DepthJS is progressing so slowly, and currently only supports
Chrome and Safari - the latter needing both a plugin and an
extension - it’s more of an interesting experiment than a genuine
option for your web app.
Of course, if you’d like to see DepthJS become a legitimate option,
you could always contribute...
Here’s another project that hasn’t quite taken off the ground.
YouTube videos show some promising applications, such as a Kinect-controlled 3D
map, but despite being presented in February the source code
hasn’t been updated in three months.
It’s a shame, because Pantelis Kalogiros’ project needs only a
single application - in addition to the Microsoft Kinect SDK - to
interact with both Chrome and Firefox. Again, with the source code
available on
github, and consisting of just client-side JavaScript and an
Adobe AIR app, you could always have a go at improving it
yourself.
Ps. Our friends over at JAXenter tell us that you can also use Kinect in Java-based applications using Jnect, which can even access the device’s speech recognition functions.
Follow us