[Galaxy Tab 10.1 General] flarbear:
Font sizes vs. DPI

Hi all,

I want to chime in and try to explain a little better something that was getting lost in some abrasive language up above. I've worked on Graphics APIs (designing the interfaces and implementing them) for a couple of decades now and I've designed and worked on a few systems that provided DPI-aware or DPI-independent rendering.

Graphics libraries render things in pixels at the lowest level. At higher levels, like the font code, they can either just decide on how many pixels they want to use and use that, or if they know how many pixels per inch the device has and how to map from these pixel units to the real world, they can choose how big they want things to be and then calculate how many pixels that would take. Most graphics libraries provide interfaces to make that really easy - whether they let you specify the coordinates in various measurement systems (centimeters vs. points vs. pixels) or whether they let you apply scale factors (scale all rendering by 1.2x). The question is, what are the apps doing?

Usually applying a scale factor that is an integer - like 2x or 3x - produces aesthetically pleasing results no matter what. But, sometimes if you apply a scale factor such as 1.2x or some other non-integer fraction you can end up with rendering anomalies if you aren't careful. Someone may have carefully lined up some objects knowing that object A should appear at one spot and object B should appear some exact number of pixels away from it and they would line up perfectly and look good. When you scale those numbers by 1.2 you might end up with B appearing on a non-integer location and it might not line up perfectly any more or it might look blurry. The app would want to be aware of the difference and make adjustments, either by accepting the scaling and taking the sub-pixel locations into account when placing items that need critical locations, or by speaking to the graphics layer in pixels and doing all of its own math to figure out what size to make things and where they go at different resolutions.

With the iPhone 4 they very conveniently chose to use double the screen resolution and they applied a scale factor of 2x in both directions so that apps that didn't check the resolution would still appear the same real-world size. The scale factor is an even integer so they could apply it automatically and there was very little chance of making any app look ugly. All things, fonts and graphics and images, are scaled up by a natural scale factor and they remain the same size, but their edges might appear smoother because of the increased number of physical pixels that could be used to approximate their edges.

With the 10.1 and 8.9 inch tablets all coming in at 1280x800 and the ratios of their DPIs all being small non-integer fractions, it isn't so easy to just scale everything to be the same physical size without causing a lot of ugliness for apps. Some apps might not look as nice if you simply scaled everything automatically. Now, if the apps took advantage of the Android interfaces for speaking in real world sizes, then they may get adjusted and fit less information on the screen of the 8.9 tab, but they would draw things the same size. Other apps might have decided to speak in pixels and their only considerations would be "how many pixels do I have and how much can I fit in that space". The question is, how many apps make the adjustment? And how many do it right?

I believe the poster who was talking about increased eye strain was saying that the apps might just punt and talk in pixels and view both devices as being "the same size" from their pixel-biased perspective. I wouldn't know without running similar apps (like the browser) side by side on both. Android does have the facilities to use real world sizing and be DPI-independent, but I'm not sure what the adoption rate is for apps. If lots of key apps like to talk in pixels then you will get more eye strain on the 8.9 - how much, I'm not sure, but you will have to look at smaller things on it for those apps.

Also, with a hand-held device, this is fairly relative. That was the one criticism I had about the "Retina(tm)" display - who's arm is this attached to? Because, I guarantee that when I use it at night without my contacts in, it will be very close to my face and I will see your pixels. ;) Similarly, if people simply hold their 8.9 tabs closer to their faces by a couple of inches they may not be looking at fonts that are any different in size than those with the 10.1 tabs that may be encouraged to hold them further away. People over the age of mid-40s, though, may find it increasingly more difficult to focus on the 8.9 as they get older if they have to hold it too close (presbyopia - humans lose their ability to focus close up starting somewhere in their 40s).

It's not a straight-forward "8.9 has higher DPI therefore you will have eye strain" situation - it depends on the app, the relative difference in strain caused by the ratio of sizes, the age of the reader, and how strong their arm muscles are... ;)