This week was the release of Windows Phone 7, Microsoft’s re-write of a mobile operating system. I went to the two-day developer conference this week in Boston, MA, and wanted to offer a little write up of my thoughts on this new competitor. The UI of the operating system they refer to as “Metro”, meaning that it is intended to present information in an easily understandable at-a-glance way (similar to how public transportation signage presents lots of info in a clear manner with big words, shapes, and colors).
For the first few minutes of the first presentation, I was really excited about what Microsoft was doing with Windows Phone 7. They kept stressing that it’s not windows mobile, and that their user interface was different from the standard grid-of-icons. Cool, something innovative. To make sure that they don’t get into the WinMo hardware issues, they’re enforcing hardware minimum specs which manufacturers need to abide by. Again, that’s a great thing. C#, Silverlight and XNA enable app developers to make visually intensive and sleek apps with a very short development period. Wow, that’s something big for a market struggling to just get FLASH to run on their devices, and you have silverlight AND can run XNA-based games. That’s huge. Some of the other advantages include office applications such as Powerpoint and Office being made mobile, Bing search provides location-aware results, Exchange Server integration allows for devices to be wiped if lost or stolen, Expressions Blend allows for cool transitions and animations to be easily implemented. Push notifications, another feature that only recently entered into other mobile operating systems, allow for some nice off-device functionality to occur. Their app market is where things went from good, to ok, to WTF.
Their app market:
There’s an approval process
Ok, some approval process is better than Android’s no approval process, and better than Apple’s “We don’t like it, so it’s banned” model. This gives me hope that this might be done right.
Each app developer license can only have 5 free apps
By limiting free apps, the idea is that the market will be flooded with less of the same glut of chaff apps. Another pretty good move, and also means that you have a reason to charge for apps again (I think other markets have app prices driven down by the amount of ad-funded competition, this may change that)
You can only “side-load” onto unlocked phones, and only on up to 3 unlocked developer phones
At first they said you can’t load apps onto phones that are not available from the market (my LEAST favorite feature of Apple’s store). Enterprise applications, government applications, etc all would need their applications to be available on the market. Their amendment to this later was that you can side-load on developer “unlocked” phones, and each developer can only have 3 such phones. This is your test bed. For each $99 you want to spend per year. One of the conference participants asked how you Beta test applications, and didn’t receive anything near the answer he was looking for. So how do you Beta test apps? Release it to the Market, and see what the responses are. Ugh.
You cannot run background services on phones
This was what ground my gears the most through the conference. They’re playing the Apple “to maintain user experience by not having background processes using cycles in the background, or stealing data” shtick. But rather than providing system-based hooks that can simulate a background process, their go-to answer was to use Push notifications from an intelligent server that can chew through all the cycles they want. How do you create any sort of alarm app? Just make sure your user doesn’t quit your app, and you’ll be fine.
Ok, so onto the bad stuff.
The built in browser is some combination of IE7 and IE8. Why not use Web Kit? Who knows, probably because it’s what Google and Apple do. They weren’t focused on HTML5, as it was a moving target when they started. Maybe in the future.
Push notifications are their catch-all workaround. You want to do background processes, have a Web Service on MSFT’s Azure platform use all the cycles, and then ping back the phone when complete.
All apps are basically single threaded. If you’re in App A, and hit the windows button, App A is killed. It’s on the app developer to save the state of the app before it gets killed (aka “Tombstoned”, http://bit.ly/wp7Tombstoning). This isn’t a terrible thing, but why is it necessary? This is the prime reason for why you can’t have a background process (because it dies). When you re-open App A, you need to check the state store and then re-load your state to what it was before being tombstoned.
So that’s my summary, I don’t think that windows phone 7 is “there” yet. I do think that it has a lot of potential, but they need to work out a lot of the issues that developers have, or else they won’t attract the apps that will attract the users. IPhone has a big market share, Blackberry has a big market share, Android’s share is growing. To breach those existing holds, they’ll need to knock it out of the park.
EDIT: Some other good reviews of Windows Phone 7 can be found here:
- Anandtech - A very in-depth review of the entire windows phone 7 experience, with some good pics and descriptions.
- Engadget - Another in-depth review of the experience.
- Gizmodo - Gizmodo offers some further insight into how WinPhone 7 will fit into the stuffed smartphone market.
- Mobilecrunch - A great review highlighting the negative WinPhone shortcomings that I agree will keep WinPhone7 from ever taking over the majority of the market share (not to say that they couldn’t get 10% with their current offering)