Thursday, February 10, 2011

Discovering Windows Phone 7 – Part 1

HTC HD7Just two weeks ago, I became the proud owner of a brand new HTC HD7 phone running on the new Microsoft Windows Phone 7 (WP7) OS. Woohoo!

I thought I share a run-up on how I first got to know about the new phone platform, and then learnt how to develop apps for the phone, and finally, got the phone in full flesh itself.

Getting to Know About Windows Phone 7

I had my first glimpse of Windows Phone 7 in action at a local developer event way back in early 2010.

What intrigued me was the phone UI. It was…radical. It’s nothing like the UI on the iPhone, Android, or even Windows Mobile. At that time, I had my reservations on how well it would work in the real world though.

In fact, I thought the use of lots of text, black background (much like in the DOS era), and the absence of chrome for the UI were a little strange for a modern smartphone. Other than that, the animated transitions seem fluid and contemporary.

Apart from the new UI, what was under the hood of WP7 was then still pretty much a mystery at that time…

Diving into Windows Phone 7 App Development

Just when the WP7 range of phones were officially launched in the US in October of 2010, my growing curiosity with the new mobile platform eventually led me into tinkering with the newly released WP7 software development kit (SDK).

The nice thing for developers is that, apart from the SDK, Microsoft has provided the phone development tools including the emulator for free! The emulator allows testing apps for the phone without requiring a real WP7 phone. The learning experience was made easier with the many online tutorial videos already available then.

Thankfully, the learning curve was manageable since I can leverage on my existing WPF programming skills. The development platform uses a flavor of Silverlight (which is very much based on the regular Silverlight and WPF) and C#.

There is an alternative development platform called XNA used mainly for developing games but unfortunately, my current hardware just couldn’t support it. Ideally, one would need a DX10 graphic card. Mine is only a DX9. It works for Silverlight phone development but apps run slow on the emulator as they can’t take advantage of full GPU acceleration. Guess it’s time to upgrade my graphic card?

What I also later discovered is that developing for the new platform is not solely about having the right coding knowledge and skills but also a good appreciation and understanding of the new Metro UI design language and the Marketplace app requirements. The Marketplace is Microsoft’s version of of the iPhone App Store or the Android Market, if you will.

Microsoft imposes strict certification guidelines for apps that wish to make it to the Marketplace. At time of writing, the only legit way to load apps onto the phone is via the Marketplace.

Armed with some newly acquired knowledge, I took upon a challenge on myself to develop simple apps that could potentially appear in the Marketplace some day. I thought that would be the most effective way to master the platform in the fastest time. In the process, I developed several proof-of-concept apps like a Malaysian live traffic cam viewer, a traditional board game, a physics game, and other silly utilities.

Marketplace Woes

Unfortunately, not only is Malaysia NOT in the list of countries having access to the Marketplace, Malaysia is also NOT in the list of countries eligible to enroll in the developer App Hub… i.e. I can’t sign up as a registered WP7 developer and list my apps for distribution in the Marketplace! Oh bummer!

The irony is that Microsoft has officially launched the phones in Malaysia. I gather it’s only a matter of time before Malaysia appears in the supported country list.

Getting a Feel of the Real Thing

After much publicity of the phone in Malaysia, I decided to drop by at one of the truck roadshows to get a feel of the real phone. I managed to spend some time toying with one of the HTC HD7 demo units.

Because the roadshow truck was parked outside of a mall, the sunlight was interfering with the experience; I could hardly see the stuff displayed on the HD7’s LCD screen. I thought a more conventional indoor roadshow would have been more effective.

Anyway, after having played with the OS on the emulator, it’s good to finally have a feel of the real thing. At least now I get to experience the phone dialer, Office, the various “hubs”, utility apps, etc. which are not available in the emulator version.

To be continued in Part 2

No comments: