Primary Navigation

Skip Navigation







pdc2008

Developing for Microsoft Surface













/* Video player
-------------------------------------------------- */

html.embedded
overflow: hidden;


html.embedded body.hasVideo
height: 100%;
width: 100%;


.playerContainer
clear: both;
font-family: segoe-ui_normal, 'Segoe UI', Segoe, 'Segoe WP', Tahoma, Verdana, Arial, sans-serif;
height: 100%;
position: relative;
width: 100%;


.playerContainer a.playButton
background-color: #000;
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
display: block;
height: 100%;
position: relative;
width: 100%;


.playerContainer a.playButton:before
content: "";
display: block;
padding-top: 56.25%;


.playerContainer a.playButton:active,
.playerContainer a.playButton:hover
text-decoration: none;


.playerContainer a.playButton .caption
background-color: rgba(0, 0, 0, .75);
bottom: 0;
color: #fff;
display: block;
font-size: 1.1rem;
padding: 2% 4%;
position: absolute;


body[dir=ltr] .playerContainer a.playButton .caption
left: 0;


body[dir=rtl] .playerContainer a.playButton .caption
right: 0;


.playerContainer > .playButton > .play
display: block;
font-size: 0;
overflow: hidden;
padding-top: 56.25%;
position: absolute;
text-indent: -9999px;
top: 0;
width: 100% !important;
z-index: 9;


.playerContainer > .playButton > .play:before
background-color: rgba(0, 0, 0, .5);
border: 2px solid rgba(0, 0, 0, .2);
border-radius: 8px;
bottom: 0;
color: transparent;
content: "";
cursor: pointer;
display: inline-block;
height: 16%;
left: 0;
margin: auto;
position: absolute;
right: 0;
text-indent: -9999px;
top: 0;
transition: background-color 200ms ease 0s;
width: 9%;
z-index: 10;


.playerContainer > .playButton:focus > .play:before
outline: 2px solid #004e8e;


.playerContainer > .playButton > .play:after
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABjCAYAAABkDAWWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAv5JREFUeNrsnUFHRFEUx1+j79KqVUTMZ6hVHyNaRbSKaBURwxCpbZtapZZFm2ZTq2jVKiIihsh0nrlHw9Q0b+bdc+655//jr1TE/c315v3f3Htner1eQdxRNilXBRClEb4uUC4p15QmhkVeANMMEs4o8xgeeQHMMuWeckyZwzDFYyZcA3oj/uaLckTZpjxjyOQFMJ+UNmWH8oKhkxfAdCkHlF3KG4ZQXgDzTtmn7IXvgbAA5i3MhhblA0MqL4B5DRfqdrheAGEBzHO4UB+Gd1BAWADzFGbECYZZRwDzEEScYrh1BDDnlK0gBPxTRcQA9YbyDBgE9YayAMZ9vaEtgHFbb6QigHFXb6QmgHFTb6QqgMm+3khdAJNtvWFFAJNdvWFNAJNNvWFVAGO+3mgYfwGZrzesz4BBTNYbOQlgTNUbOQpgTNQbOQtgkq43PAhgkqw3PAlgkqo3PApgkqg3PAtgVOsNCPhBpd6AgGFE640GxnsI0XoDM2A00esNCBiPaPUGBFSj9noDAiajtnoDAqZj6noDAuph4noDAuqlcr0BAXEYu96AgLj8W29AgAydol9vXECALreUDcoN/wBdkCxLRX83mnJroEXMAH1amAE6lH3SGmV9FmOhcsNW3ieUvVIBAXIDz5VFd/AXECBzH1C+/fy1K4IA5TthCKiXyl0QBNR7ca3chkLAdEz9PAACJqO2J2IQUI3anwlDwHhE+1QEBIwm+ueCIOBvTsIr/jHmP4GAYfDZUMXaYJWyUgiuO8YMUF4f4FlAEitkPApIao2YJwFJrpL0ICDpdcI5CzCxUj5HAab2ishJgMndUnIRIFIbQIBybYAqQrk2wAzIcNdEKwKy3Tc0dQHZ75ybqgA3e0enJsDd7umpCHB7foC2APcnaGgJwBkyigLM1gbWBeAcMaUqIpvawNoMwFmSSgJwmqqSAJwnrCQAJ2orCcCZ8koC3NYG2gLc1wZaAlAbKApAbaAkALWBkoByJ6fNYmBHJyAjoBMG/gpDIsu3AAMA8Y+rQ0L9JYAAAAAASUVORK5CYII=');


.playerContainer > .playButton > .play:after
background-position: right center;
background-repeat: no-repeat;
bottom: 0;
content: "";
display: inline-block;
left: 1.3%;
position: absolute;
right: 0;
top: 0;
width: 4.5%;
height: 16.215%;
margin: auto;
z-index: 11;


.playerContainer.noVideo > .playButton > .play:before,
.playerContainer.noVideo > .playButton > .play:after
display: none;


.playerContainer > .playButton > .play:hover:before
background-color: rgba(0, 0, 0, 0.9);
color: transparent;


.playerContainer .progress.circles
background-color: transparent;
border: none;


.playerContainer .videoContainer
background-color: #000;
display: none;
height: 100%;
width: 100%;


.playerContainer video.Player
height: 100%;
width: 100%;


.playerContainer .videoContainer.fullscreen
height: 100%;
left: 0;
overflow: hidden;
position: fixed;
top: 0;
width: 100%;
z-index: 9999;


.playerContainer ul.mediaformat,
.playerContainer ul.mediacaptions
display: none;


.playerContainer .videoContainer .error
background-color: #464646;
color: #fff;
padding: 40px;
vertical-align: middle;


.playerContainer .videoContainer .error a,
.playerContainer .videoContainer .error a:hover,
.playerContainer .videoContainer .error a:focus
color: #ffb20b;


.playerContainer .error h3
font-size: 120%;
margin-top: 1.13rem;



.playerContainer .iframeContainer
background-color: #ddd;
clear: both;
padding-bottom: 56.25%;
position: relative;


.playerContainer .iframeContainer:before
background-image: url('/assets/images/ch9Icons.png?v=6');
background-position: -138px -251px;
content: '';
display: block;
height: 35px;
left: calc(50% - 18px);
opacity: .7;
position: absolute;
top: calc(50% - 18px);
width: 35px;

-webkit-animation: spin 1.5s linear infinite;
-moz-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;


@-moz-keyframes spin 100% -moz-transform: rotate(360deg);
@-webkit-keyframes spin 100% -webkit-transform: rotate(360deg);
@keyframes spin 100% -webkit-transform: rotate(360deg); transform:rotate(360deg);

.playerContainer .iframeContainer .playerIframe
height: 100%;
position: absolute;
top: 0;
width: 100%;


.playerContainer .noVideo_region
background-color: #ddd;
padding: 65px 40px;



body
margin: 0;
padding: 0;





Play Developing for Microsoft Surface















Sign in to queue










More episodes in this series






pdc2008


Windows 7: Empower users to find, visualize and organize their data with Libraries and the…


Windows 7: Empower users to find, visualize and organize their data with Libraries and the Explorer

pdc2008


Windows 7: Introducing Direct2D and DirectWrite


Windows 7: Introducing Direct2D and DirectWrite

Related episodes






pdc2008


The New COM API for Accessibility and Automation in Windows 7


The New COM API for Accessibility and Automation in Windows 7

pdc2008


Microsoft .NET Framework: Declarative Programming Using XAML


Microsoft .NET Framework: Declarative Programming Using XAML

pdc2008


Windows 7: Writing World-Ready Applications


Windows 7: Writing World-Ready Applications

pdc2008


Windows 7: Best Practices for Developing for Windows Standard User


Windows 7: Best Practices for Developing for Windows Standard User

pdc2008


Windows 7: Using Instrumentation and Diagnostics to Develop High Quality Software


Windows 7: Using Instrumentation and Diagnostics to Develop High Quality Software

pdc2008


WPF: Data-centric Applications Using the DataGrid and Ribbon Controls


WPF: Data-centric Applications Using the DataGrid and Ribbon Controls

pdc2008


Windows 7: Deploying Your Application with Windows Installer (MSI) and ClickOnce


Windows 7: Deploying Your Application with Windows Installer (MSI) and ClickOnce

pdc2008


SQL Server Compact: Embedding in Desktop and Device Applications


SQL Server Compact: Embedding in Desktop and Device Applications

pdc2008


Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and Code


Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and Code

pdc2008


Windows 7: The Sensor and Location Platform: Building Context-Aware Applications


Windows 7: The Sensor and Location Platform: Building Context-Aware Applications





The Discussion








  • User profile image

    nesher


    How to download this video? Silverlight video stream is dead slow and buffers after every second Sad



    Last modified Oct 28, 2008 at 1:42PM







  • User profile image

    nesher


    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 http://www.codeplex.com/MultiTouchVista to download the bits. There is also a quick video tutorial of how to build your own application.

    Also visit NUIGroup forum (http://nuigroup.com/forums) to communicate with other people who is interested in "changing the world" Wink



    Last modified Oct 28, 2008 at 3:55PM







  • User profile image

    acuis



    nesher,


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






    Last modified Oct 29, 2008 at 5:20PM







  • User profile image

    rlevy



    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 surface.com), 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!






    Last modified Oct 30, 2008 at 12:19AM







  • User profile image

    nesher


    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?




    Last modified Oct 30, 2008 at 5:09AM







  • User profile image

    tmustain


    Click the Downloads link just above the comments Smiley



    Last modified Oct 30, 2008 at 5:04PM







  • User profile image

    rlevy


    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.



    Last modified Oct 31, 2008 at 10:45AM







  • User profile image

    alan.le


    Hi,


    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.


    Thanks,

    Alan



    Last modified Oct 31, 2008 at 1:06PM







  • User profile image

    nesher



    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?






    Last modified Oct 31, 2008 at 1:25PM







  • User profile image

    alan.le


    I figured out the regex used in the video.

    [</]ListBox)[> ]


     


    1s:Surface2






    Last modified Oct 31, 2008 at 1:34PM







  • User profile image

    SvenV


    Great video. I created a synopsis on my blog:Developing applications for Microsoft Surface isn’t that hard



    Last modified Nov 01, 2008 at 4:28AM







  • User profile image

    tiagonmas


    Hi! The regex used was built from:

    1.     Find all important control instances (excludes app-defined styles):  [</]ListBox)[> ]


    2.     Replace with Surface version:   1s:Surface2






    Last modified Jan 30, 2009 at 3:17PM







  • User profile image

    kiriappeee



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






    Last modified Sep 27, 2009 at 10:12AM



Add Your 2 Cents






























Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

政党

天津地下鉄3号線