Why the iPhone is Destroying Windows Mobile in the Market

Ok, so this post is a little premature, but it just has to be said.  The reason the Windows Mobile (WM) is dying on the vine lies firmly on the shoulders of the .Net Compact Framework( the C# library used for many application ) and the main WIN32 CE  API in general. Now this is a little unfair of a characterization, because Apple has yet to release its SDK for the iPhone, but it is obvious that it is running a real OS.  So many things have been stripped out of the Windows Mobile OS, that it is an effort in frustration to do even the simplest things.  The documentation is a nightmare as well, with everything from the full .Net Framework listed with the Compact stuff, and there are no/few examples. To be fair also, as with all Microsoft products, backwards compatibility is always one of the main skeletons in the closet.  WM has been around for 10 years now, and that legacy, along with the WIN32 legacy in general, has really held it back. But there is also this sense that they said: “This is what we think you should do, so we won’t give you any other way.”

Here is a hit list of issues that I’ve come across:

  • There is no Rich Edit control, only a RichInk control.  And for some retarded reason they decided not to support full justification in the RichInk control, so almost no WM apps do either, from PocketWord on.  This means if you want justified text (like for an eBook reader), you have to roll your own.  It would have taken maybe another 100-200 bytes to support it.
  • Little transparency support.  Any decent design takes advantage of transparency these days, and I am spending an hour googling trying to figure out why my toolbar buttons look like shit.
  • No animation support.  Think Flash here (move button A to X,Y over 1 second and add a drop shadow) .  I imagine that Vista Aero has some better animation now, but WM has none. 
  • Just plain missing API calls, like OemToChar, and some other Unicode/Wide character support.  I’m trying to compile an unrar DLL for WM and it just isn’t pretty, even though unrar doesn’t use much craziness.
  • The WebBrowser control is completely crippled.
  • And because it is all closed source you can’t see a damned thing about how it is done. This would solve almost any problem out, there, making the Compact Framework source viewable so you could make your own versions without having to start from scratch. [Updated: I have since discovered that you can look at a lot of the underlying NETCF (and .NET Framework in general) source code using .NET Decompilers like Reflector.

I have a C/Win32 API app I need to modify, and I would like to port it to C# but it is turning into a nightmare. And of course I would even consider getting an iPhone once the SDK comes out if they had a Verizon version, but I get no GSM reception in my apartment in NYC. I’ll keep you posted.

UPDATED: So I’ve gone ahead and just started from scratch with my project (an eBook reader), in C# NETCF v1.0. I’ve got pagination down within 30 seconds for a 300 page paperback on a mobile device, and it now does full expand/squeeze justification of the text.

This entry was posted on Mon, 18 Feb 2008 14:26:00 GMT and Posted in . You can follow any any response to this entry through the Atom feed. You can leave a comment or a trackback from your own site.


Trackbacks

Use the following link to trackback from your own site:
http://blog.slaingod.com/trackbacks?article_id=why-the-iphone-is-destroying-windows-mobile-in-the-market&day=18&month=02&year=2008

Comments

Leave a response

Leave a comment