Microsoft Research

Although it might not seem like it Microsoft is really along way ahead of nearly all the other major tech companies. But no one really gets to see their cool stuff because it takes place in their research centres and doesn’t always make it into consumer products. Below is a collection of videos from Microsoft Applied Sciences Group, an department that helps bring Microsoft’s ideas to life and have worked on projects such as MS Surface and Project Natal (Xbox Kinect).

Street Slide – 2010

A further implementation of a mapping service similar to Google’s Street View.

First MS Surface demo – 2003

A large multitouch surface computer with finger tracking and object recognition.

MS Surface transparent puzzle pieces – 2004

Using IR tags to track position and rotation of objects

Transparent Projection – 2004

Projecting onto water vapour.

Warp Pointer – 2005

Cursor control with a hand held device similar to the Wii remote.

Sourced from:

WiiFFiti – A WiiFlash experiment

Recently I have been experimenting with WiiFlash – using a Wii remote to control Flash. Below is a video of my first test app. It is a spray painting app like the WiiSpray though obviously not at featured. I will make the Flash projector file available soon.

Update 2-6-2012:

Get the app here. Note that this requires the WiiFlash server to also be running (

Controlling MovieClips with WiiFlash

I decided to learn how to use WiiFlash after seeing the WiiSpray and a number of other videos a while ago. Turns out it is surprisingly easy! The only problem I had was trying to get a MovieClip to move around the stage as a mouse… I couldn’t find anything anywhere that clearly expained how to do this. Then I found that you can access the raw point data from the sensor bar through properties such as:
[code lang=”actionscript3″]
wiimote.p1.x; // x position between 0 and 1
wiimote.point1; // Point object with x and y values
So below is what I came up with. Very simple although with no smoothing but it still seems to work pretty good. (I hope it works because I am writing this from memory!)
[code lang=”actionscript3″]
var myWiimote:wiimote = new wiimote();

//note: Box is a symbol in the library
var box:Box = new Box();
stage.addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void
//my x values were reversed so I multiplyed it by negative stageWidth and then
//subtracted from normal stageWidth to get a value on stage.
Box.x = stage.stageWidth – (myWiimote.p1.x * stage.stageWidth;
Box.y = myWiimote.p1.y * stage.stageHeight;
The main problem that I came across was Flash getting (i think) confused between the two points on the sensor bar, so I covered up one of the LEDs and it worked great.

Soon I will post up an example if a simple Wiimote Grafitti app I made, inspired by WiiSpray.