When Microsoft Surface 2.0 was released, Microsoft also included a set of hands on labs to help developers get started developing applications for the Surface platform. The labs are meant to augment Designing and Developing Microsoft Surface Applications online course.
There are 11 labs available when you download the Microsoft Surface 2.0 Hands on Labs.zip file. Each lab covers a distinct element of developing for Microsoft Surface 2.0:
- Introduction Lab
- ScatterView lab
- Vision Based Object Recognition lab
- Using the Microsoft Surface Input Simulator lab
- Drag and Drop APIs lab
- Using the Library Container Controls lab
- Windows 7 Touch Enabled Applications lab
- Creating a 360 Degree User Interface lab
- Stylizing a Surface Application lab
- Developing for Direct Touch lab
- Developing for Multiple Users and Objects lab
Each lab contains a Lab document and lab solution files. Some, but not all of the labs also contain lab starter files. You can download the hands on labs here.
I ran through each of these labs with an eye to call out anything exceptional in them that can provide you pointers in how to develop Surface 2.0 applications. The rest of today’s post will speak to the Introduction Lab, which I’ll simply summarize.
This lab walks you through how to create a Surface application solution in Visual Studio 2010, then has you review the C# code that is generated by the Surface 2.0 Visual Studio templates. The third exercise shows you how to edit the XAML and C# files in the solution, and the fourth exercise introduces some of the commonly used Surface controls.
Though you can use controls as you see fit in your applications, the Surface design guidance recommends that you only use controls as necessary. You should never use controls in place of people directly touching your applications’ content. For example, if you include images in your application, do not require people to touch a SurfaceButton control instead of directly touching an image displayed by the application.
In my next post I’ll go into Lab 2, which is about the ScatterView control.