Special Report: The Definitive Guide to Windows Phone 7

Introduction

Microsoft announced Windows Phone 7 in February, 2010 at Mobile World Congress in Spain. It became immediately apparent that the new announcement was a big one: not only a new version of the Windows operating system, but a complete rebranding with new hardware and development technologies. In a word, the upcoming Windows Phone 7 is unlike any previous mobile Windows version.

Currently, Windows Phone 7 is still in development, and the first phones are about to become available for the holiday season this year. While both users and developers are waiting to get the finished hardware in their hands, development work can already start with emulators.

This special report from Internet.com will take a through look at Windows Phone 7. It is easy to see that Windows Phone 7 is something that should excite both developers and users.

Editor's Note: For complete reviews of all the leading mobile development platforms, see the Internet.com Special Report "Field Guide to the Mobile Development Platform Landscape".

Introducing Windows Phone 7

Windows Phone 7 (WP7) is the upcoming version of Windows based phones, and is scheduled to be available in Q4 2010. Windows Phone 7 combines new hardware and new development technologies to bring users new experiences in connecting to others and maintaining their personal data.

The biggest change compared to the previous versions of the Windows Mobile platform is the way the new devices are used. Instead of hardware keys, the new Windows Phone 7 devices are operated mainly via touch. Manufacturers are still able to add buttons or keyboards to their devices, but a multi-touch capacity-sensing touch screen will be the main way of interaction. Several pre-defined gestures are recognized by the device and forwarded to applications.

In addition to touch, Windows Phone 7 devices contain a completely new graphical interface code named "Metro". Although the last Windows Mobile versions 6.0 and 6.5 paved the way to more modern interfaces, Windows Phone 7 uses a new design. It is based on the company's Zune HD like user interface and Silverlight technologies to bring slick animations and vector-based graphics to the devices. Microsoft itself describes Metro as "modern, clean and in motion".

Instead of heavy graphics, Metro relies on text and typography. The font used in applications is by default Segoe WP Semilight. The user interface is organized into hubs, which concentrate information on a certain topic into a wide, horizontally-scrolled view (Figure 1). There are six ready-made hubs: People, Pictures, Games, Music + Video, Marketplace and Office.


Figure 1

Microsoft has partnered together with multiple phone manufacturers to bring devices to the market. These include Dell, HP and Toshiba, but also HTC, LG, Samsung and Qualcomm. Carriers like AT&T, Orange, Sprint, T-Mobile USA, Verizon Wireless and Vodafone will take part in the game, according to Microsoft.

Although WP7 can be seen as a palm-sized revolution in Microsoft circles, the competition in the smartphone space is already tough. Today, Apple iPhone and Google's Android based phones are very successful and Windows Mobile phones are in the minority. This is especially true in the worldwide consumer market.

Hardware Possibilities

Before Windows Phone 7 was announced, manufacturers were developing many different types of devices to meet the needs of Windows Mobile customers. The previous platform was quite allowing, but this is not the case with WP7. Presently, Microsoft specifies a set of minimum requirements for every device, see Table 1.

First, there's touch. This support must be able to differentiate between at least four different points, and should be implemented using capacitive technology. The screen resolution has also been defined: it must be either WVGA 480 C 800 pixels or HVGA 320 C 480 pixels. Performance levels are controlled as well. The central CPU must be an ARMv7 Cortex/Scorpion based chip or better.

The GPU must follow suit: it must support DirectX 9 hardware acceleration. This is required as the phone relies heavily on graphics; otherwise, the system wouldn't be performing fast enough. Overall, the device must have at least 256 MB of RAM, and 8 GB or more of Flash storage. The phone contains at least three hardware buttons called Back, Start and Search. Pressing the Back button will close the currently running application.

Today, consumers and business users alike expect much more from their phones than just the ability to call or text. They want the phone to be able to take photos, know their location, work in different environments, and more. To meet these needs, Microsoft requires all devices to have several different sensors. These include an A-GPS chip (Assisted GPS, which supplements data with other methods when GPS is unavailable), a compass, and accelerometer, proximity, orientation and light sensors. At least a five megapixel camera is mandatory.

Windows Phone 7's ability to multitask is a heated topic. Windows Phone 7 is only able to run a single foreground application, and switching to another application will suspend the previous one. However, the platform supports a "Push Notification" service, with which an application can get notified over the network of certain events. Writing DLLs, background services or timer activations for applications is prohibited.

Developing for Windows Phone 7

If Windows Phone 7 changes the user experience and the application model significantly, the change developers face is even more radical. In fact, almost all previous technologies have been changed to something else. With Windows Phone 7, the supported technologies for writing applications that run on the phone are Silverlight and XNA. There is no WinForms, no native code, but there's .NET framework. Web applications will continue to run as before using the integrated browser.

To understand where Silverlight and XNA fit, one will first need to understand the two most common usage scenarios for WP7. Firstly, there's the need for communications and business. Just as importantly however, there is the need for entertainment. This is where the two technologies fit: Silverlight is a good choice for more work-oriented applications, whereas XNA is more suitable for games and leisure.

If there are existing Windows Mobile applications for example for Windows Mobile 6, then there is no direct path moving the code forward. Instead, the application needs to be rewritten. For WinForms and .NET Compact Framework developers in general, Silverlight is probably the easiest migration path, as some parts of the background logic could work with small modifications. One migration issue is state management. There is no direct access to the file system; instead, applications must use a feature called Isolated Storage. Isolated Storage creates an application-specific container to place data in.

Compelling user interface development might require learning Microsoft's design product Expression Blend in addition to Microsoft Visual Studio. WP7 currently supports a subset of Silverlight 3's functionality. For example, socket programming support is missing. Although developers can develop their own Silverlight controls, hub and pivot system functionality cannot be directly used in applications.

If Silverlight feels too restrictive for entertainment, then XNA is worth exploring. XNA is probably something that is new for most business developers, but the basics are simple: XNA is Microsoft's loop-based game development platform based on .NET and integrated into Microsoft Visual Studio.

XNA comes with a library of classes and methods for game development in the Microsoft.Xna.Framework namespace. This library helps developers manipulate graphics, audio and input. Originally, XNA was written to support developing games for the XBox console and to a limited extent, the PC. However with WP7, the same system can be used to create game-like applications for mobile devices.



Special Report: The Definitive Guide to Windows Phone 7

Starting Development With an Emulator

At the time of this writing, Windows Phone 7 devices are still to hit the shelves. However, if developing applications for this new platform sounds exciting, an emulator is already available.

To get the emulator, visit Microsoft's Express web pages at http://www.microsoft.com/express. From here, you will find the download link (Figure 2). After downloading and installing the free Visual Studio Express for Windows Phone (currently in beta), you should see a familiar looking development environment based on Microsoft Visual Studio 2010. You will want to install these tools on modern hardware: especially graphics hardware should be considered. Today, a DirectX 10 capable card with WDDM 1.1 drivers is the recommended minimum. At the same time with Microsoft Visual Studio, Expression Blend 4 for Windows Phone will be installed (Figure 3).

[Figure 2 - Download Page.png]
Figure 2

[Figure 3 - Expression Blend.png]
Figure 3

For applications running on the phone, the C# programming language is the only one supported. However, Microsoft has indicated that support for Visual Basic is considered. In Silverlight applications (Figure 4), user interfaces are declared using XML-based XAML markup. When applications are debugged, Visual Studio will automatically start a Windows Phone 7 emulator. The usual debugging functionality is available.

[Figure 4 - New Silverlight Project.png]
Figure 4

In XNA development, focus in on application performance. The default frame rate is 30 fps, which should produce smooth animations. In addition to visual performance, Microsoft is keen on making sure users get maximum usable time from their phones. Correct optimizations and design choices translate directly into minutes and hours of use without the need to recharge.

Business at the Marketplace

It was Apple who created mass-appeal for digital web stores selling small applications. Microsoft is aiming at a similar shop with its own Windows Marketplace for Mobile. Microsoft's cloud-based digital store is an integral part of the Windows Phone 7 experience, and all phones will have straightforward access to the service.

In fact, application delivery happens solely through the cloud. The user cannot install applications locally or transfer them using a memory card; instead the user must connect to Microsoft's marketplace and purchase and download the application there. At this writing, the marketplace is not yet ready for Windows Phone 7, but it is expected to be by October 2010. Developers can already register, however.

The Windows Marketplace operates on a revenue-sharing model, where Microsoft takes a portion of the sales revenue, and gives rest to the developer. At present, Microsoft's marketplace fee is 30%. Current commercial Windows Mobile 6 applications usually sell for USD $5 to $20.

Developers will need to pay subscription fee to be able to register to the marketplace. A yearly subscription costs today USD $99, but the price level for Windows Phone 7 developers will be defined later. Application testing is facilitated by allowing developers to register their own devices. This way, downloading applications for testing purposes is more straightforward than the normal buying process (Figure 5).

[Figure 5 - Developer Registration.png]
Figure 5

Conclusion

Windows Phone 7 is a major overhaul for Microsoft's long-running mobile device business. For users and developers alike, the new platform brings changes on many fronts: devices get more up to date, development technologies change and user experience is freshened.

Although there are certain limitations in Windows Phone 7 that could ultimately lessen its market appeal, Microsoft has closely monitored its competitors. WP7 is a phone system that is more restricted than its predecessors, but at the same time also more focused. Whether this is a recipe for success or not, remains to be seen.

For application developers, Windows Phone 7 is a change that requires both thought and skill. Previous technologies do not cut it anymore, and the focus is now on Silverlight and XNA. Application distribution happens through Microsoft-driven channels, namely the application marketplace. This could initially limit the developer audience, but for more serious application development, the marketplace subscription should pay itself back quickly.

Jani Jarvinen

Table

FeatureStatus
Screen resolution 320 X 480 or 480 X 800 pixels
Touch support Capacitive, at least 4 points, gesture support
Sensors A-GPS, compass, accelerometer, proximity, orientation and ambient light
Camera 5 megapixels or more
CPUARMv7 Cortex/Scorpion or better
GPUDirectX 9 acceleration
Memory256 MB RAM or more, 8 GB Flash or more
Hardware buttonsBack, Start, Search
Development technologies.NET based, Silverlight or XNA
Languages supportedC# only
Development toolsVisual Studio 2010 Express for Windows Phone and/or Expression Blend 4 for Windows Phone
Tool statusCurrently in beta
Device availabilityQ4 2010

Windows Phone 7 in a nutshell

Field Guide to the Mobile Development Platform Landscape



About the Author

Jani Jarvinen

Jani Jarvinen is a software development trainer and consultant in Finland. He is a Microsoft C# MVP, a frequent author and has published three books about software development. He is the group leader of a Finnish software development expert group at ITpro.fi and a board member of the Finnish Visual Studio Team System User Group. His blog can be found at http://www.saunalahti.fi/janij/. You can send him mail by clicking on his name at the top of the article.

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: August 20, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT When you look at natural user interfaces as a developer, it isn't just fun and games. There are some very serious, real-world usage models of how things can help make the world a better place – things like Intel® RealSense™ technology. Check out this upcoming eSeminar and join the panel of experts, both from inside and outside of Intel, as they discuss how natural user interfaces will likely be getting adopted in a wide variety …

  • Live Event Date: August 14, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT Data protection has long been considered "overhead" by many organizations in the past, many chalking it up to an insurance policy or an extended warranty you may never use. The realities of today makes data protection a must-have, as we live in a data-driven society -- the digital assets we create, share, and collaborate with others on must be managed and protected for many purposes. Check out this upcoming eSeminar and join Seagate Cloud …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds