Developing for Microsoft Surface

Play Developing for Microsoft Surface
Sign in to queue


This session introduces the newly available Microsoft Surface SDK. Hear about the unique attributes of Microsoft Surface computing, dive into vision-based object recognition and core controls like ScatterView, and learn how the Surface SDK aligns with the multi-touch developer roadmap for Windows 7 and WPF. Additionally, learn how you can become a part of the expanding partner ecosystem for Microsoft Surface and leverage your existing investments in WPF and Visual Studio to build engaging end user applications. Attendees of this session will receive access to the Microsoft Surface SDK.
  • Robert Levy
    Robert Levy has led the design development of the APIs and controls in the Microsoft Surface SDK. He has been on the Surface team for over two years. His previous projects at Microsoft include the SDKs for Windows Mobile 2003 SE and Windows Mobile 5.0.
  • Brad Carpenter
    Brad leads SW Platform Development efforts for Microsoft Surface, including the development of the sub-system, Shell, and SDK. Previously Brad was General Manager in the Unlimited Potential group, developing Windows solutions & business opportunities to provide computing & information access for people in emerging economies. Previous to that, Brad was Director of HW & Driver Quality for Windows, responsible for device & driver coverage; development of driver development tools; overseeing WHQL & WinHEC; and partnering with the industry to fix blue screens. Brad started on LAN Manager in 1991, moved to work on Windows 95 and subsequent versions of Windows.



Right click to download this episode

The Discussion

  • User profile image
    How to download this video? Silverlight video stream is dead slow and buffers after every second Sad
  • User profile image
    If you interested in NUI technology, but for any reasons don't have access to Surface you can look at MultiTouchVista project on Codeplex. It is open source project that is similar to Surface SDK. It also has a device abstraction layer, so you can implement your own "input provider" to support your hardware.
    Just visit to download the bits. There is also a quick video tutorial of how to build your own application.
    Also visit NUIGroup forum ( to communicate with other people who is interested in "changing the world" Wink
  • User profile image


    Is this an official comment from Microsoft?
    Is the MultiTouchVista SDK project the same as Microsoft Surface SDK?

    Can someone tell me where we can get a hold of the Sruface SDK. We were told we'd get it at the PDC this year...

  • User profile image

    Hey acuis - MultiTouchVista is not affiliated with Microsoft or Surface

    The Surface SDK is being given to those who either attended our session or complete one of our 3 hands on labs (which will be open tomorrow).  Also, if you were to order a developer Surface (order forms are now on, each one comes with 5 SDK licenses.

    Please come by our booth in the Big Room tomorrow if you've got any more questions or want to chat!

  • User profile image
    Hi acuis,
    No, MultiTouchVista SDK is not Surface SDK. Sorry if I made you think so.
    What I wanted to say is that MultiTouchVista is a class library that will allow you to develop multitouch application. It has API like Surface API.

    -rlevy, great session!!!  I wish I could be there. Sadly you didn't showed how to use Vision system. Is it possible to develop custom tags?

  • User profile image
    Click the Downloads link just above the comments Smiley
  • User profile image
    We have APIs which expose the raw image reported by our cameras at ~60FPS.  You can get this and process it however you like.  The very first demo we did in the PDC session was showing an SDK sample which gets this image, flips it, and renders it on the screen.

    For tags in particular though, the 2 types we provide out of the box (8-bit and 128-bit) are sufficient for most needs.
  • User profile image

    What is the regex used in the video to replace the instances of the standard WPF controls to the Surface equivalents? That was really slick.

  • User profile image

    Can I ask why are there 5 cameras and not 4? Because it is simple to divide rectangle in 4 parts, but not 5.  Is there any special purpose for 5th camera? Or they are all equal?

  • User profile image
    I figured out the regex used in the video.

    {[</]}{(Window|Button|ScrollViewer|ListBox)[> ]}



  • User profile image
    Great video. I created a synopsis on my blog:Developing applications for Microsoft Surface isn’t that hard
  • User profile image
    Hi! The regex used was built from:

    1.     Find all important control instances (excludes app-defined styles):  {[</]}{(Window|Button|ScrollViewer|ListBox)[> ]}

    2.     Replace with Surface version:   \1s:Surface\2

  • User profile image

    im a lil confused... i definitely cant afford a surface.. so i was using the simulator.. with mouse.. how come it doesnt behave like its real life counterpart? i thought the pictures would slide across the "surface" like it did in this video... can someone redirect me to a place where i can figure this out? even here is cool if its ok with the head people...

Add Your 2 Cents