At PDC we announced special pricing for Microsoft Surface. We've now extended that pricing through the end of November. It's a great discount for those developers who got their hands on the SDK at PDC and are now looking to run those applications on the full hardware. See the US order form or go to Surface.com for more information about the product.
I was recently visiting at our Microsoft partner Stimulant. These guys have been working with Surface for a while now, and bring a San Francisco to the mix. The first demo I have is of Tone Grid. Josh says it's a music sequencer inspired by games like Electroplankton for the DS and the fun sequencer TENORI-ON. In a future post, I'll have more video from my trip to Stimulant, including a talk I had with the team about the natural user interface of Surface. Video after the break.
If it wasn't Friday, I don't know what we'd do! We sometimes get a little extra energy and need to let it out. Today was one of those days. After a few watercooler conversations about holograms earlier in the week, we got to thinking. The video below is the result.
I got to spend a few minutes talking with Markus Egger from Code Magazine during PDC. You can listen in on that conversation at the end of their latest podcast: http://www.code-magazine.com/codecast/
Markus also told me that they just got their developer Surface today :) I'm looking forward to seeing what they do with it and having Surface development covered in future issues of the magazine.
-Robert
While at the PDC 2008 showcase, I stopped by the IdentityMine booth to see what they had cooked up on Microsoft Surface and the touch-enabled Win7. There's a great application they created for the hospitality industry that lets you take photos with a digital camera, and wi-fi sync that with Surface. It uses a wi-fi enabled memory card and can operate with several cameras at once. Then you can take the select photos and move them to a bubble that networks the photos to a Win7 enabled big screen to manipulate them with multi-touch as a slideshow. It was really great stuff.
As a bonus, they were showing off an air hockey game which ran on Win7 and another version on Surface which used physical paddles. Both applications were created using WPF in a very short amount of time.
Here is the footage of Andrew and Meaghan showing the creations..
I am finally back in quiet Maple Valley, WA, after spending five days in LA meeting and chatting with developers at wildly successful PDC 2008. I was at the conference to interview as many developers, architects, and other IT professionals as my voicebox would allow.
First, let me say that PDC, as always, was geekdom at its height--and I loved it! I understand that about 6,500 people congregated at the LA Convention Center to learn about Microsoft's latest technologies. IMO, the technology that stole the show was (drum roll...) what else? Microsoft Surface! We had a Hands-On Lab area and it was constantly flooded by folks who took our SDK for a test drive... well, maybe this wasn't exactly like a 'test drive' and more analogous to when Oprah gave away Pontiacs because we sent the developers home with the SDK :)
I would like to thank the (possibly) 100 to 150 people that I personally chatted with at PDC. I met CEOs, CTOs, IT Directors, architects, software engineers, and even one usability engineer! These folks represented countries like Japan, China, Denmark France, Germany, Israel, Argentina, Italy.... just to mention a few. I think you guys walked away with more than you thought you would get :)
I walked away with a few lessons myself and the following are the common talking points when I chat with the PDC attendees about buidling Surface applications for end-users:
1. What solutions you can build is limited to your imagination! We concocted the pixie dust, you as the solution developer, create the magic. (We'll show you a few tricks of course!) Remember that in every magic show, your audience don't need to see the trick swords, hidden trap-door, magnets, etc.! Similarly, your end-users don't need to see the plumbing and complexity.
2. This is not about simply building a single touch-enabled application. As a litmus test, if your users can use your soluton on a simple single touch screen, then you are not leveraging the power that Surface offers. You don't get a sportscar with a V12 engine to go to the grocery store! Think multi-touch, multi-user, and multi-directional UI. Ladies and gentlemen, we are witnessing the beginning of the shift from GUI to NUI (Natural User Interface). (Note: Incidentally, the legendary Dennis Wixon, myself, and a few other eminent researchers are hosting a workshop on multitouch and Surface computing at SIGCHI next year. I'll talk more about this soon.)
3. Think far, very far outside the box. Engage designers and other creative professionals to brainstorm your solution. Go extreme. Go far. Go crazy. You don't want your users to think that you solution is cool. That is so 2007. You want your user to go "this is amazing!" when they interact with your solution.
4. Let us know what you want! As you work on your solution, tell us what you want. Tell us what you like and what you don't like. Microsoft understands that in order for our software development technologies to be successful, the developers who use them have to be successful. This is no different at Surface.
Steve
[This is a guest blog post written by Bryan Beatty about one of his PDC experiences. Bryan is a dev on the SDK team responsible for things such as the SurfaceInkCanvas and TagVisualizer controls. If you participated in one of our Hands on Labs at PDC, you probably met Bryan and experienced his unparalleled enthusiasm for showing developers around the Surface platform. -Robert]
Mark Hopkins, a writer on the SDK team who knows Mr. Petzold, happened to bring him by the booth while I was there. I'd like to report that I handled the situation with all due dignity, but in fact I reacted like a total fanboy. "Ooo! Ooo! It's Charles *PETZOLD*! Dang, I don't have a camera! Mark! Mark! Do you have a camera? DO YOU?"
The smile you see on Petzold's face is either gratification at meeting a fan, or else a tight frozen grimace of fear that he's just run into a stalker. ("Who is this guy? He's here... he's *touching* me... now just stay cool, Charles, we're surrounded by witnesses...")
-Bryan
Right after our PDC presentation, Doug and I got whisked away by Carl and Richard from .NET Rocks. We found an empty room somewhere and chatted for about an hour. It was a blast talking to them about all sorts of Surface-related topics past, present, and future. You can listen at http://www.dotnetrocks.com/default.aspx?showNum=389
-Robert
Robert just posted with a link to our PDC session. Check it out here.
Here's the next part of my interviews with Vectorform. This time I sit down with just the developers to talk about what it's like to create applications on Surface. There's some discussion here about WPF, Expression Blend and the Surface SDK.
After I get back from PDC I have some more video to share from trips to Carlsbad and San Francisco. (And LA for PDC.)
Just a quickOur presentation yesterday went amazingly well. The video and slides are now online here: http://channel9.msdn.com/pdc2008/PC17/
I'm off to chat with more developers now! If you have questions about things from our presentation, please post them here.
-Robert
Hey guys. I am here at PDC. There's a lot of people crowded around the Surface booths. We have a hands on lab and a scavenger hunt which are attracting a lot of attention. Our partners are here too and showing a lot of great apps as well. If you're at PDC, come check us out.
In the photo on the right I spotted Robert Levy walking through my frame. He posted this morning and was one of the presenters at the Surface session today. I'm sure he'll be following up tonight to tell us how it went. (Clue: It went really well.)
We just updated Surface.com with the special pricing that's available until November 15th.
Eric
I was recently at Vectorform, one of our Microsoft Surface partners. I got a group of designers and developers together to chat about developing for Surface. The video is below. The themes we find here aren't very different from developing for other Microsoft platforms. The tools like Expression Blend really make it simple for teams to work together developing applications for Surface.
That's no pitch, just the facts. It's pretty cool whether you're a one person shop or working in a team. I've built Silverlight apps with devs in Blend before and it was the same story. I'd create my initial layout in blend with placeholder images. Then the dev would go through and write the code to connect all the pieces together while I went back and worked on the visual assets. It's great having the same tools on Surface. Check out the Expression team's blog to learn more about the tools.
We were here late last night getting all the Surface units setup around the conference center and ensuring A/V stuff will be good for our session. This morning, we skipped the keynote and took the time to do one last run through of the presentation - we're feeling really good about it and looking forward to sharing a bunch of new info/demos with people in just a couple hours from now.
The "Big Room" just opened and people are already pouring in to go through our 3 Hands on Labs, and pick up a card to participate in the "Scavenger Hunt" game which requries you to find and use all the tables around the conference center. While doing that exploration, people are also taking time to play with all the demo apps our partners have brought in and the feedback so far is very positive.
Scott Hanselman came by last night to show us his "Baby Smash" game that he's ported to Surface. We loaded this on to a bunch of demo machines as well. I've overheard many people play with it and say how much their children would love it. If you want to learn more about how it was built/ported, Scott said that he'll be covering this as part of his session later today:
TL49 Microsoft .NET Framework: Overview and Applications for Babies
Mon 10/27 | 5:15 PM-6:30 PM | 411
Presenter: Scott Hanselman
That's all for now! We're going to grab some lunch and get setup for our session. See you there!
-Robert (and Doug)
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