tl;dr summary
I’m a Mac and iOS developer and just spent the past week using a Windows Phone 7 powered Samsung Focus as my primary phone rather than an iPhone as I have for the past three years. I wanted to do this to become more acquainted with what Microsoft has to offer since my only exposure has been YouTube videos and demo units.
Windows Phone 7 as an operating system is a delight to use, and I really look forward to where Microsoft plans to take it going forward. The biggest hurdle it faces right now is the lack of quality applications. There may be 5000 apps, but 4990 of them are junk.
For The Instapaper Crowd
Back in May of last year, I wrote up my experience using Android and a Nexus One for a week as my primary phone. The article was well received and got quite a bit of traffic. I went back and forth on whether I wanted to do a similar writeup now that I have been using the Windows Phone 7 powered Samsung Focus for the past week. I have more than enough opinions on Microsoft’s new platform, but I can’t help but feel that write ups of it are a bit passe at this point. Thanks to the nudging of a few people on Twitter, here goes.
The Hardware
I’ve had my eye on Windows Phone 7 for several months for a variety of reasons. For one, I’m a smartphone junkie and collect them like baseball cards. Anytime a new phone hits the market, I want to pick it up.1 I was also intrigued by the screenshots and previews I’ve been reading on Engadget for the past few months. Windows Phone 7 looked like nothing else I’ve seen on the market. The fact that I do a podcast with a full-time .Net developer doesn’t hurt either.
I finally took the plunge and dropped $500 on a Samsung Focus on Christmas Eve, so that I’d have something to keep myself entertained while home for the holidays. AT&T has three different Windows Phone models available. The HTC Surround is bulky thanks to its awkward slide-up speaker. The LG Quantum has a physical keyboard, which is of little interest to me. The Samsung Focus was by far the most recommended phone I’ve seen from the Microsoft crowd.
The selling point of the phone is it’s bright AMOLED screen. It really does look fantastic. It’s natural to want to compare it to the iPhone Retina Display, but they are two different screen types. Whereas I can’t use my old 3GS iPhone without noticing how sub-par the screen is compared to the Retina display, the Focus screen looks crisp and bright. No complaints, whatsoever.
The rest of the hardware? It’s pretty cheap. Apple hit a home run in the ‘feel’ aspect of the iPhone 4. When you hold it in your hand, it feels hefty (but not too hefty), solid and substantial. The Focus, on the other hand, feels light, cheap and full of air.
In fact, my first experience with the phone was a bit offsetting because of the build quality. Since the entire phone is plastic, I have to snap the back off to insert the battery and SIM card. I felt like I was going to break the phone each time I ripped it off.
- The dedicated camera button is nice and gets you ready to snap photos much quicker than any iPhone I’ve ever used. The picture quality isn’t iPhone quality, however.
- The battery life is pretty good. I didn’t do any sort of scientific tests, but I was able to make it through each day without having to recharge the phone.
- I love how thin the phone is, but I would take a slightly thicker phone it felt more sturdy.
- The Focus has an SD card, but Microsoft pretty much tells you to not use it unless you want to experience a world of hurt. Samsung and Microsoft say that only memory cards that are certified for Windows Phone 7 should be used. At present time, that’s 0.
Windows Phone 7
I didn’t really expect any of the hardware to blow me away given my past experiences with Android devices. As a software guy, I was far more interested in how Windows Phone 7 was as a smartphone operating system.
I haven’t used a Windows Mobile device since I took a class in college on the .Net Compact Framework, and even then it felt like a substandard experience compared to the Treo or Blackberry. Windows Mobile crammed a smartphone, a menu structure and all kind of other widgets and buttons onto a tiny screen that you manipulated with a stylus. It was pretty awful.
Windows Phone 7 doesn’t inherit any of that legacy and really is a whole new experience. It’s so different, in fact, that it doesn’t feel like anything ‘Windows’ I’ve ever used before. Microsoft might have done themselves some favors by giving it a whole new naming scheme away from the Windows brand.
The Good
- home screen tiles: Whereas every other smartphone platform on the market has a grid of app icons and widgets that you tap to launch applications, Windows Phone 7’s home screen is a fluid, tile based system. Each application or service has a square or rectangular tile with the app icon, name and in some instances some sort of animations. The People Hub2 tile has a constantly rotating grid of the Facebook profile pics for each contact you have on your phone.
You can pin any application or contact onto your home screen. The contact icons will update constantly switching between the person’s name, their picture and their most recent Facebook status update if it’s available. I really love this aspect of Windows Phone. It feels like the phone is alive.
You can rearrange your home screen tiles in a similar fashion to iOS. Tap and hold on an icon on your the home screen and it will come to the forefront so you can rearrange it while the other tiles in the background slowly move around. It’s not as easy to work with as the jiggling icons of iOS, but it works fairly well.
-
Live tiles: Some third-party apps support live tiles, but they aren’t nearly as sophisticated as the ones bundled by Microsoft. The Weather Channel app updates periodically with the latest temperature and conditions for your location. This is a prime example of what Microsoft is referring to when they call Windows Phone a glanceable operating system.
-
Facebook integration: If you are a Facebook junkie, Windows Phone 7 is awesome. While the official Facebook app developed by Microsoft isn’t great, the integration in the OS itself, is fantastic. Windows Phone will import your Facebook contacts and link them with existing contacts in your People Hub. When you tap on a contact, it will show you their traditional contact information like phone numbers, email and address, but it also shows their most recent status update and let’s you write a message on their Facebook wall.
You can also view the person’s wall and comment on any post right there in their contact card. No need to jump into a third-party app for that.
-
Zune: I signed up for a Zune trial to play with and if I was a Windows user I’d love it. The premise of Zune Pass is that you pay $15 a month and can download and listen to as much music as you’d like so long as you continue your subscription. It’s great for exploring musical tastes with very little commitment or investment. The biggest problem with Zune as a Mac user is there is no dedicated app.
-
Pivot & Panorama Views: The entire UI paradigm for Windows Phone 7 is referred to as ‘Metro’ and takes its inspiration from signage at train stations. It looks really good as a whole. My favorite aspect of it is the concept of Pivot or Panorama views.
A Pivot view is kind of like a tab control you’d find on your Mac or a segmented control on your iPhone. Rather than tapping a button to switch views, you instead slide your finger left or right to change to another view in the pivot. The People hub does this to separate each contact’s Profile/Contact data and their ‘What’s New’ information that lists their Facebook wall.
A Panorama is basically a Pivot control with a large image in the background. As you move between pivot items, the image slowly moves with you. The Marketplace app3 has a new panorama image every few days. The IMDB app also uses one with great success. It’s a subtle thing, but Pivots and Panoramas make the whole Windows Phone 7 experience feel different in a good way.
The Bad
Not everything is great about Windows Phone 7. There’s some seriously wonky stuff and weird omissions.
- Slow apps: The OS as a whole feels pretty fluid and I’ve never felt any sort of slowdowns, but apps are another story. Network connections in any app seem to take a really long time and there’s also strange delays in rendering views.
For example, when you launch the official Twitter app, it takes about 9 seconds for the app to launch and show cached tweets. It takes another 5 seconds for it to fetch and render the latest items on my timeline. When I swipe to` the ‘mentions’ pivot, it will take another six seconds for it to fetch and render those tweets.
The Facebook app isn’t much better. It takes about 12 seconds to launch and fetch the latest data.
I’m not really sure what is to blame for the slow responsiveness and network speeds in third-party apps, and can only hope that it improves in subsequent app and OS updates. The hardware is pretty fast, so it’s gotta be something in the software.
- SMS: Like Android prior to Froyo, Windows Phone 7 will not let you send an SMS to any phone number that is not labeled ‘mobile’. This is insane if you know anyone who carries both a work and a personal cell phone like my brother. I label my brother’s personal iPhone as ‘home’ and his work provided Blackberry as ‘work’ so I can remember which phone to text during the week. Neither one of those will show up in the Messaging app or as textable in his People hub profile.
The iPhone doesn’t discriminate and will let you send an SMS to any valid phone number.
-
Click Feedback: There’s no sort of click feedback when you are in many third-party apps. For instance, if you tap on a URL in a status update on Facebook, you’re not 100% sure that you clicked the right spot until the IE browser renders the page. I can’t tell you how many times I’ve mistapped because there are two tappable areas too close by and I didn’t get any sort of feedback about which item I was pressing.
-
Online integration: The Facebook integration is fantastic as I’ve said, but it’s curious why other services aren’t better supported. For instance, there’s no native Twitter integration, which seems like it would be a natural fit.
The Pictures Hub will import your photos from Windows Live Skydrive and your Facebook albums, but there’s no support for Flickr, which I guarantee has far more users than Skydrive. Each time I snap a photo, the phone prompts me to upload it to Skydrive. Why not prompt me to upload it to Flickr instead?4
-
Mac sync: Microsoft offers a Windows Phone 7 Connector application for Mac OS X that allows you to sync your podcasts and non-DRM music from your iTunes library to Windows Phone. It works pretty well, but it’s nowhere near the integrated experience that iTunes offers iPhone users or Zune offers for Windows users. My biggest gripe is that it doesn’t support syncing of calendars and contacts to the device.
-
CalDAV: The lack of calendar data on my phone is driving me a bit batty. I use MobileMe, and if Windows Phone supported CalDAV I could import the calendar data into the phone without much trouble. Right now I have a bit of a Rube Goldberg machine to get calendars and contacts from my Mac onto the phone. I use Address Book’s Google sync to push the contacts to the Web and used Spanning Sync to get some of the calendar data up to Google Calendar so it would be pulled down to the phone. Spanning Sync, unfortunately, doesn’t play too well with MobileMe’s CalDAV implementation so I ended up removing it.
-
Internet Explorer: IE on the phone isn’t terrible, but it’s not anywhere in the same ballpark as MobileSafari. It renders Engadget, Gawker and Daring Fireball just fine, so it fits my needs.
-
Copy/Paste: There’s no copy/paste. If that’s a big deal for you, you’re out of luck. Personally, I’ve only missed it once.
The Apps…or lack thereof
No matter how great of an platform you have, it’s nothing without a great App ecosystem. Just ask Palm. I love WebOS, but there are so few apps that it’s hard to recommend it to anyone versus the iPhone or Android.
The Windows Phone Marketplace just surpassed 5,000 apps, which is a nice milestone, but nowhere near the number of apps available on the other platforms. I tend to ignore the number of apps available in a store and rather focus on how much trouble I have finding apps I need or want.
Based on that metric, Windows Phone is lacking and more amateur hour than anything. So many of the apps feel like they were built in a weekend to test out the platform experience.
Apps from bigger companies like Twitter, IMDB and Foursquare are great and I don’t mind using them, but anything built by the one or two man developer shops that seem to thrive on iOS and even Android are nonexistent. When the iPhone App Store launched, there were certainly plenty of poor apps, but there were also some great third-party titles like Twitterrific and OmniFocus that had great user experiences and style and showed off what was possible with the platform. Not so on Windows Phone 7. I have yet to find that third-party app yet that wows me.
The best third-party app I’ve found is a Google Reader application called Wonder Reader from Super Slacker Studios.
I have no doubt that Microsoft will attract a healthy amount of apps for their app store. I just hope that the quality of the apps improves over the initial 5000.
Development Environment
When I wrote up my experiences with Android, I wanted to do a followup where I discussed the development environment. In fact, I spent about two weeks last year getting acquainted and tinkering with the platform just to see if there was anything there to interest me. In the end, I gave up frustrated because the tools were awful and Java and the SDK frustrated me.
While I haven’t decided two weeks to the Windows Phone SDK, I’m confident painting with some broad strokes after attending a Windows Phone 7 developer launch event back in October and spending a few days writing code and using the tools.
My current method of evaluating new platforms is to look into what it would entail to port Elements, my Dropbox powered text editor for iOS. Elements is a good metric because it deals with file manipulation, uses the cloud to sync data and has a bit of custom user interface that I’d want to port.
The development environment is centered in Microsoft’s Visual Studio IDE. You can use the for pay version of Visual Studio, or Microsoft offers a free version that is more than adequate for mobile development. That’s the version I opted for.
I’ve never really done any heavy development in Visual Studio before, but it was a much more pleasant environment than Eclipse. It’s hard for me to compare it to Xcode which I have years of use and a supreme comfort level. All I can say is that I didn’t mind Visual Studio as an IDE. I did prefer its code completion to that in Xcode 3.
You can do all your development in Visual Studio if you wish, but Microsoft also bundles an optional application called Expression Blend for designing the UI and animations for your Windows Phone 7 application. Expression Blend felt like a mix between Adobe Flash and Interface Builder. Expression Blend has a pretty steep learning curve and I don’t think I scratched the surface of what’s possible with it, but I’d definitely use it to build my user interfaces and script my apps animations.
Windows Phone’s SDK is two-fold. For data based applications, it’s best to use Silverlight. For games, Microsoft recommends using XNA. Silverlight and C# was pretty easy to pick up after a day or two. Recent versions of the SDK have also added support for building Windows Phone apps using Visual Basic.
If you want to get a good feel of what’s possible with the SDK in an hour, I highly recommend Jeff Blankenburg from Microsoft’s blog series 31 Days of Windows Phone 7. Jeff’s a cool guy. When I went up to Chicago for the Windows Phone launch, he let me grill him for about a half hour on the SDK’s possibilities and gave great, honest answers.
Truth be told, I had fun with the Windows Phone SDK. Whereas the Android tools and APIs frustrated me to no end, I had little trouble picking up Windows Phone and translating many of the paradigms and lessons I’ve learned on the Apple platform to Microsoft’s. I don’t have any plans of pursuing a Windows Phone 7 version of any of my apps right now given the limited resources of running a 1.5 man company, but if the market continues to improve (or more users request it), I’ll certainly look into doing an official product.
The Verdict
My sister got a Samsung Focus for her birthday. She’s 18, uses a Mac and lives on Facebook. She loves it. I don’t think Microsoft is targeting the hardcore geeks and power users with Windows Phone 7. I think they’re targeting the Blackberry users and first time smartphone customers who want a constant connection.
With a healthier app catalog and better support for third-party calendaring services, I’d have no problem jumping to a Windows Phone in place of an iPhone. In fact, I’d say that I like Windows Phone 1.0 far more than Android 2.2. It just feels like a fresh approach and one that works. Microsoft is rumored to have several updates to the platform in the pipeline. I can only hope that they will keep the updates frequent so they can fully catch up to the iPhone and Android in terms of features. I’d love to see this thing succeed.
-
So long as the phone is available on the AT&T GSM band. No Nexus S for me.↩
-
Hubs are a key feature of Windows Phone 7. It’s a way Microsoft separates different sub-sections of the platform. There’s a hub for People, Games, Office and Music↩
-
Microsoft’s App Store↩
-
You can set it to automatically upload to Facebook instead of Skydrive.↩
