top | item 8303036

iPhone 6 Screens Demystified

253 points| melancton | 11 years ago |paintcodeapp.com

85 comments

order
[+] fidotron|11 years ago|reply
This fuss about the iPhone screens is, to me at least, hilarious.

A good part of my career has been being the "Android guy" in organisations where for better or worse the products would de facto lead on iOS. The number one headache was designers pushing "pixel perfect design" which is doable on Android, but is a pointless headache when your tiny screen is 720p or higher.

The fact Apple have a phone coming out for which it is actually impossible is going to send a lot of these people into a confused fit. If this was how Android worked it would be criticised to the hills, but because it's Apple they can't.

[+] MCRed|11 years ago|reply
Since the points are rendered in pixel-perfect form and then down sampled on the iPhone 6+, the only potential loss of fidelity is in the downsampling step. Since we're in an age of not even being able to see pixels, there should be no fidelity loss. The image displayed will be rendered at a higher resolution than the display, and thus every pixel on the ultimate display will be "perfect". Back when pixels were big enough to see, I was one of those "pixel perfect" people too. You had to get it right, or the error was noticeable. With retina displays, this is much less of an issue. (to me at least)

I have seen android devices advertised with 4k displays at a 4-5" diagonal form actor. That doesn't make sense to me, because beyond 300dpi there isn't much point in higher pixel density. Yes, it makes sense for Apple to choose this size display (as 1080p is a commodity size).

The real issue is, if you want to compare the platforms, which platform has better resolution independence support.

I won't criticize android on this, but I will say that the iOS reliance on PNGs has gone on way too long. 2x was a decent solution for photographs... but we should have moved to SVG or some vector format as a native format in iOS several years ago.

[+] smackfu|11 years ago|reply
OTOH, iOS 7 did a fine job of almost entirely removing bitmaps from iOS in advance of these new screens. So developers are in a lot better shape now than if they had to redraw all their skeumorphic assets at 3x.
[+] ntaso|11 years ago|reply
Since there was never an iOS update that did NOT break my app in some way or another, I don't expect resolution hell to work out of the box. Android had to deal with this for years and matured. In iOS, the last release of my iPhone app asked me to upload a gazillion different pixel-perfect icon sizes.

I have a small online business. I have neither time nor patience to do this shit myself, but it'd probably take one person for the app only to maintain it properly through all these nasty upgrades all the time. Oh, and this person now needs at least 4 different iPhones to test that stuff properly.

Good for you that you were the Android guy. I'm the guy required to have an Android guy and an iOS guy. Which sucks ;)

[+] happyscrappy|11 years ago|reply
Android developers have to take what ever comfort they can get, it certainly won't be the money.
[+] 0x0|11 years ago|reply
I wonder if it will be possible to opt-in to 1:1 pixel rendering on the iPhone6+ after all, particularly for opengl/metal/video playback. It seems the downscale hack is mostly required for UIKit backwards compatibility and to maintain approximately equal physical sizes for UI elements only.

Very nice visualization in the OP, by the way!

[+] MCRed|11 years ago|reply
The downsampling is representational of how the OS renders your App.

Especially in Metal, but probably in OpenGL, I'm sure you get access to the actual resolution buffer you can render into.

[+] fidotron|11 years ago|reply
Have to admit I'd be surprised if a full screen OpenGL or metal thing wasn't available, as for gaming the overhead of writing to a much larger offscreen buffer and then to the screen is not going to be a good idea. Quite often the reverse is done of scaling up a smaller buffer.
[+] santaclaus|11 years ago|reply
This isn't even always possible with Apple's software on a retina MacBook with OS X, and vexes me to this day. QuickTime won't play video back at 1:1 without setting the entire display to 1:1.
[+] pilif|11 years ago|reply
There must be a way. Otherwise the samples they have shown in the keynote of the landscape mail with the split view or the "enhanced" CNN sample app would never work as in the default mode outlined in this infographic, the screen can't possibly offer any more real estate for UI than the smaller screens, but the samples in the keynote were clearly showing more UI content.
[+] solutionyogi|11 years ago|reply
An infographic which conveys a complicated information in easy to understand form. More of this please!
[+] ianlevesque|11 years ago|reply
I know it's dangerous to armchair speculate about Apple's moves, but it really seems like they should have held out for a true 3x screen instead of compromising on a 1080p. I certainly would never buy the 6+ after reading about their cheesy resolution hack. It feels rushed and short term.
[+] bla2|11 years ago|reply
Keep in mind that it's resampling a 3x image. Display scaling already looks acceptable on retina MacBook Pros [1], and the 6+'s screen is much more high-resolution than that. I agree that this sounds like a terrible idea on paper, but it might not be so bad in practice.

1: http://www.anandtech.com/show/5996/how-the-retina-display-ma...

[+] rayiner|11 years ago|reply
I think it's actually pretty clever. Developers clearly have trouble writing apps to support arbitrary scale factors. Resolution independence was supposed to be a feature of Windows since Vista was codenamed "Longhorn" (before 2004), and Windows is still a mess on higher-DPI screens 10 years later. Making it so developers only have to think about 1x and 2x and 3x makes the task easier.

Also, look at it this way: with the diminishing returns of resolutions above 300 dpi, is it really a big deal that you won't get the absolute best use of the iPhone 6+'s 400 dpi? Seems like a pretty reasonable trade-off to use that extra resolution in a way that makes resolution-independence easier for developers.

[+] jjcm|11 years ago|reply
Normally I'd be right there with you, but at this DPI there shouldn't be any visible scaling artifacts. Normally scaling looks terrible because you're upscaling low res components to a higher res version, but since their source is higher resolution and they're downscaling to an already extremely high DPI screen, you'll probably be hard pressed to find aliasing artifacts without a magnifying glass.

The other reason why I think this might be a good thing is since 1080p is more of a standard than the other resolutions they're playing with, which might help unify things moving forward.

[+] morganvachon|11 years ago|reply
I'm not a UX designer by any stretch, but as a consumer I can say that if Apple can pull off the downsampling/downscaling correctly, good on them. I have a Kindle Fire HDX 7", and recently upgraded to a Fire HDX 8.9". The former is 1920x1200 and 323 PPI, the latter is 2560x1600 and 339 PPI. That's not a huge difference in PPI in fact it's far less than the difference in the two new iPhones, yet so many apps (mostly games) render incorrectly on the larger Kindle, to the point that small text becomes unreadable.

If Apple can release two new phones with greater disparity and seemingly get the app experience right, why can't Amazon? I don't use an iPhone but seeing these explanations that break down how they pull off such a feat really impresses me.

[+] MCRed|11 years ago|reply
I haven't worked in the Kindle division, but there is a huge cultural gulf between Apple and Amazon. Apple is very much a software company (well they're a design company that encompasses both hardware and software). They care a great deal about getting software right. At WWDC each year they have a session on how to do great software that illuminates a process that involves a lot of design and upfront work before you begin coding. A process that virtually nobody does these days. (I say these days because back in the 80s this is how CS students were taught "write your program out in paper before writing it in code". Nowadays nobody barely thinks about their work before they start writing code, for the most part.)

This is the polar opposite of Amazon, which I worked for in the past.

Amazon is perceived as a high tech company but it is a retailer and its management is the management of a retailer. Amazons engineering is overseen by non-engineers and the company culture is highly political and focused on making a show more than making a product. Quality is the last thing they actually care about (when it comes to software.) You get ahead at Amazon with press releases-- it never matters if your product makes no sense. (EG: Movie listings on amazon.com, mail-order catalogs, literally scanned, and posted to amazon.com, innumerable initiatives and features that were put up there getting someone a promotion, only to have the team disappear in the next quarterly company wide reorg and the result to just rot.)

This is why I would never buy a tech product from Amazon. They really don't give a damn as a culture, and any engineer who gives a damn will not survive long there (and will be punished).

Giving a damn about design and quality doesn't play well with stack ranking.

What plays into stack ranking is kissing your bosses peers butts, playing political games and making splashy new features.

[+] eddieroger|11 years ago|reply
Apple documents the crap out of it, and pages like on the dev site, and summaries like this are just built of that (usually aimed at a less technical audience than the dev portal). I think that's what helps the most - I've been able to tell every designer I've worked with what resolutions I need and how I need the files suffixed, and since they tend to use vectors anyway, it all just works out. Amazon must not put the same amount of effort into documenting, but admittedly I don't know about that.
[+] naspinski|11 years ago|reply
Have they gotten the experience correct? Serious question, I haven't seen them.
[+] u124556|11 years ago|reply
So if you want to watch a 1080 video on this device, the player will upscale it to 1242 and then the hardware will downscale it to 1080 again? or will there be some way to bypass all this?
[+] MCRed|11 years ago|reply
The downscaling in the info graphic is representational of how a developers chrome is handled. Not of a "full screen" experience...

Or put another way, when you play a video, you let the OS take over the full screen and there's no need for downsampling.

Its not like the downsampling is a permanent stage of some rendering pipeline to the display.

[+] runeks|11 years ago|reply
This article concerns "rasterization": the process of converting a description of an image into actual pixels.

A 1080p video stream doesn't need rasterizing -- it already consists of pixels. Any sane video player would simply show the original 1080p video mapped on the 1080p screen in full screen mode.

[+] adamfeldman|11 years ago|reply
(1) Is it really a problem that apps can't be pixel perfect on the 6+? How unsharp are we talking about? Are there workarounds such as device detection and an additional set of image assets?

(2) Will Apple aim to re-enable pixel-perfection in next year's iPhone release? Was this just a stopgap measure due to yield challenges inherent to display manufacturing?

[+] MCRed|11 years ago|reply
1- We'll have to see a device to know for sure, but I expect his will not be a problem at all. For my apps, I'm going to do nothing, but make sure we support the additional point dimensions.

2- I think this is doubtful. The first time I saw a WWDC presentation about Resolution Independant graphics was in 2003 (maybe 2002.) Apple's been preparing for this time for a over a decade. The iPhone just was a bit too skeumorphic in its early versions resulting in a focus on raster assets rather than vector.

Either we're all going the Paintcode way (authors of this post) or Apple is going to have to start taking CSS or SVG or some vector format for its assets.

I think this is more likely than tying displays to a rigid multiple of the original iPhone screen size.

[+] 3rd3|11 years ago|reply
(1) The iPhone 6+ has 421 dots per inch, which is in the lower ballpark of printing resolutions where you don't have pixel perfection either. It's not going to be a problem.
[+] xngzng|11 years ago|reply
Would be great to add 4" size of iPhone 5/5s/5c to the illustration.
[+] scott_karana|11 years ago|reply
Substitute its resolution and dimensions for the regular 6, then: it's got the same DPI and the same 2x scaling, on a smaller screen.
[+] yodsanklai|11 years ago|reply
Stupid question, but why the point resolution for the iphone 6+ isn't a perfect divider of the pixel resolutions like it is for the other iphones?

Since there is more than one point resolution anyway.

And also, how is it different for android devices?

[+] MCRed|11 years ago|reply
Not a stupid question as you've hit on the major strategic bit of news here that most people, I think, are missing.

Displays are cut from larger pieces of display material at a given PPI. So Apple focused on perfecting a 163PPI display material and then tended to use it on multiple products. They'd do the same thing for the retina display material as well (I think at one point the iPhone and iPad used the same display material and it was just cut to different sizes in making the display)

Apple could do this because they work so closely with their display manufacturers and they care so much about fidelity. It just happened that doing rigid multiples of the original display size was convenient for software as well.

However, displays have become more commoditized, especially retina resolution ones (at the time it was introduced, Apple was the only one shipping these kinds of displays in such volume) and Apple's volume has only increased over the years.

So we're seeing a shift to more commodity display production, I believe, because the commodity market has caught up with Apple's standards. Beyond 300 pixels per inch there isn't much advantage to higher density.

But there is a huge advantage to unit volumes of a display also used in portable TVs or whatever.

The software cost of downscaling isn't significant at this point so it is an economic change.

[+] ZeroGravitas|11 years ago|reply
There were rumours of display manufacturing problems holding up the "bigger" iPhone 6. So I wouldn't be surprised to see a minor bump up to an actual 3x pixel size in the next revision.

(This would also give them back a minor marketing advantage that they had briefly when they introduced Retina, as I'd guess most mainstream Android's will stick at 1080p)

[+] dcarmo|11 years ago|reply
Not stupid at all, I still don't understand the reasoning behind it.
[+] sriku|11 years ago|reply
They did it! This nice page explaining the resolution differences etc. made me want to click the "paintcode" link at the bottom of the page. This is hard to pull off well, and I think they did it.
[+] TomAnthony|11 years ago|reply
Cool diagram - helps to understand what can be a confusing topic for people who don't actually do any dev on the platform.

I believe the 326 PPI for the original iPhone is incorrect. Should be 163, I think.

[+] josteink|11 years ago|reply
TLDR: The Iphone 6 plus can never show a sharp picture, unless the application-UI is adapted to be unsharp on all other displays.
[+] MCRed|11 years ago|reply
Not the case at all. Anyway, anything rendered into a retina resolution is going to be quite sharp.
[+] xsmasher|11 years ago|reply
If this article is true then "The Iphone 6 plus can never show a sharp picture" seems correct (your 3x assets will be scaled to 2.6x).

What part of this do you think breaks other displays, though?

[+] Too|11 years ago|reply
Microsoft made a somewhat similar mistake(?) many years ago with WPF, a vector UI framework supposed to handle a wide range of pixel densities. You could frequently end up with lines that were 1.5pixels thick or located on a fraction of a pixel which caused them to look very blurry. To fix this they added a special flag called something like forcesnaptodevicepixels, which was supposed to force certain lines to always be located on an exact device pixel.
[+] UIZealot|11 years ago|reply
For the 6+, why couldn't they use a 1600x900 screen at 2x and be done with it? That'd be 800x450 points and 330 dpi, nice and easy. Rendering at 3x and then down sampling to 1920x1080 seems like a lot of useless busy work for absolutely no gain.
[+] achille2|11 years ago|reply
I still don't understand how the iphone6 can run existing apps while having the same dpi as the iphone5 but with a larger screen.
[+] felixgallo|11 years ago|reply
can this be real? There's mandatory downsampling in every case, even if you want to try to ship to be pixel perfect?