This is what I've been praying for! This would really be a smart move by apple to keep fragmentation down.
Its been a year since I started speculating that the iPhone 6 would have an @3x display, and so far a common reaction is always But Steve Jobs said pixel-doubling was necessary when introducing the iPhone 4!.
Its important to understand why @2x made sense to also understand why @3x does
<snip>
Yes.
Because it's a PHONE.
Yes. And no I don't mean if you're holding it an inch from your eyes.
Yes.
Because it's a PHONE.
Its been a year since I started speculating that the iPhone 6 would have an @3x display, and so far a common reaction is always But Steve Jobs said pixel-doubling was necessary when introducing the iPhone 4!.
Its important to understand why @2x made sense to also understand why @3x does:
1) It was an integer scaling multiplier.
Xcode/Cocoa use a points system for every possible coordinate/dimension. Those dont represent pixel values unless youre using a non-Retina display (@1x). For everything else, the pixel dimensions of elements are found using points * scaling multiplier. For example, an iPhone 5 is seen as being 568x320 points * @2x = 1136x640 pixels.
If you had a floating point scaling multiplier, say @2.5x, youd end up with floating point pixel dimensions as well. For example, a 85x45 points UI element * @2.5x = 212.5 x 112.5 pixels. Oops, fractions of pixels! Since the screen cant render those directly, multisampling will be applied to blend fractions of pixels (think of anti-aliasing). What it would look like is this (on the right):
Image
You dont want this blurry mess. Therefore, you dont want your UI elements to end up with non-integer pixel dimensions. Thats why you want an integer scaling multiplier. In 2010 with the iPhone 4, @2x was chosen in large part because it was the next integer after 1, not because its the double. That means @3x would be an equally good scaling multiplier as long as keeping integer pixel dimensions goes.
2) It didnt require scaling interpolation on older displays
Steve Jobs explained that one pretty clearly at WWDC.
Image
One pixel would become a 2x2 pixel grid. No fancy math had to be done to scale older apps on the iPhone 4. But why does this matter? Because scaling interpolations often reduce quality (not for performance reasons, thats insignificant). Keep in mind however that unlike with the @1x -> @2x transition we had in 2010, this time wed only have a 50% enlargement rather than 100%.
The thing is, a 50% enlargement with interpolation doesnt look worse than a 100% enlargement with pixel-doubling, despite the loss of details due to the interpolation.
See those examples I made with bilinear interpolation (iOS default interpolation when scaling images):
Image
Image
As you can see, older non-@3x-optimized apps would actually look better on an @3x iPhone than non-@2x-opitmized apps did on an @2x iPhone. Add to this the fact that the screen's pixel density would be higher this time around, and the perceived image quality difference would be even smaller.
Another common comment has been "But shouldn't developers be using AutoLayout constraints, which make apps pretty much resolution-independent? Therefore, who cares about the exact resolution?"
Yes, they should. But the reality is that most apps (even those using AutoLayout) wouldn't magically scale well to a bigger display like it was a responsive website. They would require significant tweaking before they can do that, and I can't see Apple forcing AutoLayout everywhere just yet. That would essentially force developers to redesign/test their app in around a month, unless which their app would probably look like crap on the iPhone 6. Since that's kind of an unrealistic timeframe, it's the consumers that would end up paying in the end. I think Apple will go through a smoother transition than that.
With the recent introduction of Asset Catalogs in Xcode, I think it's pretty clear that Apple wants to introduce a new resolution. The fact images are still labeled by "@1x" and "@2x" also leads me to believe they're not ready to drop the points system just yet.
In other news, my iWatch better be 4k, that's all I have to say.
Anyone complaining about no 1080p is just a spec-whore. 416 ppi will look exactly the same to your eyes as 1,000 ppi...hence the definition of a "Retina display" in Apple's world. Samsung could make a phone with 1,000,000 ppi and it will look the same as 416 ppi.
I went through the HTC One, GS4, and Nexus 5 - used all side-by-side with my iPhone 5 then 5S.
The differences were negligible. And more often than not, my iPhone could be brighter and was far more color accurate.
Resolution is next to meaningless.
Anyone complaining about no 1080p is just a spec-whore. 416 ppi will look exactly the same to your eyes as 1,000 ppi...hence the definition of a "Retina display" in Apple's world. Samsung could make a phone with 1,000,000 ppi and it will look the same as 416 ppi.
It's already impossible to have a 999 pixel @2x UI element. You need even number dimensions when designing an @2x asset. Apple thought of it all. Similarly, @3x elements would probably need to have pixel dimensions that are multiples of 3.
Right, because then we wouldn't have hundreds of "my battery life sucks" threads to add to the lot.....
Here's the thing though. 3x HiDPI gives a clear backwards-compatibility path that isn't terribly complicated, and gives predictable results with the existing software on the market.
That isn't to say you can't use auto-layout for more real-estate on a 1704x960 screen as well. But apps would need to "opt-in" to that mode, much like apps needed to opt-in to the iPhone 5 resolution to tell the OS it was capable of running in the taller screen. So there's nothing really preventing what you suggest with 960.
Jumping to 1080p screws up that plan a bit, as you are now dealing with scaling of older apps in a way that is likely to look worse than just running 3x HiDPI.
Nope, with 416 ppi or 468 ppi, the difference is probably not much perceptible, that was not my point with the advantages of 1920x1080.Not to mention more pixels in your LCD = more battery drain running the screen. While 1080p would fill a tick-box of not downscaling full HD content, Apple has historically cared very little about those sorts of feature tick-boxes. Nor am I convinced that 1080p provides a drastic benefit over 960p.
I look my old Nexus 4, my Nexus 5 and my father iPhone 5 and I can clearly see the differences between all three screens resolutions
Perhaps you can see differences in the displays - but is that directly due to differences in resolution?
There are quite a few other important aspects to display quality.
Expect Apple's competitors and Apple/iPhone detractors to point out that the next iPhone is not Full HD, so video has to be downscaled.
And I agree this is a reason to prefer something else. I expect the phone I buy this year to be 1080p, not going for the leading edge.
Yes, the crispness? is clearly different in all of them, I'm not talking about color rendition or saturation, I'm talking about text crispsness
Because if you can't attack the competition with anything of substance, revert to spec sheet wars that don't mean anything in real world usage.
I don't see any text "blurriness" on my current iPhones....if there's no blurry, how can it be sharper? "clearly" my vision is impaired since I can't see a "clear" difference. Last time I went to the optometrist, I had 20/15 vision.
Like I said - I'll take added battery life over useless sharpening of already crisp text. Make sure my colors are accurate and my display is bright and I'm good.
Also - no need to screw over devs just to hit some threshold of resolution.
There are legitimate things to criticize about the iPhone and iOS - display resolution and quality aren't on that list.