My Thoughts on the Windows Phone 7

Android

The field of smart phones is getting larger this holiday season: the Microsoft offering is the Windows Phone 7. It should be of no surprise to most people that this category of phone is becoming increasingly important, but not because its a phone.

Many people spout off that the iPad is a category changed, but I think the iPhone was much more important. The hand-held computer is finally a reality. Having great experiences for consumers is the lynchpin of these devices. In this category are really four major players IMHO:

  • iPhone by Apple
  • Blackberry Phones by RIM
  • Android Phones by Google
  • Windows Phone 7 by Microsoft

I won't repeat the relative merits and misses that the other players have made, instead i'd like to make a pitch for both consumers that Windows Phone 7 is likely to be a great experience (and until we have final silicon and OS we won't know for sure).

Great Consumer Story

I think Microsoft is finally doing the phone right here.  They've repeatedly stated that they will be focusing on the consumer story in this first release. While Microsoft can do and has done a great job focusing on the enterprise, they've struggled with their consumer level products in many areas (XBox notwithstanding). By not trying to solve both masters, this first version should provide a great platform for consumers. They're not being goaded by developers into opening up the platform to features which hurt the consumer experience (e.g. multi-tasking) while working with specific partners on features consumers want (e.g. background audio with Pandora and the like).

In addition, I think that being late to the game will actually help Microsoft this time. Phones are not like other devices.  People are not as invested in them (or keep them as long) as other hardware. I firmly think that iPhone-fatigue is setting in.  Some of it is the result of Apple's heavy-handedness in control of the AppStore and equally its reluctance to punish AT&T for bad service.

Android equally has other problems with multiple versions of their operating systems and are trying hard to have better control over that.  The fact that when you go get an android phone and the average consumer has to know to get a 2.0 or 2.1 phone instead of 1.6 phone is just a travesty.  This will ultimately hurt the adoption of the Android phone. While the Apple's AppStore is too tightly run, the Android store is too lose. Android is often called, "iPhone Without Rules".  That comes with a cost.

Blackberry is a completely different animal.  They've succeeded in the enterprise market and are certainly the big dog in the business sector, but this first Windows Phone isn't targetting them...but I suspect v2 will be all about business users.

But What About Developers?

A lot is made about the developer story on each of the platforms. Apple requiring Objective-C (or other C based coding) does seem shortsighted but at the end of the day the richness of the programming platform is only part of the story.

When I first got my Android phone I wondered how many of the apps that I craved on the iPhone would be on my new phone. I was pleasantly surprised that apps like Shazam and 4Square were already ported to Android. Similarly when the Windows Phone 7 was announced, some of these same apps were demo'd. But the reality is that most of the hard work of these apps aren't on the device. Building a new client for the functionality on the server means that most of the client code is just polish, not functionality in the traditional sense.

Let's use Shazam as an example. Shazam was ported quickly mostly because all it does on the phone is record and play music as well as show data of the songs that were identified. But the detecting of the song information is all done on big iron in the cloud. The radical change in the iPhone then seems to be the ubiquity of the Internet on a phone, not the phone itself. Turn off 3G and Wireless and see how many of your apps continue to work on your phone.  Go do it now...i'll wait.

Finished yet?

As you've figured out, many of the apps you use are really the first of the new wave of cloud-based apps.  The fact that instead of being web-driven, they are smart-client cloud apps. This affects developers by realizing that they need to get both sides right. A great user experience on the device that is driven by a great cloud experience. The skills required can be pretty varied to get both sides correct. Nothing worse than a great looking app that's waiting on server time-outs.

Late to the Party?

But is Microsoft coming out with their phone after Apple's already plucked the market from under them?  Perhaps, but I think quickly coming up with a 'me too' phone would have proven disasterous. Coming late to this part may in fact be the reason for its success. With the relative success of the Android phone has shown, the iPhone is not indominable. In fact, the level of iPhone fatigue I think is at a high point at this time.

While coming late to the party, many people also worried about what Microsoft would come up to complete in this new phone era.  The Metro (or Cosmopolitan) design language has thoroughly surprised me. I expected microsoft to just compete not to overtake.  The new phone paradigm is still to be tested, but it is my sincere hope that this new hub system works as advertised. 

Development Model

Much has been said about Apple's take on how to control their developers (and force their own language requriements). I think this will be ultimately lead to developers flocking to other phones. We are already seeing this on the Android phones as it uses Java and that helps re-use existing skillsets of language and tooling. I expected Microsoft to do something similiar but their decision to use Silverlight was a complete surprise. Using XNA for game development just fits (as that's how XBox Community, Windows and Zune games were written). But Silverlight as the programming model does several things in Microsoft's favor as far as I am concerned:

  • Allows existing .NET developers to come to the platform easily.
  • Allows existing Silverlight and WPF developers to use their skills seemlessly.
  • Promotes cross-usage of assets on the desktop, web and phone.

I've played with the bits in building the course and writing the first chapter of my upcoming book (so I am obviously not a completely neutral party) but I am impressed so far.

I've updated my XBox Games Browser app for the phone to the most recent version (Windows Phone Developer Tools CTP (April 2010 Refresh). The biggest change in this version is that I had to use Tim Heuer's advice (and PowerShell tool) to remove the signing of the OData Library for the phone (I've included that in an externals directory in the source).  You can get the project here:

http://wildermuth.com/downloads/xboxbrowser.zip

What do you think about Microsoft's new Phone OS and development platform?

 

Comments:

Gravatar

I ain't gonna learn Silverlight dude!

Gravatar

I think the biggest advantage WP7 has over the competition is the user experience with the tiles, Metro, text focused ui etc. Really fresh and innovative.

The biggest disadvantage is forcing developers to go through the Microsoft AppStore for all their apps. No way to install custom built apps directly on the phone sounds like a mistake. Even Apple AppStore has a system for deploying in-house apps, and from what I understand this will not be possible in the first version of WP7. Of course, it is bound to be supported in the future and if that future isn't too far away, maybe it isn't such a big issue.

But what will decide if WP7 will make it or not, is if the popular mobile service providers (whichever they may be at launch time) will develop WP7 versions of their apps.

It is quite a handful to develop applications for all of the four platforms you mention, and from what I know the programming model is vastly different between them.

Gravatar

I agree that the Marketplace for developers is a pain (and especially for those WM'ers), but for the consumer experience (the first goal) I think its the right approach. Apple hasn't had this until OS 4.0 (AFAIK) so I don't think its that big of a deal. And if the phone iterates like Silverlight, it won't be too far afield.

Gravatar

nice article! just a quick note Blackberry phones are made by Research In Motion (RIM) http://na.blackberry.com/eng/company.jsp

Gravatar

Misael,

I knew that, just had a brain fart...thanks for the correction.

Gravatar

Wow this was a really great well written article.

Gravatar

Nice writeup Shawn. I think what MSFT is doing is very advantageous, and if they can meet the quality of the initial Zune HD release and update it as frequently (or more frequently) then it will be a hit. They have done it before on a smaller scale, and hopefully they'll pull it off here as well. Obviously if you know Silverlight or XNA already it is hard to not be thrilled about the device regardless of how well it is initially received.

Gravatar

Wow, if the market place is a must, this is a huge opportunity lost. This was a big point for me in buying Android over iPhone, and more importantly: I'm primarily interested in WP7 as a business platform (and I'm already thinking: TABLET). I don't myself developing applications for my customers that they need to download off a market place. We'll see about that...

Gravatar

Good article. I currently write code for the iphone/ipod using Monotouch (all my code is c#..LINQ on the iphone is fantastic) and so far i'm very happy with monotouch; yeah there are threats from apple to restrict tools like Monotouch, but I don't think that will happen. Anyway, I'm using the MVVM pattern, and I'm able to write and use the entire view-model (again, all in C#) without any code changes on the iphone or Windows Phone 7, and soon Android (Novell is working on the next version of monotouch that will support Android); and I'm using MS Azure for the cloud stuff via the WebClient object; yeah, I get to use WebClient on the iphone--sweet. Monotouch is a very compelling tool for developing for three of the big four devices; RIM can't be far behind given that it, like Android, is written in Java.

As for Windows Phone 7 being late.. I too think this is probably a plus, but the big ace MS holds is linking the XBOX account to the Windows Phone 7. That's a huge game changer because the last time I checked, males between the age of 14-30 are a huge market and I'm under the impression that there's a few of them who live on the xbox :)

All the best,
Sham Singh

Gravatar

@sham singh

There's not threats from Apple that they're going to restrict those tools, they've already changed their Developer Agreement, and very soon if not already they are going to reject all apps that weren't written in Objective-C.

I have to agree with Shawn, having Silverlight as the app platform is genius. It works on two fronts, it allows Silverlight and to an extent other .Net developers to easily write apps for the phone, but it also opens Silverlight to a whole host of people that may have overlooked it before. I can see a large increase in Silverlight developers from this.

Gravatar

I'm waiting for the WP7 too. And I'm going to develop apps for it. But I think one of the not mentioned disadvantages of the new platform is multitasking absence. This will become a problem soon after the phone hits the market. Skype is already stated they don't have its version for WP7 in development. That's a bad sign.

Other than that, WP7 seems to be a success IF the phone is fast and doesn't have software and hardware flaws.

PS. I've tried iPad recently and face it - it's really good! Microsoft should be working hard on a similar (better) tablet because it's all market share.

Gravatar

"being late to the game will actually help Microsoft this time" - Microsoft has always been late to the game, and it has helped them almost every time except for recent failures like search/online and (to a lesser degree) game consoles. Microsoft's way is to come in late and bury the established players by building superior products (and via other techniques). They've done it countless times, but not so much in recent years. If any part of the old Microsoft is still twitching, maybe they'll have a chance with phones this time around.

But you know, it's not like they're really new to phones. Ever heard of Windows Mobile? It seems most people would prefer to forget it ever existed, but it did.

Here's the main thing I disagree with you on, though. Microsoft did not win on the desktop by protecting users from developers and themselves. They did it by making an open platform (ironic, I know) that people could use how they saw fit. Restricting users (and even developers!) to sourcing apps only through a Microsoft-controlled marketplace is a huge mistake.

And multi-tasking is not a feature pushed for by those evil developers to hurt those poor end-users. It's the end-users that want the benefits of this feature. Of course, I'm sure Microsoft is used to taking the blame for other developers failings, so I can see them wanting to minimize that on their new phone attempt. But it's silly to paint multi-tasking as the consumer's enemy and then say "but it's ok for Pandora because they're cool, we can trust them". Great consumer story indeed.

Gravatar

The WP7 story so far looks really good, I'm very excited.

The issue though, is getting phones in hands. iPhone and Android are not sitting still, Microsoft has to make WP cheap enough that everyone will be able to get one. That's how they won the desktop, and why Kin is so sad.

Gravatar

I completely agree with the said. I've been telling people the same thing to people for a while. Microsoft's strategy has always been "fast follower". They learn from the leader and do it better.
One thing you've missed in the article though. There is a huge importance of browsing capabilities to the end user. iPhone brought us among other things, the greatest mobile browser, which provides near-pc experience to the user. Android is good too, but still far behind, and blackberry is very bad for surfing.
I think, this is going to be a key adoption point - the browser. Current IE is pretty useless comparing to iPhone's safary. I hope Microsoft will do something in this area.
One more point. With including silverlight as a Dev tool, not only Microsoft envolves existing devs, but causing more and more folks to adopt the platfort. This descision was a genious one. Well done, ms!

Gravatar

Nice write-up. I was just getting into Android development when Microsoft dropped the WP7 bomb. Given that I was just getting started with smartphone development and that I'd already been working with Silverlight, it was a no-brainer to jump into WP7 development over other platforms.


 



 
Save Cancel