Developing for the Windows Phone 7 - Part 1: The Phone

I am one of the lucky few who received Windows Phone 7 phone this week. For those who will ask, I got a phone because I am writing a book on programming for the Windows Phone 7 (Application Development for the Windows Phone 7 with Silverlight, Addison-Wesley).

My overall first impression is very good.  I was able to get e-mail working, XBox Live integration and play with debugging on the phone. This blog entry will exclusively tallk about the phone, not the development experience.  I will add new blog entries soon on my experience developing with the phone.

The device I received from Microsoft was one of the LG WP7 phones shown below:


(click image for a full-sized version)

I’ve done a short video talking about some of the experience with the phone’s built-in apps here:

The phone has a slide-out keyboard (like my Droid does) and I like the design a lot:


(click image for a full-sized version)

The buttons are curved so you can tell you’re typing on one key instead of more than one (unlike my Droid) and the F and J both have small nubs so I can feel when I am correctly on the home row.

You should notice that the phone has three main buttons on the front of the device:


(click image for a full-sized version)

These three buttons are for going back, going to the main hub (home screen) and launching the search. The back button is a key button for your use of the phone. As you navigate through the phone’s apps or pages within an app. This button represents something like a ‘back button’ in the browser but for the entire OS.

The Windows key (e.g. home button) always returns to the home screen of the application (e.g. the main hub). Finally, the search button takes to you to the Bing app for searching the web. The only thing about the Bing app that I don’t like is that it doesn’t search the phone too.  I would like it to search for contacts or addresses or emails on the device too (Android’s Google integration does this).  I am hoping this makes it in a post-preview release.

The size of the device is about the same as my Droid, but the screen is noticably smaller (after using the Droid, its obvious, but the resolution is the required 800x480).  Also, please ignore the fingerprints:


(click image for a full-sized version)

The widths are about the same too:


(click image for a full-sized version)

The phone has all six buttons required for a device. The three front facing buttons (shown above).  The Camera button on the lower right:


(click image for a full-sized version)

The Volume rocker button(s) on the upper left:


(click image for a full-sized version)

Finally the power/sleep button on top:


(click image for a full-sized version)

Sorry for the blurry picture, I couldn’t get my camera to take this clear for some reason. The left button is the power/sleep button. Aside from it being in a different place (left side of the top) than my droid, it works well. The phone takes a micro-USB cable for charging/syncing. The placement is unfortunate as it is on the top of the device instead of the bottom as I prefer. Also annoying is the little removable cover for the USB port. Its unnecessary and will likely break soon as I charge/sync a lot.

Overall its a nice preview of the OS that will likely be my main phone coming soon.  There are really only two things that stop me from making it my main phone now:

  • Lack of apps.  This will change at launch and after, but right now there are a few Android apps that I can’t live without.
  • No Turn-by-Turn navigation. I didn’t realize how much I’d grown accustomed to using my phone as my GPS device but I do.  I can get maps and directions, but its not the same as the Android’s built-in turn-by-turn navigation which is stellar.

I love a lot of the little touches on the phone. I love the way that facebook is integrated into the whole experience and that linking a facebook friend with a contact makes everything that much easier to follow.  The home hub is awesome and now I want all my icons on the Droid to be live too.  And the panorama (or hub) apps are a welcome change from the page-based apps I live with on the Droid.

In the next part of this series, i’ll talk about developing with the phone itself and how debugging works on the phone.