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

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

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!

Intrael

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

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...

KinectJS

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.

Elliot Bentley

What do you think?

JAX Magazine - 2014 - 06 Exclucively for iPad users JAX Magazine on Android

Comments

Latest opinions