Tuesday, January 18, 2011

HTML5: Pedantry and Pragmatism

(This is in response to Jeremy Keith's reaction to W3C's new HTML5 logo, which intentionally uses "HTML5" as an umbrella term for most modern web standards, rather than just the specific technologies actually described in the HTML5 spec.)

First, from the FAQ:

IS THIS W3C'S "OFFICIAL" LOGO FOR HTML5?
Not yet. W3C introduced this logo in January 2011 with the goal of building community support. W3C has not yet taken it up in any official capacity. If, as W3C hopes, the community embraces the logo, W3C will adopt it as its own official logo for HTML5 in the first quarter of 2011.

Second, HTML is the primary vehicle of delivery for all those other modern web standards: it is the thing that brings them all together and gives them a purpose. Most of these technologies have seen adoption in browsers and websites concurrently with the adoption of "actual" HTML5 features. HTML5 has thus become thought of as a umbrella term that encompasses these things, which is not entirely surprising, and evidence of how having such a term IS convenient.

For those wishing to be more specific when they discuss "HTML5", this initiative could actually have benefits: it adds a categorization and iconography to subdivide what people think of as HTML5 into more meaningful groupings. If you assume that the average person already thinks of "HTML5" as this sort of catch-all, then this will actually draw MORE attention to the many technologies that HTML5 could refer to; rather that fighting a losing battle of linguistic prescriptivism, this accepts the trend and cuts ahead to provide a substitute terminology.

The icon set and the badge builder gives sites a unified way to quietly indicate what technologies are supported -- geolocation? offline storage? -- that could be helpful to users (although the far-too-abstract designs of those "class" icons leaves a lot to be desired). The idea reminds me of the sort of symbols you see on the back of videogame boxes, to indicate how many players and what add-ons or platform features are supported by the game.

Does this further erode the clarity of the "HTML5" label? Yes. But this was already happening, and if you accept that there's no way to really stop it, then this branding initiative becomes a clever, pragmatic choice.

Saturday, January 8, 2011

What it would mean if the iPad gets a "retina display"

Lots of rumblings about the 2nd gen iPad that's due to be announced in a month or two, along with talk of whether or not it will follow in the iPhone 4's footsteps by gaining a "retina display". Some insane numbers are being thrown around, as evidence of its impossibility, but the insanity of these numbers is due to a lot of people assuming that "retina display" means "over 300 pixels per inch, linear resolution", which is a mistake.

In announcing the retina display at the WWDC 2010 keynote, Steve Jobs didn't just say "300 is magic", without qualifiers. The full quote is:
"It turns out that there's a magic number right around 300 pixels per inch, that when you hold something around 10 or 12 inches away from your eyes, is the limit of the human retina to differentiate the pixels."

(apologies for the grammar, but that's the exact quote.)

Which, as this in-depth examination shows, is a quite accurate statement for 20/20 vision. Steve made a big deal about the 300 thing, but that only applies if you're holding it at 10-12 inches from your eye.

BUT: You simply cannot comfortably use the iPad at ten inches from your eye. It's too big for that. I can see 14 inches being a comfortable distance, though.

Now, applying the same assumptions and simple bit of trig as used at that link, we find that to meet the "retina display" criterion at some greater distances, we'd need:

1/(13*tan(1 arc minute)) ~= 264 ppi
1/(14*tan(1 arc minute)) ~= 246 ppi

Oh ho! 264 ppi corresponds exactly to a doubling of existing iPad resolution, to 2048 by 1536. That meets the standard of "retina display" at 13 inches from your eye.

Another common size, 1920 by 1440, would give the iPad display a density of 247 ppi. Which is perfect for "retina display" at 14 inches. Slightly more achievable, perhaps, but lacking that nice 2x scaling factor.

I'd say both of these resolutions ARE within the capabilities of modern hardware. No, you're not going to be running the latest cutting-edge FPS at that resolution, but videos and standard graphics? No problem.

The iPhone 4 can play H.264 1080p videos perfectly without breaking a sweat, and it doesn't even officially support that. The CPU/GPU in the new iPad will have another years' worth of R&D on top of that.

Now, whether or not they can make a 9 or 10 inch display of that resolution and still meet their price points is quite another matter.

For reference: a 1.5x (1536 by 1152; 198 ppi) display would meet "retina" criteria at 17-18 inches from the eye, which is roughly the distance from eye to screen if you're a moderately tall adult and it's sitting in your lap or on the table in front of you, but it would lose it's, umm, retina magic if you held it any closer than that. (Assuming, of course, you have 20/20 vision.)