Samsung SUR40 with Microsoft PixelSensesamsunglfd.com/solution/sur40.do
Many folks have asked me in the past how to build an installer for their Surface application. I recommend using Windows Installer XML to do this because it is a free and powerful production quality installer toolset. To get folks started I have put together a sample solution with an installer project that solves some common problems like supporting upgrade, checking for Surface software, and configuring the application to appear in Surface Shell. The sample should meet the applicable Certified for Microsoft Surface requirements.
To build the sample you must have Visual Studio 2008 and Wix 3.0 installed. If you want to reuse the sample make sure you address all the “TODO” comments to customize the sample to your purposes.
Whether or not you're into Dungeons & Dragons, this story just keeps getting better. The team at the Entertainment Technology Center has come out with new video showing Microsoft Surface with their SurfaceScapes D&D project. This latest video brilliantly takes you through how the game mechanics work. Keep in mind that this isn’t a product from Wizards of the Coast, but a student project from a team at Carnegie Mellon University.
The reason this will appeal to a broader audience than D&D gamers is that it shows the strength of starting with a goal based on your user scenario, and then utilizing the right technology for the job as appropriate. They didn’t force the interaction through Surface. You can see in the video below how naturally it occurs with the game-play.
You’ll want to use Surface when you have groups of users who are using technology to work together and share an experience. Not only does Surface’s form factor make it easier for groups to come together, but it also doesn’t get in the way of face-to-face conversation. The added bonus is that the powerful vision system allows for objects to interact with the technology to augment the overall experience.
NEW: The SurfaceScapes team members produced this in-depth video showing gameplay. After watching the video, scroll down for to see the second part of my interview with the SurfaceScapes team.
I recently asked Michael Lewis, one of the seven project team members, to speak on behalf of his team about their experiences creating D&D on Surface. Part one is here. Read on for part two..
Eric Havir: Is there any advice you’d give to other teams that are forming and creating projects on Surface in terms of the tools and skills they’ll need? Michael Lewis: Mock-ups and iteration are very important. Always get new eyes on what you are developing. It is easy to lose perspective once you know exactly how your product works. Develop informational architecture so that you know what you are building. From a software perspective, C# is essential and so is understanding either WPF or XNA.
EH: At Surface, we also believe in using the right tool for the right job. PCs, laptops, notebooks, mobile, TVs, vertical touch and horizontal touch all have their place. You touched on this in your application in blending the GMs laptop with Surface for the overall application. How important was including this to accomplish your objective? ML: We made the design decision that a laptop would serve as a nice metaphor for the game master's screen, which is a tool that is used as a quick reference for many of the rules with D&D. Right now we are really trying to focus on the player experience and separating the screen was useful while doing our design. Assuming the project continues on into next semester, we have ideas for a GM control object that would allow for more improvisational GM'ing.
EH: Since this is a gameplay aid, much of the player interaction occurs outside of the computer’s realm. How did you approach determining what to put on the computers versus leaving to the Gamemaster and players? ML: The quick answer is that we wanted to move the math to the computer so that the GMs could get on with telling their stories and not get bogged down with the rules. We quickly discovered that many D&D players enjoy seeing all the math though, so we want it to be transparent, but not time consuming. Part of addressing that issue was to make sure there is a smooth and intuitive interface, and especially that there is good visual and audio feedback for everything that happens. D&D is all about the narrative, so our design decisions were all about enhancing and facilitating storytelling - whether through cool animations and music to set the tone, or by automating rules that can often slow down the flow of the game.
EH: You used objects to represent characters and interact with menus. What kind of value do you think these pieces added to the end user experience? ML: Especially with 4th Edition D&D, the game is very tactile. Even older versions that didn't use miniatures as much, the dice added a very tactile element to the experience. From the earliest conceptual stages we knew we wanted to maintain that element - which was a large part of why we chose to work on Surface. The miniatures were a natural analog to use for characters, as players tend to identify more with the physical objects than virtual representations. The decision to use a second object to interact with menus was driven primarily from a game design standpoint. We had originally planned to have the miniatures also be used to interact with the menus, but found that caused a lot of problems during gameplay. Quite often, player characters are clustered together, surrounded by both player and non-player characters, and other landscape elements - this caused space issues with centering the menus around the characters themselves. Using a second object was a nice solution, as players can just naturally drop it in a clear area of the screen and not have to worry about overlapping with the other objects on the Table.
EH: What was it like working with object tags, and was it different from what you expected? ML: Tags were interesting. It allows for a different way of interface that, until you try, it is somewhat foreign. It is a hybrid of analog and digital control.
EH: Were there any surprises? ML: We didn't really think about the perspective issue. It makes total sense once its realized, but I think we were so used to having our interfaces with computers being a specific orientation, we didn't realize that looking from multiple angles would be such a challenge.
EH: What’s been the most difficult part of the experience creating an application for Surface? ML: Some of the major challenges have had to do with orientation. We constantly have to be aware that the device is looked down on from all angles. We loaded a few games on there like Command and Conquer that have isometric views and became disoriented when looking at it as we moved around the table. The orientation has led to a lot of our design choices concerning the camera as well as the user interface. Physical dice and graphics capabilities too.
EH: Did the team spend a lot of time working with Surface before they started working on the actual project? ML: Fortunately, two of our three programmers worked on a different Surface project during the spring semester last year. Still, they had to spend time getting the third programmer up to speed, as well as re-familiarizing themselves.
EH: To get to the point you showed in the very first video back in October, how much coding would you say it represented? ML: Around 8 weeks. This includes the initial brainstorming and research, etc. And not all the things we [created] could be seen in the video.
EH: What language did you code in? ML: We are using C# and use XNA.
EH: What application development tools did you use? (i.e. Expression, Visual Studio, etc.) ML: We are creating our software in Visual Studio 2008.
Again, don’t forget to check out part one of this interview. If you're a developer, you can download the Microsoft Surface SDK Workstation Edition now for free.- Eric (follow Surface on Twitter and Facebook)
The people over at nsquared have released the first book for developers and designers getting started on Microsoft Surface. Aptly titled, Developing for Microsoft Surface: Crafting Exceptional Experiences, provides the more than just the essentials for developing software on Microsoft Surface. It provides insight into what makes creating experiences on Surface different. It also goes through theory and onto hands on labs for practice.
Don’t forget to pick up Visual Studio 2008 and the free download of Microsoft Surface SDK 1.0 SP1 Workstation Edition if you don’t have a Surface to start out on.