It’s not that I was dissatisfied with my Motorola Droid, I was simply intrigued by the much maligned Windows Phone. I tend to be an equal opportunities hater of computer software/tech, although I’m not perfect(*1), just differently flawed than the mainstream of compsci bloggers. Indeed, it was the promise that I could exchange my phone within 14 days of purchase that made me decide to take the Windows 7 phone for a spin(*2).
All in all, I’m a convert: I enjoy my Windows 7 Phone; a pleasure to use. I may hate the crap out of the Marketplace, still, for all that it is filled with the most annoying rubbish cluttering and obscuring the gems therein, but in almost every other sense, after many years of phonephobia, I now have a phone that I love every last excuse to interact with.
If you never get your hands on a Windows Phone 7 (wp7) device, everything you see and hear about WP7 is likely to confirm that it is Microsoft’s desperate attempt to rip off iPhone.
The iPhone is clearly Microsoft’s primary competition, having given WP7 a try (CAUTION! the still for that cnet review is very scary, man hands + dress = where is this going?), I have to eat humble pie and conceed that Microsoft have actually done their own thing here…
Microsoft have had a presence in the mobile market since 1996 (*3). Of course, they’ve yet to see the success of the iPhone, and iOS tends to encompass almost everything that Microsoft failed to think of while trying to go mobile.
Meanwhile, Microsoft have also made a whole plethora of famous forays into non-desktop platforms and devices: touch (Surface, 2001+), gaming (Xbox, 2001+), entertainment (Zune, 2006+) and web-social stuff (hotmail, bing, etc, 1996+), Kinect, tablets, etc, etc, etc…
Windows 7 Phone seems to be a blending of what they lend from these many experiments. Is the goal to compete with the iPhone for mobile market share? I don’t doubt it.
But the iPhone rip-off theory only stands up if you employ rampant ignorance. What I see on the WP7 phone are elements of Xbox Live, Zune, Windows Media Center, and so on.
The platform is powered by .NET, Silverlight and XNA. The design philosophy of the interface is “Metro“, which I like to think of as “Modern retro“. It’s about a crisp, clean presentation, and it tries not to clutter your display with “chrome“.
I immediately read this concept suspiciously. Whenever I hear the word “rich” (as in rich content or rich media) I immediately think of Microsoft, the way Roger Godberd might think of William de Wendenal; That combination of technologies has to spell “shitty performance”, after so many years of pumping their richness at us, surely Microsoft’s turnabout had to be a performance issue?
On first contact with the phone, this suspicion was immediately confirmed for me. The interface is exquisitely responsive, and I found myself thinking “well, this is nothing but text on a 1.2Ghz modern CPU plus GPU, of course it’s bloody responsive”.
The responsiveness persists, however, to any variety of complex displays. The only times I’ve seen a slow down in responsiveness was using apps which were clearly using some kind of cross-platform API; apps which implement the UI for themselves rather than using the native Windows phone API and features directly, and which extra layers of complexity and code results in a less-well performing app.
WP7s interface is initially somewhat disconcerting; it’s not like iPhone or Android. It is something more familiar, it’s menu driven, with the “hub” concept they hype merely being a fancy menu.
A “hub” is simply a menu entry that can fetch stuff from the items you attach to it, kinda like a google / yahoo / aol “portal” page. The social hub (“People”) is a fine example: I frequent facebook, and my People icon at the top level of my phone shows miniature profile pics of recent posters to my facebook wall.
Tapping the icon leads to a pivot-menu (left-to-right scrolling between sub-categories) showing select items from my various social sources.
My “email” hub indicates to me which of my mail services has unread mail thru small icons, and tapping it takes me to a pivot-menu where the pivot lets me quickly pan thru all of my mail services without having to actually open them. A double tap on, say, my google mail takes me to a more detailed view of my google mail, but the top-level is often perfectly sufficient for determining that all I have there are special offers today.
Where this has really won me over, however, is the cleanliness of the interface they achieve this with.
My experiences with Android and iPhone were both perfectly fine, but both devices had a reasonable amount of “urgh” when it came to navigating more complex notions.
So it gives me a certain degree of perverse pleasure to find that, of all the phones I’ve dabbled with, Windows Phone 7 turns out to be the most no-brainer once you have disengaged your other-phone engendered biases.
My first few days with WP7 were pretty frustrating: It just did want to work like Android!
Then I started to see the philosophy of the phone: What you see is what you get, without the need for fancy UI markup. An excerpt from facebook is provisioned by some kind of facebook app, so tapping on it should take me into the relevant view to see the rest of the excerpt.
I was also initially ignorant to the fact that Windows 7 Phone does not multi-task apps; what you see is what you get, so what’s on screen is what’s running. It was only reading a comment by a reader here on my blog that I realized this. My immediate reaction was “how f**king stupid is that?!?”. My chance-to-return-phone soared to 99%.
When you click a web link in an application, the phone hibernates the application and brings the web browser alive. When you go back to the application, the web browser is hibernated/parked and the application is resumed.
That’s why there is no task manager and, in my humble opinion, it’s actually flippin’ brilliant.
On my Android phone I typically ran my task-manager app about once a day to kill off various unwanted apps to regain performance. I probably rebooted my phone about once every one to two weeks.
At some point I’m probably going to want to be able to kill off app instances – because the information about run-state has to be saved some place, and that means storage is consumed. But it won’t be for performance reasons.
For comparison purposes, I tried an assortment of apps today and then rebooted my Windows 7 Phone and tried them again. They took a few moments longer to start up, naturally, but other than that there was no noticeable change in performance for better or worse after the reboot.
The only time I’ve seen a change in performance was towards the end of the phone’s first couple of days. Apps that had been running for a day or so were noticeably slower, while apps I hadn’t tried or had just installed ran as fast as expected. A reboot fixed this.
What I hadn’t known was that the phone had installed a major update towards the end of the second day, the kinda that would require Windows itself to reboot. A little further reading suggests that Windows 7 Phone was able to compartmentalize itself: the already resident applications continued to operate with the unpatched versions of things causing a slow down, while anything starting fresh was fine.
I’m sure that over time the inability to assert you want an application closed down will prove to be an annoyance – ffs, just restart internet explorer so I don’t have to reboot my phone, please? - but it’s not the disaster I originally though it was.
I’ve just gotten done installing the odds and ends required to develop software for Windows 7 phone. But I’ve got work stuff to do so I’m not quite ready to get into playing with WP7 development, yet.
*1 In particular, I distrust all things that bear the taint of Marc Andreesen, i.e. Netscape/Mozilla products, although I am a complete Thunderbird fanboi.
*2 I was going to get a Droid 3. My HTC Trophy Win7 phone is the first phone I have found the on-screen keyboard to be good enough to stand in for a physical keyboard for my kinds of uses.