Along with the Windows Phone 7 operating system, Microsoft has also released a minimum hardware specification that devices must meet. This hardware specification makes it a lot easier for you as a developer because you know in advance what capabilities are available to you, regardless of the device manufacturer. It also means that you can write code that uses the application programming interfaces (APIs) that the operating system supplies rather than having to hook into device-specific hardware drivers. This means that the techniques you learn in this chapter apply to all Windows Phone 7 devices.
Among other features, all Windows Phone 7 devices must support the following:
In this and the following chapters, you'll look at several of these features and learn some ways to use them. Several of the hardware features, including the accelerometer, fall under the general description of “sensor.” This doesn't necessarily mean that they have a lot in common other than the most general of features, but hopefully Microsoft will provide some kind of generic framework. At the time of writing, not all sensors are available in the Windows Phone 7 SDK — the compass, light, and proximity sensors being notable omissions.