This post has been in a draft version for a couple of months now, so it´s time to publish..
So this year I have worked with some exciting technologies, including iPhone development, Microsoft Surface Table and now I’m investigating the IPad (which I owe :). They have in common: multitouch screens, taking the user experience to the next level, it is easy and intuitive to use, making it possible to create visualizations of data with added value for the users. And this is the main reasons for why I think this is such an exciting area to work with, together with investigating new technology ;) .

surface1

Surface table

Earlier this year we got or own Surface Table in our office at work, and I had the pleasure of playing with it for a while. This technology is not completly new and it has exsisted for some years now.
From Microsofts own site: Microsoft Surface is a revolutionary multi-touch computer that responds to natural hand gestures and real-world objects, helping people interact with digital content in a simple and intuitive way. With a large, horizontal user interface, Surface offers a unique gathering place where multiple users can collaboratively and simultaneously interact with data and each other. Surface table has some differences compared to a normal touch screens, it can read “tagged” objects and have multiple (52) touch spots which make a true Multi user experience and users can work together simultaneously. Another difference is of course that it is not only a screen, but a table standing on the floor where people can gather around. It has a 360-degree user interfaces having the content appear correctly for everybody.
The screen is a 30-inch XGA DLP® projector and the table is heavy ( almost 100kg!). The resolution is 1024 x 768px, which is the only thing that didn’t impress me..
The surface is really just a computer which runs Windows vista, so to develop applications you use .NET (WPF or XNA). This makes it easy for .NET developers to get started to play with it. To develop you can download a Surface Client, which is a simulator, but it can only be installed on Win Vista. I developed directly on the Surface, just connect a monitor and you use is as it was a computer and do your developement in Visual Studio as normal.

bytetag-0-x00

This how a standard byte tag looks like. Surface can recognize this identity tag. It is possible to make your own tags according to certain spesifications

You need to setup and get to  know the Surface SDK which includes the APIs, documentation, and tools to help you develop Surface touch-enabled applications. The core functionality of the sdk is the ScatterView and serves as a useful starting point for understanding how it works. To make some object move, rotate or resize you use the ScatterView control and add scatterview items containing your objects. It’s so simple, and you have already made a cool demo in no time!

I created a small simple demo app, which is a whiteboard with virtual sticker notes, which can be added and moved around and written to by the using the virtual keyboard. It can be used for project planning and so on. I also made a simple log in where employees can unlock the notes and edit information by entering his employe card upon the table (with a tag sticked to it for identifaction). I have a video showing this demo app and the source code, but I can´t find  it at the moment, because it has been some months ago since I worked with it. And end of story is that the table just a while ago somehow managed to get broken, someone slipped it onto the floor? Well it was not me, so it seems like there will not be any more development soon..

p1000830

Surface demo app. Wish I had better photo or video