Hololens 2 and Kinect for Azure


Microsoft have been busy. And yesterday night they announce what they had been working on, with a new Hololens device and a cloud powered reprise of an old favourite.

The new HoloLens looks lovely. It is apparently more comfortable with the processing power (which is completely contained in the device itself) at the back of the device to improve balance. It also has a neat “flip up” mechanic that makes it easy to get out of the augmented reality it gives you. They’ve also announced a major improvement in the single, principle issue I had with the original device. The augmented display (the computer generated bit that is laid over your view of the world) is now around twice the size of the original, vastly improving your field. of view. Which makes the virtual elements much more impressive. And, as a final flourish, the Hololens now also includes eye-tracking, so the device can work out where you are looking, which should greatly ease interaction and reduce the amount of hand waving you have to do to attract its attention. It looks like another wonderful device that I can’t afford, having a business oriented price tag of around 3,000 dollars.

However, with a bit of luck it might encourage lots of people upgrade, leading to a flood of cut price Hololens 1 devices going onto the market. I wouldn’t mind that at all…

kinect azure.PNG

The second big announcement was of the return of the Microsoft Kinect sensor, at a slightly less eye watering (but still clearly business focused) 399 dollars. I loved the original Kinect senor so much I wrote a book about it. For the second sensor I created the awesome Carbonite machine that used to sensor to make a 3D printable object of you embedded in carbonite. The first Kinect was, at the time of release, the fastest selling peripheral ever. Microsoft had high hopes for its successor, in fact for a while it was impossible to buy an Xbox One without getting a Kinect as well. Unfortunately the device never really lived up to is promise on the home front, and the Kinect sensor was quietly retired a while back.

But industry has always found the KInect very useful, and so Microsoft has brought it back. It has the same depth sensor as the Xbox One version, which is fine by me, but that is paired with a much higher resolution video camera and a bunch more microphones. It’s a great way for generating spacial data that can then be processed in the cloud. I’m really pleased to see it back again, and might even see if I can afford to get one to play with.

3D Selfies to Celebrate Kinect V2 Release

To celebrate the release of Version 2.0 of the Kinect for Windows 2 SDK I printed a couple of selfies of me using my Carbonizer program and changing the filament half way through the print to get a dual colour effect. I'm quite pleased how they came out. I wish I'd kept my head still during the scan so that my features show up a bit better. Then again....

With the latest release of the software we can now put Kinect for Windows apps in Microsoft Store. I might see about a formal release of the Carbonizer program. Microsoft have also announced a new $50 adapter that lets you use your Xbox Kinect with your PC, which is nice. You can find out more here

Rather Useful Kinect Sensor

Every now and then I take a picture I really like. This is a "Kinect's Eye view of the audience this afternoon. 

Every now and then I take a picture I really like. This is a "Kinect's Eye view of the audience this afternoon. 

We had our second Rather Useful Seminar of the semester today. I took along our Kinect 2 sensor and showed the secrets behind "Carbonite Students" among other things. There were two points that I really wanted to get over. One is that the Kinect sensor can do some pretty amazing things. The second point is more important though. I wanted the audience, some of whom were just starting to learn how to code, to appreciate that when we do things with these fancy sensors we are just taking values in, doing something with them and then spitting them back out again. The code I'd written was nothing special really, but it did get some nice audience reactions, which was lovely. 

You can find the presentation deck here.

Put Yourself in Carbonite with Kinect

If you've seen the movie Star Wars 2/5 (The Empire Strikes Back) you'll know that things don't end that well for Han Solo. He finishes up entombed in "Carbonite". Now, thanks to the magic of the Kinect Sensor and 3D printing we can all get the same treatment.

I've written a little program that takes the output from the Kinect Depth camera and renders it into an STL model that can be 3D printed. It uses some fairly simple averaging and filtering and seems to do a perfect job of rendering all of my chins in lifelike detail. Oh well. 

Above you can see the program in action, pointed at my less than tidy office. You can set thresholds for the front and back of the 3D region to be rendered, and also control the width of the printed item and how strong the relief is. You can even take selfies. 

I've popped the whole thing on GitHub, you can find it here

We are going to set the system at the Freshers Party next week so that we can print out little frozen models of all our new students..... 

Update: Rob (great name that) Relyea has pointed out that the Kinect Fusion tool does a great job of capturing 3D objects and will export STL files, It works very well, and the way that you can move the sensor round and add detail is very impressive. You can find it via the sample browser once you have installed the Kinect for Windows 2 SDK.

However,  I wanted to find out just how far you could get with a single sensor and fixed viewpoint. I also wanted to produce solid print ready output very quickly on a large scale, which is what my program does. I'm very impressed that with just a bit of averaging you can get such good results just from the depth sensor. 

Update: We used the system at the First Year welcome party. It worked rather well. You can see some of the prints here.

Kinect for Windows V2

Kinect For Windows.PNG

Oooh. Good news. Just got our notification email that connects us to the Kinect for Windows Developer preview.  I'm a big fan of the Kinect sensor. I even wrote a book about it. 

(do you think that plug is subtle enough).

I saw the new sensor in action a while back and it is awesome. It can't actually read the time off your watch, but it can tell you which wrist you are wearing it on. And it can apparently also read your heartbeat. Which might make it a good zombie/vampire detector I suppose. 

Anyhoo, we should get ordering details soon so that we can get our hot little hands on the hardware.  Such excitement. 

New Kinect For Windows SDK Out


As someone who has had a lot of fun playing with the Kinect Sensor over the years it is nice to see that the SDK is still being developed. The latest version, which has some nifty HTML 5 bits and bobs and some fancy chroma key effects, is now available here:


And of course you can still get my Kinect book here….

New Kinect SDK now out


The new SDK for the Kinect sensor is now available for free download. This brings with it a whole ton of upgrades for those who want to make their computers more aware of their surroundings. There are new sensor modes and all kinds of good stuff. There is also a sizeable gallery of sample programs which you can just play with. This makes it worth a look even if you don’t intend to write any programs for the sensor, but just want to get a feel for the kinds of wonderful things it can do.

The highlight, which I’m really looking forward to playing with, is “Kinect Fusion”. This lets you use the sensor as  kind of hand held 3D scanner. You wave the Kinect around a scene and the program will build up a 3D model of what is in front of it. You’ll need a fairly beefy graphics card in your PC to make it work quickly (it uses the power of the GPU to crunch the scene data), but the results look really impressive. I’m really looking forward to printing little plastic models of me that I can give as Christmas presents…

You can download the SDK from here.

Creating Augmented Reality in Education


Audience shot. Thanks for being a super bunch.

I was up bright and early today. Well, early anyway. The taxi was picking me up at 5:45 to get me to the station for a train ride to London. I was giving a session at the “Creating Augmented Reality in Education” event. By 5:55 the taxi had still not turned up and a panic phone call to the company revealed that the driver was out there in the mist looking for my house. So, I told him where we could meet up and then, pausing only to step in a deep puddle, fill my shoes with muddy water and say a rude word loudly for the whole of the street to wake up to, I headed for the cab.

We made it to the train with minutes to spare and I got there just in time for the first session. There was a great range of stuff, from descriptions of work in Health Training to eye popping demos of flying dragons and Mars Rovers to thought provoking discussion of just how this stuff is going to change the way we interact with computers and also the world around us. The consensus would seem to be that the stuff is coming, it will change our lives, but we don’t quite know how yet. Perhaps our kids will tell us. The sessions were videoed and should be available at some point. Well worth a look.

I did a session on how the Kinect sensor works, and how the data it produces can be used to get interesting behaviours and applications. My finest moment was asking the chap at the back why he was waving a piece of card with the number “3” printed on it. “Because you have 3 minutes left” was the rather sensible reply.

Anyhoo, all the demos worked, and my shoes and socks dried up fine. You can find the slide deck for the presentation here. You can find a more detailed presentation with code descriptions, along with the demo code, here.

Discount Kinect Start Here! with Moo Cards


It’s the other side of the card with the discount code which is the interesting bit….

I’ve always liked Moo cards. In fact I like them so much that ages ago I wrote a “Moo Card Splitter” program that takes images and makes them into a Moo Card jigsaw on Flickr. I’m not sure if it still works. Maybe I’ll make a Metro version that uses the Windows 8 Metro interface that looks like Metro nothing like anything else that doesn’t resemble a rather cool, Metro-esque interface using the Segoe font.

Anyhoo, Microsoft Press like Moo Cards too. Today I was sent a little box full of Moo cards about my new book. (I never get tired of saying “My new book”..). On the back of each card is a discount code that will get you 40% of the paper version of the book and 50% of the ebook. Now, of course, I’d prefer you to pay full price. The book is certainly worth it. But if you want a low cost way of getting hold of “the premier C# Kinect interfacing book written by a tall bloke with a name that rhymes with “Mob Riles” then I can recommend it. I’m carrying a few of the cards in my wallet, so feel free to ask me for your own personal card if you bump into me. Actually, I’d prefer it if you didn’t bump into me, just ask for the card.

Alternatively, email me with the title “I’ve just bumped into you” and I’ll send you a “Virtual Card” with the discount code on the back.

Number 30 in Plumbing and Household Automation


I’ve just received a box containing 10 copies of my new book, Start Here! Learn the Kinect API. This means that the book is actually in the shops and you can all rush out and buy it. I suggest one copy for home, one for work and another for travelling should just about hit the spot. Apparently the ones in the shop are not signed by the author, which makes them a lot more valuable.  And I can categorically state that none of the books contains a “Golden Ticket” which is worth a million pounds and gets you a free tour of the University of Hull campus. Not one. Honestly.

And according to the Amazon Best Sellers Rank (show me an author that says he doesn’t check this and I’ll show you someone telling a whopper) the book is (drum roll):

#30 in Books > Crafts, Hobbies & Home > How-to & Home Improvements > Plumbing & Household Automation

And it is lot of fun.

Book News


Two bits of interesting book news today. O’Reilly are having a special offer on all kinds of great books for the next week, up to 5th July. One of them is my XNA book (the one on the left above). Follow this link to get your hands on this, and any other titles that take your fancy (but buy mine first…)


Also, Start Here! Learn the Kinect API! is coming out soon, I think some folk have already managed to buy a copy. One clarification, just as we went to print Microsoft released version 1.5 of the Kinect SDK. The book doesn’t cover any of the new APIs provided in version 1.5, but all of the content will work fine.

Start Here! Learn the Kinect API has gone to print


I’ve always wanted to produce a book with an exclamation mark in the title. And today it went off to print. Start Here! Learn the Kinect API is the story of one man’s struggle against the forces of the universe and device drivers as he calls forth the inner strength that we all have within us, and uses it to forge a majestic tome that sits easily amongst the greatest of its peers, telling the tale, once and for all, of how mortal developers can write fun programs using the C#,  .NET and the Microsoft Kinect sensor.  The book is now with the printers, and will be in the shops at the end of July.

The book was great fun to write and I hope it will be fun to read. It is interesting that Microsoft have applied for a patent for a gesture based MIDI interface powered by Kinect, and that one of the examples in the book actually tells you how to do precisely this on your PC. I wonder if I can sue them….

Kinect Manager available for download

Kinect Mgr Demo
You’d think I’d look more pleased that it is working…..

Today I finished all the chapters for my upcoming book about the Kinect SDK. As part of the book I’ve made a wrapper class that makes it a little easier to use the classes in the Kinect for Windows SDK. You can use it to start a Kinect running and then bind to events that driver generates when new frames are available. The frame events are processed on a “round robin” basis so that the driver will not get new data from the sensor until it has been processed by your application. This makes it work well even on low performance machines that might not be able to keep up with the events generated by the Kinect sensor. The manager also generates status messages.

You can download the class, along with a program that demonstrates it, from here. For it to work you must have installed the Kinect for Windows SDK from here. And of course you’ll need a Kinect sensor – either the Xbox 360 one or the Windows one will work fine.

Campfire Fun and Games

Campfire Audience

A great audience to die in front of…

Did my keynote session today at Campfire. It was great fun, once I’d got over my nerves and lack of sleep.Pretty much everything worked as it should, apart from my “bomb proof” Kinect driver wrappers blowing up. Oh well. I said I’d put some resources up here for you to take a look at:

Slides and (mostly working) code from the presentations today - here
C# Yellow Book, Windows Phone Blue book and other free stuff - here
.NET Micro Framework embedded development - here
Gadgeteer embedded development -  here
Three Thing Game student madness – here
Windows Phone development - here
Dreamspark, free software for students - here
Microsoft Robotics Developer Studio – here
Kinect For Windows SDK – here

I think that is everything, if you remember something I forgot, let me know and I’ll add it. Once the presentations were over I went for a wander round the city. After some fun and games on the transit I managed to get all the way down to the bay. I took loads of pictures which I’ll play with properly when I get home. In the meantime here are just a couple.



boat Crop

A boat on a building? And why not.

More tomorrow, I’m off to bed now…

The Curse of Kinect


A very patient audience, thanks for putting up with me.

Just completed my Kinect session. Having done lots of tests I then got lots of problems during the demos. But everything worked in the end. For those who were there and wondering what the problem was, I think I’ve found the solution. Sometimes the sensor doesn’t wake up before my update thread tries to use it. Which doesn’t end well. I’ll be putting up a nice long blog post (and some useful code) to address this later.

After I’ve had a lie down..