Surface A/V for PDC

To date, almost all of the public presentations we've given about Surface have focused on things from an end user perspective... demos showing the cool apps that our platform enables. 

The team has established a solid set of tools & procedures for handling the A/V logistics of those demos.  Plug in a Surface, mount a video camera above it, and hook the composite output from that camera into the room's A/V system.  It's pretty straight forward (though sometime people mistakenly assume that the overhead video cam is what the Surface uses to detect input).

demo setup

For PDC, however, our A/V needs are far more complex than anything we've done before.  In addition to the overhead camera rig to show demos of things on the Surface, we're adding a PC (built into the conference room's podium) for showing some PowerPoint slides.    Where things get tricky though is that we're also spending a bunch of time in the presentation doing live coding demos.  Before I get into that though, let me explain the way you generally do development for Surface:

  • Plug a monitor, mouse, and keyboard into it.  On "developer" units, there is an exposed panel with VGA and USB ports for this purpose.
  • Place the monitor, mouse, and keyboard on a desk next to the Surface.
  • Boot the Surface into "developer" mode.  In this mode, it becomes apparent that we're built on Vista because you get the full Windows experience on the attached monitor.   (In "user" mode, we hide the Windows shell and provide an immersive, Surface-optimized experience.)
  • Run Visual Studio, Expression Blend, or any other tools on the attached monitor.  This is the exact same experience as when using those tools on a standard PC.  The only difference is that when you hit F5 to run/debug a Surface app, it will automatically show up fullscreen on the Surface display.

dev setup

So for the audience at PDC to see us write code for Surface, we need to connect it's VGA port into the room's A/V system (along with the overhead camera and the PowerPoint PC).  Having to frequently switch between 3 inputs is cumbersome enough, but that's not all.  Since Doug (dev lead on the Surface SDK team who will be doing the coding parts of our presentation) needs to see what he's typing.  Ideally, he needs to be able to do that without relying on the ginormous projector screens that the audience will be watching – that would require turning his back to the crowd and make hand-eye coordination challenging.  To handle this nicely, we need to hook a VGA splitter to the Surface’s VGA output and attach that to both the room's A/V and to an extra LCD monitor that we'll put on the podium for Doug.

The Surface team is tucked away in it's own little building outside of Microsoft's main campus.  We have one of the lamer cafeterias but it turns out that we have one of the better A/V systems in our conference rooms.  The setup described above is actually something we've done many many times in our own building for things like hands-on training sessions with new customers.  Never had any major troubles.  When we went over to main campus a couple weeks ago to do our official PDC dry run, we quickly learned that not all conference rooms are as flexible as ours.  The room we were in had just a single VGA input... no way to easily switch between our two VGA outputs and no way to hook in the overhead camera’s composite output. 

What we learned in the dry run is that our presentation is awful when we can’t show what’s happening on the Surface and we have to fumble around with VGA cables to switch between code & PowerPoint. 

We’ve been assured that the A/V system at PDC is fully capable of supporting our needs – in fact they say we’re in one of the better rooms so it has two separate projector screens we can control independently.  But based on how bad our dry run was due to A/V issues, we’re not taking any chances at PDC (or future presentations to dev audiences).  The next day, I went out and got some extra gadgets: a composite-to-VGA converter box for the overhead camera and a remote controlled VGA switch box (4-in, 1-out).  With those, we’ve not got everything we need in a nice kit to travel around with and easily plug in to any room using a single VGA cable.

pdc setup

PS – Let us know if this kind of “behind the scenes trivia” post is interesting.  We've got plenty more to share if you want to hear them 

-Robert