Developing apps for the Microsoft Surface tablet
Microsoft has just announced its entry into the tablet market, the Surface.
Designed and manufactured by Microsoft, Surface will launch this Autumn and comes in two models:
- A more powerful, expensive, thicker & heavier (13.5mm, 903g) one running Windows 8 Pro on an Intel chipset comparable to the latest ultrabooks. This tablet will be able to run demanding desktop applications such as Office, Photoshop and others. An attachable stylus will also be available for handwriting and annotation.
- A cheaper, more lightweight (9.3mm, 676g) model running Windows 8 RT on an ARM chipset comparable to the latest tablets. This tablet will not be able to run desktop Windows apps, only the Metro style apps bought from the Windows Store.
Along with the tablets, Microsoft announced their own range of covers for the device, with integrated keyboards. One a thin, pressure-sensitive multi-touch keyboard in a range of colours (shown in the image above); and one a tactile keyboard with depressible keys. Both include a trackpad and Windows 8 function keys.
I mention these details because it's important to keep the device's form-factor in context when developing apps for Surface; the presence of a physical keyboard (as opposed to on-screen) or stylus will certainly impact design decisions.
Apps for Surface
Surface is Microsoft's platform for delivering Windows 8 to the mobile market. Unlike Apple, Microsoft will be running the exact-same operating system on their tablets as on their laptop and desktop devices. For developers this means the Windows Store will be key in delivering applications to every Windows device, whether mobile or not.
Any Windows 8 Metro app on the Windows Store will be available to Surface users, and those with the higher-end model will also have the option of using the Store (or other methods) to find and install desktop applications too. Let's focus on the Metro apps and look at the development process.
Developing Windows 8 Metro apps
The great news is that you can get started with app development entirely for free, as all the tools are in beta or preview stage at the moment. Once Windows 8 is released you'll likely be able to choose between paying for fully-featured professional software and Microsoft's free "express" tools.
To get started you'll need the following:
- Windows 8 Release Preview
- Visual Studio 2012 RC or Visual Studio 2012 Express for Windows 8
- UI design assets
- Sample apps and code
Once you have your tools you can begin the design process:
- Plan your metro app
- Consider monetization
- Be aware of the device's capabilities, remember your app will be available to more than just Surface users, and potentially to users in different countries
- Focus on the user experience (UX), often the key to an app's success in the store
Choosing your development languages will probably depend on the experience of you or your team:
- Develop with C# and XAML
- Get to know Metro apps' architecture patterns
Deploy your app to the Windows Store:
- Ensure your testing process is complete
- Build, package and deploy your app
- Sell your app in the Windows Store
There's a lot of great documentation out there to help you along the way, so take a look through the Metro development section of Microsoft's website, and keep up with the Windows Store for developers blog.
Let us know how you get on, and if you need any advice or assistance, we're here to help!