I am having troubles with creating a good-looking icon for a MIDlet on the Nokia N73. I want to create an icon that is displayed in the phone menu exactly as the PNG icon image looks like, I don't want the phone to resize and scale the image. A scaled icon is blurry and anti-aliased, which looks bad.
Choosing the optimal size for a MIDlet icon has in the past caused a lot of problems for developers and graphics artists, so I was delighted when Nokia published the "Using icons in MIDlets" document (HTML, ZIPped PDF). I thought that I could just look up the optimal size for the N73's icon from the document, and all would be good. But it isn't so easy... :-/
Here are my issues with the "Using icons in MIDlets" document and the N73:
Fact: the N73 has a 240x320 QVGA screen. The document states on page 1 of the PDF file:
Two different layouts are used in S60 devices with a QVGA screen: the QVGA1 and QVGA2 layouts. Commonly, QVGA devices with a physically smaller screen use the QVGA1 layout (for example, Nokia N71) and devices with a larger screen use the QVGA2 layout (for example, Nokia E61). ... The icon sizes in both cases are shown in "Table: Icon sizes in List and ChoiceGroup elements and Alert screens in S60 devices".
OK, so there are two QVGA layouts, for QVGA phones with screens of different physical size.
The quoted text mentions "physically smaller" and "physically larger" screens. How do I know what devices have physically smaller or larger screens? And besides, the text states "commonly". So the physical size isn't a strict rule to differentiate between QVGA1 and QVGA2. So, which phones are QVGA1 and which are QVGA2? Which group does the N73 belong to? I'm confused... is this information documented somewhere? I haven't found... It should be.
The table that was referenced in the quote above lists (as promised, on page 2 of the PDF file) two possible icon sizes for the Applications shell on QVGA portrait mode (240x320): 53x53 and 55x55, as well as two possible icon sizes for the Applications shell on QVGA landscape mode (320x240): 52x52 and 54x54. How do I know which icon size is for QVGA1 and which for QVGA2? I assume the upper ones are for for QVGA1, but I cannot be sure. It should be clear.
I have access to an N73 (software version 3.06188.8.131.52, dated 30-10-2006). Since the N73 has a portrait QVGA screen (240x320), I tried to use the 53x53 and 55x55 icon sizes, one of which should be optimal according to the document. But neither icon is displayed correctly, they are scaled down to a much smaller size. Afther searching this discussion forum I concluded that I'm not alone with this problem, existing discussion threads exist for example here, here, here and here. Lots of people seem to have problems with MIDlet icons on S60 3rd edition devices, including the N73.
I went on testing with different icon sizes (assuming that the optimal icon is always square and not a rectangle). I used icons of size 32x32, 53x53, 55x55, 60x60 and 64x64. For each icon size, I took a screenshot of the display with the Screenshot for SymbianOS application. From the screenshot images, I measured the actual icon dimensions that are displayed on the screen and came up with the following astonishing table:
As you can see from the "ratio" column, the displayed icons always seem to be scaled down by a factor of 0.6!
Actual icon | Displayed icon | Ratio (displayed
image dimension | image dimension | divided by actual)
32 20 0.625
53 32 0.603773585
55 33 0.6
60 36 0.6
64 38 0.59375
So when I use a 64x64 icon it is scaled down to 38x38, and when I use a 32x32 icon (which is smaller than 38x38 and should thus be OK) it is scaled to the even smaller 20x20! The N73 (and apparently all S60 3rd edition devices) deal really stupidly with MIDlet icons... how can I get rid of this scaling?
Could someone from Nokia confirm this behaviour? I'd like to know:
- Which devices exhibit this behaviour (all S60 3rd edition devices I assume)?
- Is this by design or a bug?
- Why does the "Using icons in MIDlets" document list specific icon sizes, when they apparently are not correct at all?
- Can this scaling "feature" be circumvented in any way?
- If this is a bug, are future phone software updates planned?
Any insight that might help resolve this is appreciated.