Where did 240 come from?

You may have noticed a number of Windows Mobile devices coming out with 240×240 screens.  And you’re probably asking yourself, “Who came up with this 240 number, anyway?  Why aren’t they doing 320×320?” 

Now, please don’t interpret this entry as my trying to convince you that 240×240 is somehow better than 320×320.  In almost all cases, it’s not.  I’m just trying to explain how we got here.

Those who cannot remember the past…
We’ve been doing Windows CE devices for around ten years now.  We did a bunch of devices that were, basically, small versions of laptops–“clamshell” devices with screens that were wider than high (landscape) and qwerty keyboards.  Then, somewhere around 1998 (I don’t remember the exact year), we released what we called the “Palm-sized PC.”  It was intended to be held in one hand with a stylus in the other.  It had no keyboard and a portrait orientation.  Basically, it was the predecessor of Windows Mobile PocketPCs.  And its screen resolution was 240×320.

As a quick aside, 320×240 (a 240×320 screen turned on its side) is frequently called “QVGA” or “Quarter VGA.”  This is because many of them were made, effectively, from a 640×480 (VGA) screen that was cut into quarters. 

Fast forward to 2003.  All PocketPCs since that original one had QVGA screens turned portrait.  But we were starting to see higher resolution screens that were physically the same size as the normal ones.  We decided that it was time for Pocket PC to start supporting higher resolution screens.

To scale or not to scale, that is the question
First we had to decide what to do with the extra pixels.  On the desktop, more dots means you see more stuff on the screen.  You see more of the web page at a time, or more of the long email at once, etc.  The trouble with that approach, however, is that everything gets smaller.  Conceptually, the desktop compensates for this by making the screen physically larger, but the code really doesn’t pay attention to screen size.  You can buy a 14 inch 1280×1024 screen and you can buy a 17 inch 1280×1024 screen.  Everything will be much smaller on the smaller screen.

We knew that our higher resolution screens wouldn’t be any larger than our normal resolution screens.  And we were worried that, if we went the desktop route, everything would be too small on the high resolution screens.  So we made the controversial decision to not go the desktop route.  Rather than showing more stuff on the higher resolution screen, we’d show the same amount of stuff, only we’d make it look a lot better. 

I call decision “controversial” because I was against it.  (-:  I felt that the higher resolution screens should let you see more stuff.  Of course, I have better than 20/20 vision.  At the time I was running my 17 inch desktop monitors at the insane resolution of 1600×1200.  So the claims that people wouldn’t be able to see the tiny text kind of fell on deaf ears here. 

I eventually came around to their way of thinking, but it wasn’t until I really got to play with a high res device and saw how much better it looked with same-sized text but more dots.  Also, the setting at Start->Settings->System->Screen->Text Size gave me something of a best of both worlds.  Check it out if you don’t know about it.  It works on both high and normal resolution screens.

A double by any other name
Now, for devices using QVGA (320×240) screens, the most natural place to go is VGA (640×480).  The advantage of this is that you can do backward compatibility with apps that were written to assume PocketPCs would always be QVGA.  In those situations we could “pixel double” the screen and make the app think it was still 240×320.  “Pixel double” is kind of a misnomer.  We double the pixels in both the horizontal and vertical directions.  So “double” here really means “multiply by 4.”  But what you end up with when you do this is a screen that looks exactly like the lower resolution one.  Everything scales correctly, and everything looks fine.

So we went with VGA screens as our second PocketPC resolution.  We had our art teams do a second set of icons and bitmaps that were four times as big but that would take up the same amount of space on the screen, and we scaled our fonts to match.  Backward compatibility with low res apps worked through pixel doubling.

Square pegs
We also wanted to enable devices with keyboards on the front, like the ones you’re seeing now.  And we knew that a portrait rectangular screen with a qwerty keyboard would make the device too big.  So, while we were doing the work to lay stuff out for higher resolution, we also did it for square.  It was pretty natural to take a 240×320 screen, lop off 80 pixels, and make it 240×240.  It was similarly natural to take a 480×640 screen and support 480×480.  So those are the square resolutions we support.

We actively talked about doing 320×320.  But we decided against it for a number of reasons.  The first was that there’s no good backward compatibility story for it.  You can pixel double, but “pixel one and a half” doesn’t work very well.  The next was that there’s not much of a growth path for 320×320.  Hardware vendors told us that they had no plans to make 640×640 screens (where they do have plans to make 480×480 screens). 

So, why did Palm go with 320×320 for their non-WM devices?  If you study their history, you’ll find that they made all the same decisions we made.  It’s just that their original resolution was 160×160.  So, when it came time to choose their higher resolution, it was natural for them to pixel double up to 320×320.  We’re in an unfortunate situation at the moment where we’re comparing the high res PalmOS device to the low res WM device. 

Where do we go from here?
Windows Mobile fully supports 480×480 devices.  But the cost of those screens is a bit too high at the moment.  As those costs come down, we will start to see devices that use them.  In the mean time, as you’re looking at your 240×240 screen, don’t start thinking, “if this were 320×320, I’d see 50% more of my email at a time.”  You wouldn’t.  It’s just that the text of your email would be clearer.  Small compensation, I know, but it’s all I can really offer. 

Mike Calligaro

Comments (75)

  1. BobR says:

    Great article! Thanks for the thought process leading to this resolution.

    Actually, while Palm has the advantage now, when displays grow it may switch over to your advantage as you hinted. (Depending on what ALP looks like.) It’s a shame there aren’t more VGA pdas yet also.

    I’ve always said that the initial 240×320 was a great choice because it seems to give more info on the screen than even a 320×320 Palm screen, yet requires less resolution and scales naturally to VGA. It’s very functional even if not as pretty as 320×320. But 240×320 does look a bit "old-fashioned" now, so I hope the better screens get cheap fast. It may do a lot for device adoption. Even with 240×240 in smartphones.

    I’m assuming that 240×240 gives you the same resolution as 240×320, but just "cropped" off.

    Thanks for the article.

  2. Murad Kheraj says:

    Excellent article.  I know this is the wrong forum to bring this up but if Palm is able to do High Res 320×480, why can’t the Windows Mobile OS?  Is it a lot more coding?

  3. Alex says:

    Its not hard for CE. Windows Mobile can switch res’s very easily. The issue is purely third-party app compatibility.

  4. Mike says:

    What’s fascinating to me is that the new smartphones (like the T-Mobile SDA or the Cingular 2125) also have a 240×320 screen, but the interface seems to show so much LESS information on the screen than a 240×320 PPC.  I know there are Homescreen tweaks (like Facade) that allow much more info on the home screen, but even a 240×240 Treo700 homescreen is so much more useful than a 240×320 Smartphone screen.

  5. …that my old TRS-80 Model III had a graphic pixel resolution of 127×47.  It’s sad that I even remember that.  Thank you, though, for a thorough explanation.

  6. 240×240, 320×240, 640×480, QVGA, VGA – confused?

    Well one of my colleagues Mike Calligaro has written…

  7. Galt says:

    That’s an absolutely excellent explanation.

  8. Galt says:

    That’s an absolutely excellent explanation.

  9. MikeCal says:

    Bob, that’s correct.  240×240 is the 240×320 resolution with the extra pixels "cropped off." (I wish I’d thought of that description. It’s perfect!)  So 240×240 and 240×320 devices use the same icons and bitmaps.

    Murad, doing 320×320 would take a fair amount of coding, but the real issue is art generation (making icons and bitmaps for the 3rd resolution) as well as compatability with applications that weren’t written to support that size.  It’s certainly possible for us to do it.  But we’d need to weigh the tradeoffs first.

    Mike, I was focused on the PocketPC in this, but you’re right that there’s a similar story for the Smartphone.  The line between Smartphones and PocketPCs is really blurring, and it’s getting getting hard to tell them apart.  But, at moment, the belief is that the smartphone screen is physically small enough that if we showed as much information as we do on a QVGA PocketPC screen it would be too small for normal people to read.  However, this explanation isn’t going to hold water much longer as PocketPCs continue to get smaller and smaller and Smartphones start to take on PocketPC-like form factors.  

    Thanks everyone who enjoyed the entry.


  10. Ronny Gydar says:

    Great article as always from you guys!

    Being a developer I too am used to running with small fonts and high resolution on my PC.

    I agree that the text look much better on my 640×480 JasJar, and appreciate that when I read books on it.

    I always set the size for the fonts to the smallest possible on the JasJar, and YES that gives us more info on the screen.

    But are you guys planning on making more  screen artifacts/elements scalable in the same way…so that for example the bar at top at bottom of the screen also scale too?  When I  know set the size to minimal, my JasJar still use approx 15-20 percent of the screen (is more prominent when I run in "horisontal mode", which is the one I use the most on the JasJar) for just the bars at top and bottom of the screen. There is also a lot of fonts (even in built in apps) that do not scale when I change the sizing.

    Don’t get me wrong, I have seen huge improvements in the OS during the years (since  I started with my HP 320LX or what it was called…and HP 95LX before that…yes I aaam old:-).  But do you have any plans/roadmaps on improving this area of the OS?

    If more-or-less everything scaled (bars, menys, buttons and fonts) EVERYBODY would be happy, the ones with 20/20 eyesight, and the old-and-busted (where I am soon)! πŸ™‚

  11. Russ says:

    This was very good and very helpful.  This is all I ask is to be informed like this and we can quit asking all these question of why someone was made this way or that way.

  12. Ben says:

    Thanks for the piece! I had been wondering.


  13. MikeCal says:

    Ronny, scaling text works because the text is defined as mathematical functions.  Icons, however, are just an array of colored dots, and they don’t scale very well at all. I saw this recently when I made my Nightly program run on PPC and SP.  I had provided a 16×16 and a 32×32 icon, and it automatically scaled the 32 to 64 acceptably (for use on VGA PocketPCs).  However, the scaler for HiDPI smartphones makes you need a 22×22 icon.  The system automatically scaled it, but it looked terrible.  Icons scale fine to linear amounts (2x, 4x) but do badly at other factors.  

    We’re talking about various things we can do, but it’s a really tough problem that I’m not convinced we’re going to be able to solve adequately.  


  14. NLS says:

    Well I get to be the "bad guy" ONCE more.

    First of all thank you for the excelent explantation (although the smarter among us might have thought the same explanation already).

    But that doesn’t make it SO wise.

    I agree, manufacturers play a major role here. Then again, the same manufacturers (panel vendors) DID produce 320×320 already and in fact for a smaller (and shrinking) market as Palm. So… this rules out the part talking about the manufacturers’ role. If MS (and HP and FSC and HTC etc.) wanted, 320×320 would be out there for us to buy. You know it and you know it well.

    Then about resizing…

    (Part A) Well… 320×320 would be MUCH smarter because I am sure many many people (including myself) would easily leave their VGA  at home for a 320×320 all-in-one even if NON 320×320 aware apps just used the 240×320 part (I mean DUH!) even with black stripes left and right (no problem by me, believe me). This would be much faster than the current pixel doubling with VGA devices too! No software vendor would be forced to recompile their apps for mere 57600 pixels that 240×240 is. They would eventually make it to 320×320 but without being forced. As SIMPLE as that.

    (Part B) There is no "one and a half" pixel resizing needed as you mentioned in the article (because nobody would like the form streched ONLY one direction and not have square "virtual" pixels). But IF IT WAS NEEDED, don’t tell us it cannot happen. Nydidot does it for YEARS. Again if it was needed (and it is not).

    To me the problem comes from the big difference between the desktop and the PDA, where the second is restricted to a specific form size. I mean why? Why not the OS to take care of this things as all modern software in our desktops? Is there a 350×420 panel? Ok use this! (ok up to the minimum of 240×320… and not the newly introduced minimum of 240×240).

    So since Mike is close the giant, whisper to his ears that MOST consumers DID think of 240×240 being a step backwards and many (against including me) stopped from BUYING a device exactly (and ONLY) because of this.

    320×320 should come and come today. 480×480 will come (too late) when people will ask for 800×600 for their 4" panel PDA… If someone had a 480×640 PDA back in 2004 (wasn’t back then the first introduced VGA PocketPC?) it will be hard to wait for 2007 (my estimation) for an expensive phone with LESS resolution (because 480×480 is still not VGA).

    I hope I am getting though, I am not talking only for myself (although I will not theorize on how many people I "represent").

  15. NLS says:

    wrote too fast and is full of errors (like "against" instead of "again" in "giant" paragraph and "though" instead of "through" in the last paragraph) …but you get the message

  16. badbob001 says:

    I’m surprised no one has mentioned it. This is all about the TREO. If there was never a 320×320 TREO, this whole debate would be moot. If Palm wanted one 320×320 hardware platform for both PalmOS and WMOS, is Microsoft going to say, "Sorry, we don’t need the extra work and the market share, so release your device PalmOS only while we wait for the 480×480 screens?"

  17. gibson042 says:

    No, this is all about the move from 240×320 to 240×240 being a backwards step that results in a loss of versatility.  And I don’t see how it would have been any more work to add 80 horizontal pixels and letterbox older apps vs. removing 80 vertical pixels and overflowing/scrolling older apps.

  18. Sergio says:

    I totally agree with NLS… Even with the typos!!! πŸ˜‰

    240×240 alone, kept me from downgrading (oops!) to the Treo 700W…

    Way to go NLS!!!

  19. MikeCal says:

    NLS, let’s call your idea of having black stripes on the left and right "pillarboxing" since that’s what the TV people call it.

    The reason we chose not to do 320×320 pillarboxed goes back to that decision we made to show things at roughly the same size on all screens.  (Hey, I DID call it "controversial" and here’s the controversy.  πŸ™‚

    What you’re REALLY saying is, "why don’t you take what you showed in 3 vertical inches and show it in 2 instead?"

    The answer to that is, "Because everything would be too small."  Now, you can say, "But my eyes are good enough that it would be big enough."  (Hey, that’s what _I_ said…) But, in the end, we decided that making everything considerably smaller for the off resolution screens was the wrong choice.  

    As for one and a half pixel doubling, you’re absolutely right that it can be done.  I just feel that it can’t be done acceptably well.  My team has done some pretty crazy things.  To enable testing VGA before we had any VGA devices, we made a QVGA device report itself as VGA and then do pixel quartering in the driver to downsample back to QVGA.  I let us test what we needed to test, and it didn’t look THAT bad.  It was the kind of thing we could use internally but that we’d never impose on end users.  The same is true of pixel one and a halfed stuff.  Yeah, it certainly can be done, but some one pixel lines would be one pixel wide and some would be two pixels wide.  And that would look unacceptably bad for a released product.  If you want to load a third party product on your device (like the True VGA stuff some people are doing for VGA devices), that’s cool.  Some of us use them too.  But we can’t ship things that look that bad to the general population.

    As for potential 4 inch 800×600 screens.  You’re right that our current product is not well positioned to take advantage of them.


  20. gibson042 says:

    That’s a lot more clarifying; the root conern for you is the real size on the display and not the virtual size in pixels.  Still, it seems like it could have beenβ€”and still could beβ€”solved by allowing the end user to scale the entire interface, including the title bar and soft keys in addition to the text size control we currently have.  So please consider this my "second!" of Ronny’s suggestion.

  21. Aaron says:

    I see where you’re going… the difference is negligable when you’re looking at text, but the difference is disturbing when looking at .jpg images or the like. We’re talking night and day…

  22. NLS says:

    Mike your explanation is fine, but I don’t buy.

    I have had quite a few PocketPC from the early years to my current LOOX 720 (still waiting to see something to totaly kill it without missing anything). This is the first time I don’t feel ANY …urge to "upgrade" and I can never say "upgrade" without the quotes when I talk about the new devices.

    My opinion is that your team needs to go out of Redmond much much more and feel the beat of the real market (not only what the -sorry used as an example- "enterprise-friendly" HP has to say – after all the company I chose as an example is NOT exactly a vehicle for real market feelings …I won’t get started on that).

    Most PocketPC enthousiasts (INCLUDING enterprise users… for some reason you think that enterprise users are NOT normal people), want "better in any and all ways" devices and no backward step of any kind with any excuse (even "valid" excuses).

    This year already, we SHOULD be able to see nice multimedia enabled PocketPC (really multimedia enabled) that will NOT have something less from the previous generation.

    Embedding GSM/GPRS/UMTS (just 3 more wireless, which we all know is just an extra little IC) is no excuse to cut something else.

    Anyway sorry for my various off-topic wanders, just found some space and excuse to put them in. πŸ˜€

    Lift limitations from the OS and let vendors (hopefuly pushed by the market) decide WHAT they want to build. I really don’t get it if some brand wanted to make a 320×320 …2" PocketPC made just for super-humans or for stupid buyers like myself. After all "hyper protecting" PocketPC "against (what you think as) wrong choices" didn’t make it bullet-proof up to now after all (haven’t you noticed?).

    To get back to the topic, many many people believe the 240×240 choice (AND restriction) was wrong; …and many find it is (among others) an artificial restriction to make the distinction with TabletPC more clear.

    Hope WM5 R2 (or whatever) will lift the restriction (hint hint hint hint).

  23. soop says:

    Hey, good explanation, but I think that 240 x 240 has major limitations over QVGA – such as apps not resizing properly and multimedia content being in the wrong aspect ratio.  But then again I realise that the 240 X 240 screens are really aimed at office users rather than me.

    I’ll put this up on my web log sometime tomorrow, and I think I’ll bookmark this site.

  24. MikeCal says:

    NLS, I hear you.  No decision we make is set in stone.  While we obviously can’t go back in time and release WM5 with 320×320 support, we have the ability to add it in the future.  

    Again, this post wasn’t intended to try to convince anyone that 240 is better than 320.  It’s just to explain why we made the decisions we made.  If we add 320×320 support in the future, you folks will be the first to know.  (Okay, that’s not true.  Some marketer would announce it somewhere else first, but you know what I mean.)


  25. MikeCal says:

    There are really two discussions going on here.  1) Why not do 320×320 instead of 240×240?  And 2) Why do 240×240 instead of 240×320?

    We’ve talked quite a bit about 1.  For 2, my answer is that devices with a 240×320 screen and a keyboard on the front are just too large.  We’re making tradeoffs between device size, screen size, and button placement.  But we’re giving you various choices on different sides of that tradeoff.  If you don’t like the Treo’s 240×240 screen, take a look at the VX6700 (Apache).  It’s got a 240×320 screen and a keyboard that slides out.  Maybe that suits your needs better.  I’m a huge fan of both the Treo 700w and the VX6700.  If I had to buy one myself, it would be a tough decision.  Bigger screen and better keyboard that’s not always available, or smaller screen and more accessible keyboard?  I’ve used both a huge amount and currently carry a Treo, but there’s no right answer there.  It’s all personal taste.  

    While we’re talking about choices, if you find the VX6700 too thick because of the keyboard, there are non-keyboard devices that have  240×320 screens that are much thinner.  And there are more coming.  I personally am only interested in devices with keyboards, but everyone has different needs.

    Our OEMs and we will keep pushing on these things.  If none of our current offerings fit your needs, I hope some of our future ones do.


  26. MikeCal wrote:

    > NLS, let’s call your idea of having black

    > stripes on the left and right "pillarboxing"

    > since that’s what the TV people call it.


    >The reason we chose not to do 320×320

    > pillarboxed goes back to that decision we

    > made to show things at roughly the same size

    > on all screens.  (Hey, I DID call it

    > "controversial" and here’s the controversy.

    > πŸ™‚


    > What you’re REALLY saying is, "why don’t you

    > take what you showed in 3 vertical inches and

    > show it in 2 instead?

    Sorry, Mike, but your orientation and math are both wrong.  Assuming that a 320×320 screen would fit in the same space as a 240×240 screen, you’d be losing 25% of the space, not 33% (240/320 = .75).

    Also, you’d be losing it in the horizontal dimension, not the vertical.

    As you mentioned, things certainly would be smaller, but what effect would that actually have?  I can think of three areas — text, images and controls.  Let’s address each of those:

    * Text — Fonts on 320×320 pillar-boxed screens would be smaller.  However, besides supporting VGA and square screens, didn’t Windows Mobile 2003 SE also add the ability to easily resize the system font (without requiring a registry hack)?  If people found text too small to read, they could easily increase the font size.

    * Images — Images on a pillar-boxed screen would also be harder to view.  However, almost all image viewing programs allow zooming.  Yes, it can make images blockier and require more scrolling, but that might be sufficient to view images that appear too small.

    * Controls — Control sizes (scroll bars, for example) would be 25% thinner, perhaps making them harder to use with a stylus.  So do what should have been done years ago and provide a new Settings applet that allows controlling sizes (and colors and fonts) of screen elements.  There are registry hacks that allow adjusting the thickness of scroll bars and system colors, and there are third-party applications that provide a Display applet similar to what has been in Windows 9x/XP for years.

    I understand why you supported 240×240 and 480×480, but (at least for Pocket PC developers), pillar-boxed 320×320 wouldn’t have required any recompilation to support square screens.  From a programmer’s viewpoint, at best, applications now require more scrolling; at worst, they have to be redesigned to support multiple layouts.  (Of course, that may have been necessary to support landscaping, too, but that’s another issue.)

    From a Pocket PC OEM’s viewpoint, they now have four choices:

    1.  Go with 240×320.  That has the best application compatibility, but requires either making a larger device or a harder-to-read screen.

    2.  Go with 240×240.  That makes the screen more readable, but has worse application compatibility, requires more scrolling and appears worse to users comparing them to 240×320 and 320×320 devices.

    3.  Go with 480×480.  This sounds better to consumers and allows more detailed text and images, but costs more and probably still has the compatibility issues that 240×240 does.

    4.  Go with 480×640.  This would make users happy (spec-wise), but would obviously cost the most.

    I think pillar-boxed 320×320 would have been a happy medium.  Vendors could claim better resolution, programmers would have better compatability and users would have workarounds if they found the smaller horizontal area too small.

    I’m *very* near-sighted, and a quick look at the 240×320 Sprint PPC-6700 didn’t make me think the screen was too small.  320×320 may have, but I think the solutions I mentioned above would have helped.

    My philosophy is to put the user in control, and font and display controls do exactly that.  If you have the former, why not add the latter?  And while you’re at it, maybe you could give us a good task manager, too.  πŸ™‚


    Silicon Valley Pocket PC


  27. badbob001 says:

    Going 320×320 without scaling doesn’t necessarily mean you must have the pillar-boxed effect. We can just tell legacy apps that the screen is 320×240 landscape. Would that be the widescreen effect instead?

    With the introduction of WM2k3SE, Microsoft got over its fear of backward compatibility with the introduction of landscape mode. If we think of 320×320 as simply 320×240 landscape with extra room on the bottom, we should be at the same level of compatibility (maybe).

    If the app is smart enough to query for the real screen size, then it’ll see that it’s really 320×320 and then take advantage of the extra 80 rows. If not, then the bottom will be for other apps, like the extra bottom 160 rows on 320×480 Palm devices. Also, Landscape mode on WM didn’t make the interface smaller so things won’t be smaller in this scenario.

    Hint that 320×320 "landscape" may work? The new Samsung i320 has a 320×240 landscape screen.

  28. badbob001 says:

    Hmm, now that I think about it again, landscape would be a bit smaller on a 320×320 screen. Nevermind… WM needs the scalable interface of OSX.

  29. NLS says:

    well AS scalable as OSX (or it’s copy Vista) would be rather heavy (except if we start getting PocketPC with GoForce 5500) – be we certainly would love some XP like scalability (much simpler)

    anybody listening? (doubt it)

  30. MikeCal says:

    Steve, in the end, you’re saying that doing 320 pixels in 2 inches wouldn’t make images too small for the majority of users.  I’m saying that it would.  For one of us to come to the other’s way of thinking, we’d really need to sit in on the usability study together and see what it turns up.  I’m pretty sure we’re not going to change each other’s opinions with words.  (But I’m happy to keep trying if you’d like. πŸ™‚

    I will say that, if we were to ever support 320×320, we are WAY more likely to scale everything than we are to pillarbox.  And I say that despite the fact that scaling everything is a ton of work for us and pillarboxing would work without any changes in our code.

    The other thing you’re saying is that we should scale our icons better.  There are oses that scale icons well (OSX comes to mind), but they’ve got quite a bit more storage space (they start with very large icons and scale down) and a ton more processing power than we have on our devices.  We DO scale icons automatically, but the results aren’t acceptable for a shipping device (they don’t look very good).  When it comes down to it, programattically scaling something that’s 16×16 into something that’s 21×21 (that’s what’s needed for 320×320) while making it continue to look good is really tough.

    But, we’ll continue to work on these things.  


  31. NLS says:

    > * Images — Images on a pillar-boxed screen

    > would also be harder to view.  However, almost

    > all image viewing programs allow zooming.  Yes,

    > it can make images blockier and require more

    > scrolling, but that might be sufficient to view

    > images that appear too small.

    Well in fact they wouldn’t be harder to view except if you are talking about very little details… you see a higher DPI screen is in fact a BETTER screen not a worse screen (like HP 4700 owners wanted us to believe… that 4" VGA was better than 3.6" VGA… sorry no – and sorry for using HP name again).

    I agree on the rest you say Steve.

    A higher DPI screen (like a 2.4" 320×320 instead of a 2.4" 240×240) would in fact be a SHARPER screen with very small pixels (A Good Thing [tm]).

    Thank you for listening (erm… reading).

    I am sorry you get all those gunshots from us, I hope something gets out of all this.

  32. MikeCal says:

    NLS, if you don’t mind, I’m personally interested in some feedback.  In your most recent comment, you said, "anybody listening? (doubt it)"

    Now, I’ve replied to this thread six times, twice specifically to you.  Your comment suggests, though, that I’m not doing a good enough job.  So, could you tell me how you’d like for me to improve my communications?  

    Alternately, could you explain what you mean by the comment?  Are you saying that I’m ignoring what people here are saying (that I’m not listening)?  Are you saying that I am listening, but that I don’t count as "anybody"?  Something else?

    Work on this blog isn’t part of my job.  If I’m going to spend as much extra time doing this as I do, I’d like to do it well.  So anything you can tell me to help me not deserve "anybody listening (doubt it)" would be appreciated.


  33. NLS says:

    > Steve, in the end, you’re saying that doing 320

    > pixels in 2 inches wouldn’t make images too

    > small for the majority of users.  I’m saying

    > that it would.  For one of us to come to the

    > other’s way of thinking, we’d really need to

    > sit in on the usability study together and see

    > what it turns up.

    Mike the thing is that maybe this decision should be left for the OEM. Why the OS to be the limit?

    If HTC wanted to make a device that would have a 2.4" 320×320 only to be proven "too small for the majority of users" (how did you measure the "majority of users" after all?) then the market and the reviews would kill it (well I doubt but let’s accept they would), wouldn’t mean the market would kill your platform, since there would be other devices still using 240×320, 240×240 (if we HAD to have this too), expencive 480×480 etc. Then HTC (or whoever) would stop making a 320×320 device, but the market would have chosen that, not some internal Redmond study (and don’t tell me you people haven’t be proven wrong before).

    We limit the OS "preassuming" the markets needs? (in a negative way)

    OK I would love a device with GoForce 5500, internal 4GB flash, 600×800 very-high-DPI 3.8" screen, sliding keyboard, 800MHz CPU, retain SD and CF, scroll wheel, nice cursor pad, 2x900mAh batteries (and supply three of them in the package so you can have one charged all the time), USB2 host/client (and why not 1394 too), support for multi channel audio and the list goes on. But I am not a good sample. I am a geek (that I don’t look like it in person is irrelevant, I still am one). But on the other hand, trying to say that the market will easily accept a 240×240 (more easily than a "small for the masses" 320×320) is a bit… far from the truth. Maybe the market is not only middle-aged managers with presbyopia. And even if they are, they would STILL buy the higher-speced machine believe me (give them the choice and you will see).

  34. NLS says:

    No the "anybody listening" comment wasn’t going to you – sorry if you took it like that. English is not my native language after all (and it shows).

    I was talking about the big companies (MS included) that seem to know our needs better than us. Well they don’t and they’d better start listening to the concumers (esp. those with some background in the field the company is interested to sell something).

    You do a good job and (please) keep doing it.

  35. MikeCal says:

    Please don’t interpret this as "we’re right, go away."  I’m happy to keep discussing this.  But the Treo 700w is one of the best selling PocketPCs ever.  The market most certainly DID accept a 240×240 screen device.  This doesn’t invalidate anything anyone said here.  Most of the suggestions people have made are perfectly reasonable.  And it’s possible that we’d sell even more if we had 320×320.  But any dire predictions that 240×240 is going to ruin us just aren’t likely to come true.


  36. MikeCal says:

    Regarding MS being a big company that doesn’t listen to its users.  I can’t speak for other big companies, but MS isn’t like that at all.  It’s full of people like me.  We care, a LOT.  And we’re definitely listening.  

    I’ve been here for over 12 years now, and the vast majority of people I’ve met don’t fit the description you gave.  If anything, we go too far the other way.  We do most everything based on customer feedback and usability studies.  And, no, we don’t use MS employees for our studies.  We go into the field and talk to real users of our devices.  We literally have anthropologists that we send out to observe users in their native habitats.  

    The difficulty is that almost every decision has multiple conflicting user types pushing in different directions.  One group wants small text with more screen real estate while the other literally can’t use the device with the text that small.  One group wants the speed of ram based storage while the other wants the safety of persistent storage.  One group wants the battery life of a 32M device while the other plugs in frequently so wants more RAM.  

    It bothers us that we can’t please everyone.  It’s common for us to not be able to sleep at night because we were forced to make a decision that will help the greatest number of our users but is going to really annoy a subset of them.  And that caring isn’t just developers and first line managers.  Ballmer cares at least as much about our products as I do.  And a ton of the people between him and I do as well.  

    I understand how difficult it is to come down on the wrong side of these decisions.  As a hard core user, a lot of these decisions go against what I want as well.  But at least I have visibility into why they’re made.  It helps sometimes.  I write these blogs in an attempt to give you folks the same visibility.  


  37. NLS says:

    Fair enough.

    An OS to be "more open" for the OEM to make decisions must be a "universaly accepted" request though (or something close to it)…

    So allow for 320×320 (and larger too)and let the OEM decide if the device comes with too small text or not nice looking icons or if it messes with the battery life or whatever and if those things are going to kill that device.

    Off topic: Still most people think that 64MB is not enough and ROM storage is slow. πŸ˜›

    I hope, since there are so many people in MS looking for our real needs, some of them also visit real on-line fora and read what people say.

    Treo 700 sells well (and will keep doing so), since it sells as a PHONE primarily and because of the Treo-brand momentum (that was already there). Any other 240×240 that sells well OUTSIDE the enterprise? (HP for example) I don’t know – you know.

    There are people that want a complete (and even multimedia enabled) PDA that is also a phone. Think of them too.

    I am happy we discuss those things and I have a tiny little subconcious belief that some of my arguments are actually taken as valid (and may be regarded for the future). Then again maybe not, but the feeling is enough. I give you that. πŸ˜€

  38. Ronny Gydar says:

    Hi Mike,

    My optimal solution would be that Windows Mobile would scale "everything" up or down, when I chose "Smallest", "Smaller", Medium", so forth.

    But what I personally is looking for is actually something that is possible today with some "hacks/tricks" from people at XDA-Developers.com, something like this; http://forum.xda-developers.com/viewtopic.php?t=32217&highlight=vga+hack

    When I have showed this to some other friends who have same device as me, at least half of them really like what they saw.

    I would think making such a mode would be interesting for some of you customers (a lot of the people…or at least "some"…buing devices with VGA screens is to "get more information" on the screen).  …if they follow the treads on XDA-developers they would find it too…but most people don’t…most people don’t even install extra apps to they phones/PDA’s.

    …but if Windows Mobile had such a mode built in… πŸ™‚

    Anyway, I see that there is many who would NEVER EVER want to use a mode with so tiny text/information…there are some who would…and if it is not very hard for you to provide (since it is possible more or less already with these "hacks")…you would potentially get more happy customers…and that’s always the goal, right!? πŸ™‚

    This blog is an example of that spirit!

  39. Reality says:

    > OK I would love a device with GoForce 5500, internal 4GB flash,

    > 600×800 very-high-DPI 3.8" screen, sliding keyboard, 800MHz CPU,

    > retain SD and CF, scroll wheel, nice cursor pad, 2x900mAh batteries

    > (and supply three of them in the package so you can have one charged

    > all the time), USB2 host/client (and why not 1394 too), support for

    > multi channel audio and the list goes on

    Buy a laptop, dude.

  40. NLS says:

    Well "dude", sorry to break this to you but the technology IS here to have PDA like that.

    I wouldn’t expect ALL those anytime soon though, but I don’t see OEM pushing towards there either.

    You see the market is better split if you have some other machine with 4GB and your MP3/AVI, some other as a phone, some other as a pure PDA and some other to play games… now if you think this couldn’t be ONE machine (today Feb. 2006) then seems you don’t really follow technology advances much.

    I don’t know how big your pockets or waistbag are, but mine don’t fit a laptop.

    We are getting off topic you know.

  41. MikeCal says:

    Ronny, I completely agree that scaling everything would be the ideal way to go.  It would make everyone’s lives better.  Our devs would have less work to do, our OEMs would have more choices, and our users would get to make things look the way they want it to.

    The trouble is that we don’t have a good solution for scaling icons and bitmaps.  There are OSes that do this well (Mac OSX is a prime example) but they start with very large icons and use a 3d accellerator to help scale them down.  But, where hard drive space and processing power is abundant on the desktop, both are at a shortage on mobile devices.  We currently don’t have the ROM space for the large art assets required to do scaling well.  We also, for the most part, don’t have 3D accellerators and are pretty short on CPU cycles.  

    We HAVE looked at doing lower cost scaling, but it results in really bad looking icons and bitmaps.

    Now, you could rightfully say that you’d prefer badly scaled icons to professional-looking but unscaled ones.  But this is one of those situations where we just can’t ship with stuff that looks that bad.  

    On the other hand, some of us are big fans of the 3rd parties that do things like the True VGA hack.  


  42. When I mentioned "images", Mike, I was thinking more about photos than icons or bitmaps.  But let’s consider icons, if you want.

    You said 320×320 would require 21×21 icons (assuming scaling of 16×16 icons).  Again, with pillar-boxing, you could keep 16×16, but they would look smaller.  If that was really an issue, why not allow (but not require) 24×24 and 48×48 icons?  

    That’s a bit bigger than what you’d get by using true scaling, but that’s not necessarily a bad thing.  You might also be able to use those in 480×480 and 480×640 applications instead of pixel-doubling 16×16 and 32×32 icons.  

    Applications that didn’t provide those resolutions would have their icons scaled.  If users didn’t like that, they’d complain and the software vendor would either add them or risk losing sales (the same as not supporting landscape or 240×240 mode can do).

    Microsoft would include include all versions of the icons in the platform, and OEMs (or the platform builder) would choose which versions were used based on the screen resolution of their device.  That way, nothing would ship that required scaling (unless the OEMs were lazy and bundled apps that didn’t actually support 320×320).

    Yes, larger icons would require more memory, but how much memory would really be used by having larger icons?  (I’ve ignored bitmaps for now, but feel free to include those in your memory calculations.)


    Silicon Valley Pocket PC


  43. MikeCal says:

    Steve, what you described is EXACTLY what we do.  The 16×16 icons on QVGA are 32×32 icons on VGA.  The 32×32 icons on QVGA are 64×64 icons on VGA.  Our release has all art assets and the OEM picks which ones they want to use based on whether they’re hidpi or normal.  Whenever an icon is needed, the graphics system loads the closest provided one and scales it if necessary.  We also support providing 21×21 icons, etc.  

    The two biggest work items that would be required to support 320×320 would be creating a set of art assets for that size (ie creating 21×21 icons to replace the 16×16 ones) and doing a full test pass to make sure nothing broke.  The test pass is probably larger than you expect because it needs to cover 20+ languages, each of which has different sizes for strings (german words are longer than english words, etc) and a resolution change tends to expose subtle bugs (words wrapping off the screen where you don’t expect it, etc).

    The scaling issue comes up when users want to have multiple settings on their device and scale everything on the fly.  To do that, we’ve either got to scale the icons, or we’ve got to provide art assets for all of the different scales.  If, for instance, we had "smallest, small, normal, large, and largest" we’d need 5 times as man icons as we currently have.  And, yes, it would be a significant amount of space.  Roughly on the order of 5M.  To some users that’s a small price to pay for better scalability.  For others they’d be sending me hate mail saying, "How could you possibly bloat your OS so much that you need 5M more than you did in WM5 for just icons?  Now I don’t have enough room for my favorite apps."


  44. NLS says:

    Well, then by telling the OEM that 256MB flashROM and 96MB RAM (since much caching takes place there – and for some OEM even more) is the bare minimum for a WM5+ machine, you would solve most of those issues (and more different issues people discussed in some of your older blogs).

    It wouldn’t be the first time MS actualy pushed the OEM use the storage/memory sizes MS wants.

    Maybe then we’ll start looking at real pro-level WM5 machines (because I cannot find any currently)…

  45. MikeCal wrote:

    > The test pass is probably larger than you

    > expect because it needs to cover 20+

    > languages, each of which has different sizes

    > for strings (german words are longer than

    > english words, etc) and a resolution change

    > tends to expose subtle bugs (words wrapping

    > off the screen where you don’t expect it,

    > etc).

    While it may be larger than I expect, I’m not unfamiliar with the issues.  As a software developer, I lead the internationalization of a product at IBM, so I know that some languages require more space (on average) than others.

    Does the Pocket PC use true point-size fonts (meaning the fonts stay the same physical size regardless of the physical screen size) or does it use bitmapped fonts (x pixels by y pixels, which get smaller or larger depending on the screen size)?  In either case, do you use different font sizes depending on the physical display size?

    If you use point-size fonts or bitmapped fonts scaled for the display size, you’d have to test on each display size OEMs use, right?  If the fonts aren’t exactly the same number of pixels wide on different physical screen sizes, you could have word wrapping problems, I think.

    I ask because, if you use unscaled bitmapped fonts and don’t want to pillar-box the screen, you could treat a 320×320 screen as a 320×240 landscape screen with better vertical resolution (non-square pixels).  This means that you  wouldn’t have to worry about word wrapping at all (you’d be scaling the fonts vertically, not horizontally).  (I’m assuming you can scale things one-dimensionally while still getting reasonable results, which may not be a good assumption.)  If the text didn’t wrap in your 320×240 landscape tests, it won’t in 320×320 testing.  

    By the way, you should tell the people in the Pocket PC Money group to test their Options, Password and About dialogs.  They get truncated on my iPAQ 5550 at 240×320 (in Version 2.05).  πŸ™‚


  46. NLS says:

    I think Elvis left the building. πŸ˜€

  47. MikeCal says:

    Steve, I’m not an expert on fonts.  I know we use Truetype which allows scaling by size, and I know that we base our sizes on pixels, no screen size.  At a granular level, our OS doesn’t know how big a screen the OEM has used.  In other words, we can’t tell the difference between a PPC QVGA screen that’s 3.1 inches vs ones that’s 3.0 inches.  We know things at a more coarse level, though.  We know that the QVGA screen on a smartphone is consideraby smaller than the QVGA screen on a PocketPC, etc.  As the line between SP and PPC continues to blur, our assumptions there will start becoming invalid.  But they’re holding up for the moment.

    My understanding (flawed that it is) of the issue with localization at random scalings is around edge cases.  You have a phrase that fits on one line.  You scale the text to a new resolution (like 320×320) and it scales fine for English, but the longer German word, which was tight at 240×240 happens to scale one pixel larger than we expected, which puts it over the edge and makes it word wrap.  

    Solving this problem certainly isn’t insurmountable.  But it takes work.  


  48. joshbu [msft] says:

    TrueType is a pretty complicated standard. It uses vector font descriptions as a baseline, but allows bitmap glyphs to be inserted by the font designer for particular point sizes where he feels the vector rasterization is not correct.

    So, to answer Steve’s question: both, and it’s pretty much dependant on the font, the point size, and the glyph in question.

  49. Alethea says:

    As an "average" user who just stumbled onto this discussion because of a couple of quotes in other blogs, first, thanks for an honest peek into how decisions are made in development.

    Second, whether or not it is possible to scale or to scroll third-party applications, it is not at all obvious to new users *why* only a part of the welcome screen for their application comes up. I suppose that’s the fault of HP (in this case, for the 6515) – but I haven’t seen better for the Treo 700: and there’s a brief explanation in Troubleshooting that amounts to "tough luck if your 3rd party apps don’t display properly". That’s frustrating.

    After reading your post and the comments, I do understand why, but my wish would be that it *would* be possible to scale to multiple levels on the fly (let’s say, three, with a smaller- and bigger-than-optimal apparent size). And you would only need to provide icons for the middle size, and then put a generic icon like HTML does for the "broken image link" with text, for the other sizes. Perhaps I don’t quite understand the icon thing but I think I’d be alright with this compromise.

    Thanks for reading and responding to the comments. I am not sure to get back and read an answer but perhaps someone else will benefit it as I have from the previous comments.

  50. Jasper Janssen says:

    All else being equal (primarily physical screen size) and the OS doing seamless scaling at any factor, higher dpi is better, yes. All else being equal (primarily dpi), a larger screen is better. But all else is never equal, particularly not with a mobile OS designed for (no offense meant, but it is, still, for good reasons) very limited resolution options. When the screen resolution is fixed, making the screen larger or smaller is primarily a function of how close to your face it can/should be. At least for a nearsighted person like me — I can hold a 3" screen at 3/4 the distance to my eyes of a 4" screen and have more or less the same experience, except for my arm getting more tired.

    If you go the ‘desktop route’, where higher res means more visible on the screen, then higher dpi is effectively not making the screen clearer, it’s just larger (even if it’s not *physically* larger).

    If you go the Windows Mobile route, you’re making the screen clearer, giving you the ability to have smaller readable letters and much more detail, without making the device hard to use.

    Incidentally, that route had been pioneered at length by Palm — which started off at 160 square, went to 320 square for exactly the same reasons as the qvga>vga shift, and then proceeded to make the graffiti area also part of the screen, going to 320×480, and adding landscape mode. Windows Mobile is not being particularly original, except their starting form factor is the other way around and 240 wide instead of 160 wide. I suppose one could argue that Palm may not be the best role-model given the current state of business over there, but I don’t think this particular hurdle was the reason for that.

    Reducing the screen size from 3:2 to 2:2 is purely a way of reducing device size. It’s not *meant* to be a cost cutting excercise *let alone* something to fit more detail on the screen. At the very least with apps designed for square (including the whole OS and built-ins – and many people never use anything else) you want the experience to roughly parallel that with other devices, which means simply lopping pixels off is the best way to go. It’s also exceedingly easy — at least for the Portrait mode, and Landscape mode on a Square screen device is even easier to implement. Whereas implementing another 1.5x mode, and that would be required, in addition to regular and 2x (used by VGA and 480-square devices), would be expensive. I don’t see square-screen devices becoming all that popular, since IMHO they’re a step back, so I also don’t see spending that much on it.

    I myself use an MDA Pro (HTC universal, aka Qtek 9000, iMate JasJar, etc.etc.etc.), which has a Portrait/Landscape VGA screen, and you’ll pry it from my cold, dead fingers. VGA or 480×480 is clearly the way forward, and anything else is really just a placeholder.

    What I’d like to see in a future version of the OS is the option (say by using something akin to the old PIF files) to set, on an application by application basis (and counting Today as an application), at least for applications not explicitly VGA aware (TomTom seems to be both VGA and landscape aware — it just chooses to always remain in Portrait mode, accessing the screen directly, Mobipocket reader appears to know it’s on a VGA device as well, etc), whether the application will be run in compatibility mode (pixeldoubling, and tell the app the screen is qvga), regular mode (tell it there’s a VGA screen if it asks but do what you currently do – ie all the complex stuff) or force-VGA mode — tell it there’s VGA resolution availability and that its elements should be half the physical size of normal, or IOW the same number of pixels as normal.

    Even better if it’s implemented such that a configfile or regentry simply contains the dpi_x and dpi_y values (as seen in the vga hacks) to be told to the app, so that a little imagination and a willingness to live with crappily scaled icons can get you whichever scale is comfortable.

  51. Palm’s Treo 700p, the heavily anticipated successor to the popular Palm Treo 650, launched on Monday. Speculation and rumors has surrounded the Palm Treo 700p as far as which features it would and would not support. For instance, speculation was…

  52. Will Maitner says:

    Why didn’t they just do what the TV people are doing..  For the 320×240 apps, go letterbox..  So you have some black bars on the sides until they upgrade the software..  Then the apps that actually support 320×320 would fill the screen..  Simple, elegant, the virtual 320×240 driver..  Plus, then they could go landscape too..  =)

  53. MikeCal says:

    Will, the problem is that the icons and bitmaps are either designed for 240×240 or 480×480.  On a 320×320 screen the 240×240 icons would be too small and the 480×480 icons would be too big.  That would still be true if we letterboxed a 320×320 screen.


  54. Will Maitner says:

    That would be a temporary problem, wouldn’t it?  The 320×320 screen would display a virtual 320×240 screen.  Sure, things would be smaller, but clearer.  Like looking at a high resolution but smaller screen notebook.  It is like when the Librettos came out.  Sure it’s smaller, but the sharpness of the screen made it usable.  I guess the way I’m reading things is that the problem was with third party apps.  Add the ability to code for 320×320 into the developers kit.  Release the OS and core apps with the 320×320 res available.  I figure atleast 50% of PDA owners use the core apps 90% of the time anyways.  A little pocket word, pocket ie, email, etc.  Then as new editions of the third party apps come out, they can make 320×320 versions just like the 320×240 vs. 640×480 versions.  Or am I over simplifying things again?

  55. MikeCal says:

    I wouldn’t say that compatability with 3rd party apps was the issue.  For the most part, if the app was hard coded in such a way as to not support 320×320, then it wouldn’t have supported 240×240 either.  It was reasonable for app developers to get burned when we went from EVERYTHING being 320×240 to allowing rotation to 240×320.  But after that happened, I expect all app developers to handle WM_SIZE or OnResize and make their apps work at any screen size.  

    No, the real problem is the art assets, how much work it takes to generate them, and how much space they take up on the device.  

    As for making it "smaller but clearer," please re-read the "To scale or not to scale, that is the question" section of this entry.  While I originally agreed with your opinion that smaller but clearer was the way to go, I’m biased by extremely good vision (I’m guessing you’re the same).  People with vision that’s not as good as ours (a majority) wouldn’t have done well with everything smaller.


  56. Will Maitner says:

    Ok, so the problem is graphics.  Then make the development kit code for 480×640.  And have the developer kit handle the artwork scaling.  If there is that little powertoy for picture resizing, then adding that to the devkit should have been fairly easy and small.  Personally, I think all the WM apps should have been coded to 240×240, 320×320 or 480×480 so you could use the onscreen keyboard and not loose anything.  But that’s just me.  

    I’m just saying that a fairly minor modification in the devkit (ok, minor to the end user) would make it fairly easy to go to 320×320.  Maybe my idea can go into WM6?  =)  Then you could handle any size/resolution screen hardware devs come up with.

    Oh, and I’m with you on the screen usage.  I would love to be able to make things smaller in WM and display more on the screen.  With my glasses (need them for distance), my eyes are actually better than 20/20.  I would love to be able to display as much info as I can under PalmOS on my Treo.  Maybe another possibility in WM6.  I do not think that WM has look as much like Windows as it does, so smaller with it might not be a bad thing.

  57. MikeCal says:

    Will, we’re really rehashing a discussion we already had here.  Can I ask you to read through the comments here, or at least my responses to them?  


  58. David P. says:

    Mike, just stumbled in here from a link on a forum.

    I just wanted to let you know that you have done an incredible job with both the original article and answering highly technical questions in an easy to understand way.

    Definitely gives me a new appreciation of the difficulty of these decisions…

    BTW, I use a Treo 700w and can’t comprehend why people seem so upset about the 240 screen… looks very good to me.  Would I enjoy higher res?  Sure.  Is it neccessary?  Absolutely not.

  59. beemer says:

    I think it’s time to go to a windows based model, where old apps runs on a window of 240×320, apps prepared for VGA runs on a window of 480×640 (or 640×480.

    This is how windows CE 5 works and how old HPCs worked, and today, with the new 800×480 and biggers displays being made on 4.3" and 5" Windows mobile is losing positions against "competitors" like UMPC.

    Maybe it’s time to resurect HPCs? Now with pocket office apps that really works and good comunications they would be useful, not like the ones in the past… and much better adapted to mobile use than the UMPCs

  60. MikeCal says:

    Thanks David.  I’m glad you’re finding the blog useful.

    Beemer, although it’s not a true apples to apples comparison, I’m pretty sure we’ve already sold more 240×240 devices than all Handheld PCs combined.  I’ve been here since the HPC days, and bought a number of them, but I certainly don’t want to go back to those days.


  61. Bryan Varney says:

    Hey mike,

    Thanks for the informative take on screen sizes for handhelds. I used to login to corporate servers using a vpn/vnc combo to restart servers and such and can appreciate the issue with things becoming too small to be useful.

    But what I really want to say is that I think people mis-understand the greater value of a blog like this one.

    You said: "I eventually came around to their way of thinking, but it wasn’t until I really got to play with a high res device and saw how much better it looked."

    and :"We literally have anthropologists that we send out to observe users in their native habitats"

    We have a chance to make a good case for change (if we truly have a good case) to someone with input to the system.(at a level much likely to effect change than ours) It’s like going to the "anthropologists" since they can’t come to all of us.

    Those who want to banter words are wasting them if they truly want to change things.

    Your "extra time" is truly appreciated by this developer. Keep up the good work!


  62. MikeCal says:

    I’ve got this comment in email but don’t see it on the blog.  I’m afraid one of us accidentally deleted it.  Apologies calvin.  (We get about 10 spam comments for every real comment, and our filters aren’t stopping them, so we have to delete them manually.)



    calvin has made a new post: re: Where did 240 come from?.

    But what do we call 240×240?

    320X240 is called QVGA, 640X480 is called VGA, 320X480 is called HVGA.


  63. MikeCal says:

    Bryan, thanks!

    Calvin, I’m not sure who comes up with those xVGA names.  QVGA is pretty clear because it’s "Quarter VGA" but I don’t know what the "H" in "HVGA" stands for.  Internally, we just called 240×240 "square screen."  We didn’t have any 480×480 devices to test, but we would have probably called them "HiDPI Square."  Or we would have just called it 480×480.  

    While the various 240×240 devices have been very popular and have sold well, in the scale of the entire computing industry, I’m not sure they’ll ever have enough market share to justify an xVGA name.  I guess time will tell.


  64. A little over a year ago, I wrote a blog entry that explained why we chose to support 240×240 screens

  65. RSS It All says:

    A little over a year ago, I wrote a blog entry that explained why we chose to support 240×240 screens

  66. John says:

    The H for HVGA would be Half, which is what the iPhone has.  I considered getting one when they announced it and it seemed like a "cool" device, but then I came to my senses and realized that I couldn’t develop for it, and that would just suck.  So I went with the HTC P3600 (Trinity) instead.  I absolutely LOVE the 2.8" QVGA screen on it.

    I’ve owned three devices with 3.5" QVGA screens and a 3.7" VGA Axim.  The 3.5" screens seem so bloated now that I’ve seen the 2.8" screen.  The VGA screen, when running in "true VGA" mode, does add a bit of strain on the eyes, even though it’s the best for web browsing.

    When the 240×240 screens came out, it was a bit tricky to program for them.  The Treo 700w’s GAPI implementation reported the screen as QVGA, even though it wasn’t, and then it scaled the Y-direction to make things fit, but the screen still reported stylus taps using 240×240.  But other square screen devices (like the HP phones) reported the screen size correctly at 240×240.  This made it necessary to check the OEM string…

    The real "problem devices" now are the Blackjack and Motorola Q.  These devices have QVGA screens, but their GAPI implementations think the screen is 176×220, the old smartphone resolution.  Life would be a lot easier if all devices reported the actual size of the screen.


  67. MikeCal says:

    Ah, "Half VGA."  That makes sense.  Thanks!

    Separately, I’ve been thinking about doing a blog entry on GAPI, but it keeps degenerating into a lot of swearing….

    To keep my blood pressure low, I’ll just say that the best solution for anything involving GAPI pain is to use DDraw instead.  


  68. JAT60 says:

    You guys at Microsoft must be ashamed for failing to listen to the users of your trusted softwares on their Windows Mobile Pocket PCs.

    I am making this comment because of your refusal to develop an upgrade from the WM2003 to either the WM5 or WM6 ROM for XDA IIi/Qtek 2020i/Alpine or SPV M1500.

    This is perhaps the hegemony of monopoly.

    Surely, people have cried out enough, can you not do something for them?

  69. trafalgah says:

    Even with Direct Draw, the motorola Q is seriously messed up.  The width and height have to be swapped, and even after doing the image has to be flipped horizontally.  At present I have no idea what was done with the colors as I can’t really get it to work at all.  Very frustrating!  Would be sooooooo

    much easier if you just released a fixed gx.dll for

    the Q and let us install it with our app.

  70. Donlee says:

    I wonder which resolutions are supported on WM.

    QVGA is common resolution nowaday for smartphone – 240×320 (Portrait), 320×240 (Landscape).

    But for Next generation smartphone, Various Display Resolution are being prepared for smartphone. VGA, HVGA, qHD, WVGA etc.& of both type – Landscape type and Portrait type.

    Among those, Can I know which resolutions can be supported by Window Mobile?


    Portrait  VGA  480(H)x 640(V)

    Landscape VGA  640(H)x 480(H)

    Portrait  HVGA 320(H)x 480(V) – iPHONE

    Landscape HVGA 480(H)x 320(V)

    Portrait  qHD  360(H)x 640(V)

    Landscape qHD  640(H)x 360(V)

    Portrait  WVGA 480(H)x 800(V)

    Landscape WVGA 800(H)x 480(V)

    * qHD stand for quater HD (base on 720i)