Monday, June 14, 2010

Windows Phone 7 - The Haves and the Have-Nots

While Windows Phone 7 (WP7) sounds intriguing as a platform for iPhone-type applications, TechEd 2010 was very illuminating on the many things that this new platform does not include and why you will unlikely be able to migrate your existing Windows Mobile applications forward. Let me go through the laundry list of the have-nots:

  • No native code support. Silverlight 3.0 and XNA are the only ways to develop applications for WP7. If you are not developing games, then Silverlight is probably the path you will be forced to take.
  • No Database support. SQL Server Compact is not part of WP7. Nor will SQLite or any other 3rd party database engine run either. One TechEd session had the gall to suggest that we should all use collections of objects and Linq as a replacement for SQL Server Compact. Access to data is only available through Web Services and what the application can store in Silverlight’s Isolated Storage. No one would confirm or deny that database support would ever be added to WP7.
  • No Side Loading Applications. Except for development mode, applications can only be loaded to WP7 devices through the Microsoft Marketplace. It doesn’t matter if the app if for internal use in your organization or not. Also, it is not free to use the Microsoft Marketplace.
  • Application approval is required. Microsoft claims that it will not be a blackbox like Apple where you stick an app in and hope it comes out; however, they also said they there is a list of applications types that will not be allowed. VOIP was they only example provided.

  • No access to data on SD cards. Since Silverlight applications can only use isolated storage, there is no way for an application to access information on an SD card. While some devices may support an SD card, the additional memory will apparently be made available for isolated storage, but you can’t preload the content.
  • No File System support. Again only Isolated Storage is available to a Silverlight app.

  • No RAPI support. There will no interacting with a WP7 device via the desktop. Obviously there will be some synchronization with Outlook, but nothing the developer will have control of.

  • Applications must be Silverlight 3. Silverlight 4 will not be available for WP7.

  • Out of Browser Silverlight support only. Silverlight is not going to be supported in browser on the phone.

  • Default Browser must be Internet Explorer. While Microsoft claimed that other browsers will be allowed on the phone, they can’t be the default. This is probably okay as long as the new Internet Explorer is better than the Windows Mobile version; however, is it possible to write a viable browser in Silverlight or XNA?

  • No Bluetooth API. While there is going to be Bluetooth support on the phone, there is no Bluetooth API.

  • No inter-process communications (IPC) and no Socket support.

  • No Video Capture Support. Phones will have a camera but not video capture support, and also no video brush.

  • No Outside TrueType Fonts - Microsoft experts claimed that you will not be able to use TrueType fonts other than the ones delivered with the device. This limitation makes since, how would you get them on the device. While there is supposed to be support for embedding TrueType fonts in your xap file in Silverlight 4, this will not be the version used on the device.
  • The TechEd demos of WP7 applications had a common theme; they crashed, hung up, or gave peculiar error messages. For a platform that is going to be delivered in the October timeframe (3 months away), it is hard to have much short-term faith in the new platform.

On the positive side, the list is not quite as long:
  • The Silverlight apps running on the phones looked good even if they were only Silverlight 3.
  • Lots of different soft input panels (SIPs) provided like numeric, URL, email, etc.
  • Built-in support and APIs for multi-touch, accelerometers, vibrator, microphone, and camera.

  • Phones are not going to be feature locked like Windows Mobiles. They should be upgradable like the iPhone.
  • Applications on the phones do not have the strange isolated storage limits that desktop Silverlight applications have.

Microsoft continually offered up that they were so rushed to get this phone to market that they had to leave a lot of things out. Since the phones are not feature locked (so they claim), maybe there will be a quick release cycle of new versions to fill in the missing components. If you are not planning on developing iPhone type applications (casual games or casual apps usually requiring a connection to a backend), you may be stuck waiting for a new release will new features (or jumping ship to Android or the iPhone). The WP7 platform as it is depicted today will not be able to support the sophisticated applications that are currently running on Windows Mobile, so it cannot be thought of as a successor to the Window Mobile platform. There are many new and great things you can do on WP7, but this constitutes a different kind of platform (one to compete with the iPhone). Will it grow to be a successor to Windows Mobile? How long will this take? What if it flops against the iPhone and never takes hold? Too many questions around the platform to invest a significant amount of development into it if you are not focused on creating iPhone type apps.

***** Since I posted this blog entry, I went to another TechEd and wrote another more updated post.


luc said...

Not all bad news, need to understand how it will work WP7

"The new Windows Phone platform has attracted interest from a vast array of .NET developers who are quite familiar with desktop and server development. However, phones, PDAs, and other battery powered devices are very different animals.

Remember, you’re developing on a phone, not a desktop, things are different down here!"


Best regards

srego said...


I have been developing with Windows CE, Pocket PC, and Windows Mobile for over 10 years. I know quite well that a phone is different from a desktop. I think your quotes are from someone who has never developed with Windows Mobile and simply doesn't have any idea what they are losing. Naiveté is bliss I guess.

luc said...

Thanks for responding.

I only an amateur by technology, and I am not a developer. However, I find it very interesting to see both sides of the coin, indeed the debate of what will be WP7 is very helpful!

(sorry for mi bad english)

Thanks, sincerely, Luc

srego said...

I honestly think we will just have to wait and see how well WP7 is going to turn and that depends on how long it will take Microsoft to add in the missing components and fix problems like having to go through the Marketplace. I think if you are okay with the iPhone-style apps, you will be very happy. Unfortunately for me (and I am sure for others too), WP7 can’t support the apps we are currently running on Windows Mobile. I can’t wait (years?) for Microsoft to get WP7 ready, so that leaves Android as an alternative. I am not too keen on going the Android route since my expertise is with .NET.

iliask said...

I think I don't like it so much anymore. I know it's going to be "jailbroken" at some time but as a power user, if I miss the functionality I had with my 6.x winmo devices then I'm heading to android.

Mike P. said...

Call me Mr Negative... or Ishamel (sorry, Moby Dick flashbacks)... but I just don't see anything positive about the new WP7. I don't own an xbox, I don't play any games on my phone, pocketplayer does a great job playing the music I have on my phone, and it seems that most of the applications I use cannot/will not work on WP7. At least not right out of the box, which they do fine on WM6.5. While waiting for the TP2 to come out, I picked up a palm pre for a few weeks and I hated the fact that i couldn't do all of the things I *needed* to do. It was a fun phone to play around with, I loved the card system and pandora, and the keyboard was fine for me too. BUT, I returned it, grabbed the TP2, and have been happy since.

I know a lot of people seem really excited about WP7, and the big things for them are the Zune and xbox stuff. I'm really hoping that there will still be an adult, ahem, professional version of windows mobile released until the game and music playing WP7 catches up.

srego said...

Mike, I agree with what you are saying. Microsoft did say at TechEd that they would support Windows Mobile 6.5 for another year. I don’t know exactly what this means (and they did not clarify). I doubt they are going to spend much effort putting anything new into it. I also doubt that many phone manufacturers will be coming out with new hardware for a “dead” platform either. I guess I am Mr. Negative too.

Mike P. said...

1 year huh. Well, before I bought my TP2, I'd been using an HP2215 for 6 years, and still use it practically every day! So I guess we'll see how long the TP2 holds up. Maybe in 6 years WP7 will be useful.

Anonymous said...

The Compass API in WP7 don't work. But all handsets will have a compass that will not be operating.

Anonymous said...

Windows Phone 7 will not support IPsec, which is used for secure web connections, vital for enterprise users.

minka said...

We recently translated a quite complex WinMo app for the Blackberry.

We use a plugin architecture to translate VB.Net to native J2Me Java which uses the Blackberry UI.
After the Blackberry, we will be targeting the Android.

Saumya Aggarwal said...

Nice post.

MLL said...

Good info. I'm currently in the process of examining SL support on various devices.

This is just a "guess" on my part, but IMHO I think Microsoft is doing the Silverlight-only route (initially) for a specific reason. I believe they have likely decided this is an excellent way to "force" the adoption of Silverlight across a broader audience and therefore speed up its future hold and domination toward SL crushing Flash.

Again that is just a total guess but it makes a lot of sense to me and is simply something that popped into my brain while performing my current due diligence.


Anonymous said...

Good post. It would be nice to have a follow-up describing the current situation.

Dawlat said...

Windows 7 Mango would not support Bluetooth programming.I am using the development tools beta and don't see any bluetooth APIs.This is a major set back from Microsoft.