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).
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.
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.
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
Comments
Anonymous
October 23, 2008
PLEASE can you include all of your blog posts in your RSS feed rather than just the first paragraph? I want to read it in my reader, not have to click-through here.Anonymous
October 24, 2008
Agreed on jamiet's comment. Full content in the feed would be nice. For what it's worth, I don't do my Surface development the way you describe above. I have VS, Blend, etc running on my laptop. In VS, I create new build configurations called "Debug on Surface" and "Release on Surface." Those output the project to a shared folder on Surface, run it on Surface, and use the VS remote debugger for debugging. Works great, I don't have to install anything on Surface, and I can work on projects from the coffee shop by switching to the standard "Debug" build profile and using the simulator.Anonymous
October 24, 2008
Love the stories, gives great insight into what you do and how things work, keep them coming! How do you transport the surface for demos? No plans for a smaller laptop driven device for easy of travel?Anonymous
October 24, 2008
re: RSS excerpts. I'm not sure how to make that happen with the software we're using, but I'll poke around and see what I can find... good feedback! re: Remote debugging. Yeah, some folks here do that as well. Eventually I'd like to see that become the primary configuration because of the flexibility you describe, but it can be pretty cumbersome to set up right now depending on various factors like firewall settings. re: How we transport. Great question! I can work on a post about that. You'll want pictures though. Tomorrow, 18 Surfaces are arriving at the LA convention center - I'll ping the crew there and see if they can get some good "unboxing" snapshots.Anonymous
October 27, 2008
The unit is actually quite portable and easy to ship. It comes palletted with extras of everything needed to port to another location (including the largest static bag ever made :) ). We have taken ours out twice to expos (it's at the Geeks With Blogs booth PDC in LA this week) and it's worked great.Anonymous
November 26, 2008
Same here, if it is possible to put the whole post in the RSS feed it would be really helpful.Anonymous
February 18, 2009
The comment has been removedAnonymous
February 19, 2009
It's the same as the Surface screen, 1024x768.