Wednesday, June 11, 2008

Just How Bad is Windows CE?

Lately, I've been developing concurrently on the iPhone and Windows Mobile. The .Net Compact framework is actually pretty good compared to the iPhone SDK but the user interface of Windows Mobile is just so very, very awful. I can't think of anyone who has tried absolutely anything else and like this. I can't even think of anyone liking this period. Considering how good a job Microsoft is doing with its general and server operating systems, how is it possible that they are even willing to release this product in the first place? Considering the quality and usability of the desktop and server systems that Microsoft puts out, Windows Mobile isn't even worthy of calling itself Windows. Sure the underlying kernel and technologies are pretty solid but it doesn't change the fact that the user interface is just crammed for such a small screen. I was using this the other day just to make a call and kept thinking to myself how many people I know wouldn't even be able to answer or make a call with this thing.

The real problem with Windows Mobile is that it isn't trying to be a really good phone, it's trying to be a pocket PC which not so coincidentally was its original brand. It just doesn't have the screen real estate to pull that off.

At WWDC 2008, Apple announced 3G iPhones that are actually cheaper than the current models. This is bad news for every smart phone vendor out there. I see really two segments now, the people who just want a basic phone, and the people who want an iPhone. The iPhone is really just that disruptive of a technology. I can't explain in words just how horrible it is to start using another smart phone again. Furthermore, it's the only phone that I have encountered that makes mobile web browsing viable.

So what is everybody else doing? Well, you have things like Android and the Samsung Instinct which are clearly heavily influenced by the iPhone but neither are yet available. The iPhone 3G, with its 7 Mbps Internet access, goes on sale early July of this year.

All is not lost for other vendors however. Let's face it, even with its new focus on the enterprise with the iPhone, Apple is really not very good at dealing with businesses and developers at this scale. Those users won't put up with half the things the regular Apple fan boy puts up with. If you're in the iPhone developer program right now, you probably don't like Apple very much. The things they make you do to actually deploy an application to real hardware is pretty obscene. At this point, I think it's Apple's market to lose. We'll see if Apple will learn a bit of humility here and open up this platform instead of imposing their will on everything closely related to the iPhone. This is really where the door is open for something like Android to come in and really give iPhone a run for its money.

We'll only know for sure over time but Google, now more than ever, needs to get real hardware out into the wild and at the very least refresh the Android public SDK. The Android SDK drop is still the one from last March and, thanks to controlled leaks, doesn't look or feel anything like the Android of today.

So just how bad is Windows CE? Well, it's so bad I don't even think it's a contender anymore. Let's face it, convergence is still ever creeping in. In a few years, your primary computer will probably be your phone that you cradle to get a full sized screen and keyboard. This is already happening, just have a look at the Celio REDFLY. I would think this makes Microsoft pretty nervous.


Surur said...

Is linux bad because many people hate the UI. As a developer you should know UI is easy to change, as can be seen with the HTC Touch Diamond and Samsung Omia.

pjulien said...

Really? How easy is it to change the UI? Both Gnome and KDE have invested many thousand of man years in their respective projects. Good user interface design is not easy nor quick.

Furthermore, the HTC Touch Diamond is still based on Windows Mobile 6.1 and still suffers from the same horrible UI. I'm sorry, but TouchFLO just doesn't work. Even when it does, at its best, it is only a hybrid. You have touch interface which is somehow pleasant in one area of the system but as soon as you start using applications and utilities you're back to the standard stylus driven Windows CE interface.

Even if Microsoft decided to change the interface, it wouldn't get rid of all these bad devices already on the market nor the applications that are written to take advantage of such devices.

If this is so easy, how come the just recently redesigned Windows Mobile 6.1 interface is still so bad compared to the competition? My entire point behing this blog entry is that a company that is doing so many things right with its desktop and server OS should have a clue on how to do a good mobile OS and apparently it doesn't.

Finally, I would also argue that Linux and a mobile phone tend to very different user classes. I use Linux a lot, and rarely do I interface with it other than with bash. I would not use bash on my phone however. Phones, even the smart ones, really need to be straight forward.

Surur said...

You ask how easy? Just look at an app like pointui

Free, full screen, and you wont even know you are using WM,if thats your thing.

Complaining about the UI of the apps you install does not make much sense. Most apps are moving towards being finger-friendly already.

For examples see S2P, PocketCM, HTC Album


With WM,you can have anything you want. I am not sure what your complaint is about the HTC Touch Diamond's UI. You could remain inside the fancy UI for ages if you are just using it the way you would use an iPhone for example.

pjulien said...

So how does any of this apply to my point that the basic, out of the box Windows CE, stylus driven shell is awful? Or that Microsoft should know better?

If all these companies (Pointui, HTC and others) are writing replacements, are they not feeling the same itch?

Surur said...

For one, you said doing a new shell is difficult, but its clearly not. The iPhone shell for example has been cloned to death already.

Secondly, for a stylus-driven shell, WM is ok and pretty efficient. If you hate on styli then you obviously have an issue, but if you dont, then you dont.

Thirdly, MS has done a lot to make the UI one-hand capable using a keyboard and d-pad. If you are an affectionado of this ussage scenerio (which many are) then you could be pretty happy with WM.

In short, using the iPhone as an artificial measure of what a UI should be (there are plenty of faults with it if you dont buy into how Jobs wants you to do things) is where you are going wrong.

pjulien said...

I think you're missing the point. In any case, I just don't see the value of all this back and forth since nothing new is being said anymore.

I think we'll just have to agree to disagree.

Mike W said...

I'll have to agree with Patrick here.

Just the fact that all these UI kits exist on top of Windows Mobile proves that the one provided is wholly inadequate. And in this day and age, one more thing we definitely do NOT need is Yet Another UI Framework (can you say fragmentation?)... so they need to get their act together and come out with a complete and decent mobile framework, or go the way of the DoDo after Android and iPhone wipe it out

Surur said...

I thought we were finished, but as we are not, I would like to add that being able to add value and differentiation to their Windows Mobile devices are actually good for the OEM's.

E.g. at the moment WM users are actually pretty torn between devices like the HTC Touch Pro and the Sony Erricson Xperia. They are both pretty similar devices specs and form factor wise,but the UI additions are radically different and both very attractive.

Being able to add to the UI makes Windows Mobile less of a commodity OS,and certainly makes upgrading from device to device less boring.

I expect iPhone 2 users will not find unboxing iPhone 2 half as exciting as iPhone 1

Mike W said...


you don't see that as a problem?

As an app developer, do you really want to have to support $X versions of your app, each coded specifically to that UI framework?

Then dealing with the bugs and idiosyncracies of each one???

Rather than just having ONE WindowsMobile app? (well ok you'd have to compile for the different CPU architectures, but you get my point.)

Surur said...

While its a challenge, the WM market is big enough and forgiving enough of inconsistencies for this not to be too much of an issue.

Its easier on a limited platform like the iPhone to remain consistent,but once Apple adds new devices with different resolutions and screen sizes (like the iPhone nano and iTablet) iPhone developers will face the same problem.

Its part and parcel of developing for a platform,not a device.