Mobile Corner

Welcome to Mobile Corner and Windows Phone 7

VSM columnist Nick Randolph kicks off his new Mobile Corner column with an introduction to Windows Phone 7 development and a look back at the origins of Microsoft's new mobile platform.

Welcome to a brand new column dedicated to Windows Phone 7 development. Over the coming months we'll step through the major features of the latest mobile platform from Microsoft. You'll learn how to work with both Visual Studio 2010 and Expression Blend 4 to develop and design applications for Windows Phone 7 (WP7).

Before we dive into things, I feel like an introduction of sorts is in order. Let's kick this off with a quick Q&A.

Who am I? I currently run a start-up development, training and mentoring company called Built to Roam, located in Sydney, Australia.

Why me? Well you could say I wrote the book on Windows Phone 7 development, but actually I only co-authored one of a number of great books on how to develop applications for the Windows Phone 7 platform. What I believe qualifies me to write this column is that I've been building mobile applications for both business and consumers for almost a decade across Windows Mobile, iPhone, Android and now WP7. Over the last year I've run training courses around Australia, presented at TechEd Australia and assisted hundreds of developers to come up to speed with Windows Phone 7 development.

Why Windows Phone 7? Really, you have to ask? OK, fair call, you might be wondering given that Windows Mobile has almost dropped off the radar, why would anyone be tempted to give Microsoft another shot? The short answer is because Windows Phone 7 rocks and with a number of updates coming this year the platform will be very competitive and compelling to develop for.

What's Expression Blend? I mentioned Expression Blend in the opening paragraph and some of you may be wondering what it is. I'll put it bluntly, Visual Studio stinks as a visual designer for Silverlight and WP7 applications. Instead, Expression Blend is a tool created for designers to create awesome looking applications almost entirely using a visual interface.

That'll do for an introduction. In the weeks to come, I'll provide a tour of some of the best and worst features of the Windows Phone 7 platform. I'll offer candid advice and point out gotchas, workarounds and potential limitations you may encounter. In turn, I'll ask you to provide feedback. Don't hesitate to contact me with any questions you may have -- chances are you're not alone and someone else will be wondering the same thing.

History
Before we go too far it's worth doing a quick history lesson. This will help you understand Windows Phone 7 and the approach that Microsoft has taken.

Most people don't realize that Microsoft has been in the mobile phone market for almost a decade. Up until a couple of years ago their strategy was fixated around the enterprise. This made sense as the major player at the time in the smartphone space was RIM with their Blackberry devices. Over several iterations of the Pocket PC/Smartphone and subsequently Windows Mobile platform, Microsoft was for a short period the market leader in smartphone innovation and design. Their enterprise focus resulted in a platform that was optimized for the busy working professional, and yet offered companies a platform that was secure and that they could easily manage, control and customize.

The introduction of the Apple iPhone sent the mobile market into a spin. It wasn't initially evident the effect that this device would have and it took Microsoft longer than it should have to react. What caught them off guard was that the iPhone was targeted at consumers, yet had an ecosystem around it that would encourage the development and sale of applications.

Rather than offering users or companies the ability to customize or change the device, the iPhone was completely locked down: single hardware, single operating system, single manufacturer, single telecommunications company, single channel for application distribution. The industry expected this strategy to fail spectacularly; instead it has catapulted Apple back into the computing arms race.

Most recently we've seen the insurgence of devices based on Google's Android platform. As an open platform, Android enables any manufacturer to release a device at almost no cost. With access to the source code and the ability to customize the platform, manufacturers and telecommunication companies can tweak the platform to suit their requirements. There is no requirement for devices to run the latest version of Android, nor for them to offer an upgrade path when new versions are released. Devices can also vary considerably in shape, size and screen resolution.

In effect this is leading to chronic market fragmentation. Customers don't know what they're buying, and developers don't know what they're targeting.

Microsoft's Windows Phone 7 aims to find the middle ground. Rather than defining the actual hardware, Microsoft has released a set of hardware specifications. This allows manufacturers to innovate, while ensuring developers have a consistent platform to develop for. Any manufacturer can build a Windows Phone 7 device, and any telecommunication company can sell a Windows Phone 7 device. However, neither can customize the platform itself. They can preinstall a small number of applications but these can be removed by the user, just like any other third party application.

Windows Phone 7 represents Microsoft's first offering in the consumer space. Rather than thinking of the platform as v7, it's probably more accurate to think of it as a v1 product. In contrast to Windows Mobile, which was based on the premise of having a "PC in your pocket," Windows Phone 7 is fundamentally different and seeks to offer Glance and Go features to make you more productive in both work and play. There is no longer a Today screen with a Start menu; Instead there is the Start screen which is made up of a series of user configurable Live Tiles.

If you look at both iOS (the operating system used by the iPhone and iPad) and Android, the main interface is made up of a series, or pages, of icons. Each icon represents an application that can be launched, but each application acts in isolation providing a very disconnected experience. Windows Phone 7 is about connecting these experiences through the use of Live Tiles and a series of hubs. Initially you may think that Live Tiles are just links to applications on the phone. However, unlike other platforms, Windows Phone 7 Live Tiles can be updated to reflect the current state of the application they are linked to.

There are currently six hubs: People, Pictures, Music + Video, Office, Games and Marketplace. Each hub brings together data from multiple sources to make it easier for you to find what you're looking for. The intent is that over time these hubs will be extended to allow third party applications to integrate into them. Third party applications can create their own hubs with the use of the panorama control that ships with the developer tools for Windows Phone 7. There are also other controls that help developers build applications that share a similar look and feel to the Windows Phone 7 operating system.

Coming Up Next
Look for my next Mobile Corner column to appear on this Web site on Tuesday, March 29. I'll be exploring the developer ecosystem around Windows Phone 7, including the runtime and tooling, services and portals, and helpful resources for getting started in Windows Phone 7 development. A few days after that, in the April issue of Visual Studio Magazine, I'll provide a walk through creating a YouTube search app for Windows Phone 7.

There's a lot of exciting ground to cover, but I'm anxious to hear from you. Let me know what topics or issues you'd like to see addressed in future columns, by leaving a quick note in the comments section below.

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube