The High-PPI Problem
So earlier today I ended up around a group of people, one of which I won't mention by name, but I will say I deserve a damn medal for not leaving an impression of the Apple logo on their forehead by using my Powerbook as a clue stick, nor just tearing into them verbally.
This person seemed to feel the need to educate those around him on how bad their Dell and other laptop screens were, and why his Powerbook screen was so much better and so much thinner while being so much better! A person rightly, since they had their x86 laptop right there, seemed to be kind of confused by this supposed quality disparity and kept pointing out how he either couldn't tell the difference or areas where his x86 laptop seemed to actually have a sharper, or higher contrast picture.
Ah, but then he laid down his trump card: that web pages on the x86 laptop was so small and thank the $Deity that Apple hadn't bought into the resolution game and knew it was better to ship screens with a low PPI, and that if he had been given the same x86 laptop he would have returned it because the web experience was so poor.
So, rather than test the resolution of his damnable forehead with my laptop, I bottled up my anger into that secret place inside which all men have and chased it with some drinks and the following post.
When it comes to flat panel monitors, or LCDs, there are a few things that are going to affect the quality of what you're seeing:
- PPI
Think of this as pixels-per-inch. A 15" screen running at 1024x768 is going to have a lower PPI than a 12" screen running at the same resolution. Pixel-count is very much going to affect the cost to the manufacturer, in fact its prolly the biggest cost there is, as the more pixels they have, the higher the chance there'll be dead pixels and the board is unusable. More pixels costs more money, no way to get around that.The more pixels you have in an inch, the more information they can represent, and hence the clearer and sharper the picture. Just think about it, say, with anti-aliases type: 100 pixels in an inch area isn't going to be able to give you the same bits of detail that 1,000 will.
- Contrast Ratio
As most will tell you, one of the biggest problem with LCDs over CRTs is the lack of color fidelity. Getting a true black is difficult at best, let alone color shifts from just slightly changing how you're viewing the screen. This really isn't that difficult to see: fire up a DVD and play it full screen and look at the top of the screen. Does it really truly look black? Or just darker. LCDs have gotten way better here, but the difference can still be stark between a high-end CRT and a high-end LCD.This also has an effect on field-of-view, in that if you turn your head away from square-on to the screen, the colors can shift or look less black. Apples new screens have a great contrast ratio compared to the competition, meaning that they now pretty much match almost everyone else. The older screens topped out at a contrast ratio of 350:1, whereas people like Formac, etc had been shipping screens with 400:1 for ages, and there are screens out there in the same price range with 450:1 or even 500:1 contrast ratios.
A lot goes into a higher contrast number, not the least of which is housing and backlight construction. Remember a CRT basically excites stuff sitting on a layer behind the glass with an electron gun, an LCD shines a light through the back of a layer of pixels which change their orientation to display different colors... so the evenness of the backlight and such is very important.
There absolutely is a reason why Apple doesn't give contrast ratio information about their portable computers: they aren't the best. They're not terrible, but on the low end they're, well, on the low end. You can easily tell the difference between different Apple laptops in this regard, and you can easily tell the difference between Apple laptops and higher end x86 portables. Neither are where a good desktop display is, as they just have looser requirements in terms of space, power, etc. but in no way do Apples outshine most of the competition in the same range.
- Pixel Response
There's a reason why the brand new Cinema Displays suddenly show their pixel response times, and in days past they'd only show the contrast ratio. Historically they've kind of lagged the rest of the industry, but a lot of that history is due to how long in the tooth the last displays were. Right now they're square in the pack.Pixel response is basically how fast the pixels can reorient themselves, or change colors, and the lower the number the better the experience when movement is on the screen. Places where this comes up are with any form of animation, scrolling, video, games. Lets just say its kind of important, and only Apples newest displays are really competitive with anything that isn't several years old or cheaper than Christina Aguilera.
Ah, but there is the whole "It's too small!" issue. Buy a pair of glasses. How's the rock saying go? If its too small, you're too old. Kidding, its a real issue, but one which should already be solved.
The idea is that lets say you're hanging out at DrunkenBlog with a Dell laptop, with a 15" 1600x1200 display, and a Powerbook with a 15" 1152x768 display (they have one with 100 more pixels now, but they took their sweet time). If you're on a fucked up blog like this one, that has the temerity to actually specify pixels instead of using em's for spacing... yes, stuff is going to look small as hell on that Dell. 9 pixel type (this site doesn't use 9 pixels, thank god) and until I actually get around to moving this to ems', chances are you'll be increasing the font size if you're on a high PPI screen. But 9 point type will look sharp as hell.
Go ahead and try it, I'll wait. Take your 1024x768 iBook screen and throw the Terminal a 9 or *gasp* 8 point font. I doubt it'll even be readable at 8 points, but on a higher-PPI screen it would be.
But going back to em's, these don't really solve the problem, as sites like this have this nasty habit of not using fluid designs, so if you're on a really high-PPI screen you could really end up in situations to where you're reading 3 words in a line, which while amusing isn't conducive to comprehension and puts a lot of wear on your page-down key. You also have a problem whereby the big fat window (if you're using Safari, a metal window) suddenly gets real small.
Which brings us to the big factor that'll change all this, and something I was really hoping for in 10.4, or at to start to set the stage with via accelerated drawing: resolution-independent display.
There's really no doubt that this is where the future is, and where Microsoft is heading for with Longhorn. If you're having problems wrapping your head around what this means, think in terms of a logo that's in both .EPS and a .TIF file. A .TIF is basically a bitmap, or a data representation of pixels. The more pixels you want to represent, the more data you have, and hence the bigger the file. A .TIF file that is 1024x768 that you want to display on a 30" screen will either only take up a section, or if displayed full screen will have to be scaled up, losing quality.
But an .EPS is simply a mathematical representation of the image (kind of like a poscript font versus a bitmap font). You can display one on a 1024x768 computer screen or scale it up to the size of a billboard and it'll look fantastic on either, but the more resolution you have the better. Clearer, sharper, better.
This is basically where people get confused, and go "MacOS X uses DisplayPDF! It already does that with Quartz!". No, it doesn't. Bitmaps are abundant in OSX, which means its not immune from the high-PPI problem. The pretty icons are actually bitmaps of several sizes up to 128 pixels, and if they're displayed somewhere in between those sizes software interpolates them. The metal windows? Bitmaps. The title bars of all the windows? Tiled bitmaps. The pinstripes? You guessed it.
So basically the interface doesn't scale, and if you throw Aqua onto a high-PPI screen things get really, really small, and fitts' law says you're going to have real problems hitting those gumdrop buttons on the title bars, and while the menu commands will be really, really sharp they'll be really, really small.
Even WindowsXP is more scalable; in that you're able to change some of the settings for application fonts, etc, but its still not very good. No, thats coming with Longhorn (or at least the groundwork: accelerated drawing makes this stuff feasible, like having a software or hardware RIP for all you prepress people) when you'll be able to display your Windows screen on a 1024x768 or a resolution thats triple that, and everything will be the same size, only much much sharper on the high-res display.
So, problem solved right? Throw in hardware-accelerated drawing on OSX and we're all set for high-PPI displays, no problems since Apple already has Quartz, and hey, perhaps all that bitmap stuff was just placeholders so that machines of the time wouldn't have a refresh rate of 2 frames per second. Unfortunately it doesn't look as though there's going to be accelerated drawing in Tiger (10.4) which is really, really something you want for this to be fast enough to be usable. Considering that Apple has lengthened the time between released from ~1.3 to ~2 years for Tiger, and has stated they are going to be lengthening it to an even greater degree, realistically we're looking at at least 4 years until Apple has this if its not in Tiger, perhaps a huge amount more if they only get in accelerated drawing for 10.5.
But it kind of gets worse than that. One of the big things about Longhorn is that while it respects backwards compatibility, and bends over backwards for it, in many cases it looks as though Microsoft, for the first time, has decided that they're not going to turn into a gymnast for it. Longhorn is going to support a lot of stuff, and well, but a lot of stuff is going to break. MS seems to be focusing on it not breaking hard, which is still a lot of work when moving to these things.
The problem is basically this: way too many apps, if not the vast majority, deal with themselves via pixels. This is... problematic... when you move to a system that isn't dependent upon a set resolution, very similar to the web page problem I mentioned above. Feel free to check it out for yourself by opening up XCode or InterfaceBuilder. Everything is specified via pixels in the pretty tools when you're laying out the interface, let alone when you're doing things programatically. IE, telling the OS to display a centered window isn't a big deal. Telling the OS to offset the window by 15 pixels kinda is when on a high-PPI 15 pixels looks like the width of a human hair. This stuff is going to take real work, and take real time to transition to.
....which is why everyone is looking at the high-PPI problem except for Apple, unless I'm unaware of something, and its going to bite them in the ass the same way that not making Quartz multi-user and network-aware from the get-go did when they wanted to throw in 'active user switching' or users get stuck with horrid apps like Apple Remote Desktop. Even Linux distributions using SVG (another vector format) for their icons instead of bitmaps. Guess what Longhorn is going to be using? Yep, vector stuff.
Screen real estate isn't going to go down, and at some point Apple is going to end up paying more for low-PPI screens than high, simply because no one wants to manufacture them, and not having a display layer that can really handle it is going to be very problematic no matter how much they lag.
Ah well, this stuff just pisses me off.
Update: Corrections and clarifications in The High-PPI Problem (Redux (AKA, notes on CoreImage))
Comments (18)
Posted by: solios at July 17, 2004 03:31 AM
mmmm.... PPI. Sounds like a South Park punchline.
Realisitcally, I could see Apple transitioning to a vector-based graphics format for resolution-independant display, though they'd obviously have to keep support for older icon formats in place.... much like the transition in formats between OS 8 and 8.5. (neat trick- high color depth icons in OS 8.5 and up don't "take" in 8, so your app or whatever can technically have two VERY different icons). Add the existing icon format and the Classic icons- which by extension support even older versions, and you have the potential for a nice little rack of Filemaker Pro folder icons -one of each version- displayed at, say... 256x256. Which would make FMP 2.0 icons look like ASS.
I used to think "scaleable" in an operating system meant the interface, not threading and SMP support.
Kids these days, with their high technology!
Posted by: Anonymous Coward at July 17, 2004 04:14 AM
Batman, you are ranting upon false information and bad investigation. Please consider that you might not know enough of 10.4 to write such an article.
Posted by: uv at July 17, 2004 06:12 AM
I don't know much about Longhorn graphics except the fact that some will be vector and that it will be hardware acclerated, and nobody knows much about graphics in Tiger 10.4...
What I do know is that it seems Apple have started to address these graphic problems early on - maybe not as technologically as Microsoft seems to be doing now, but more to the point; larger icons, Quartz extreme, wide-screen displays (, even command+] in Safari) - you name it. And since they are predominant in the video/graphics market, I'm sure they'll make the best of it...
Posted by: uv at July 17, 2004 06:14 AM
(that's command+'+' of course)
Posted by: Celsius at July 17, 2004 07:51 AM
Strong words from an anonymous coward. :^) It all made sense to me, I did not see anything in the 10.4 webcast that showed anything about the drawing. AC are you saying it is in 10.4?
I do remember during the webcast Jobs made a big point that the new displays were all 100 PPI or something but did not really understand it or what it meant.
Posted by: Zachery Bir at July 17, 2004 08:30 AM
Man, I'm so ready for higher res displays on Apple machines. You can always step down, but interpolation for stepping up usually suffers.
Incidentally: s/$Diety/$Deity/
Posted by: Anonymous at July 17, 2004 01:50 PM
> which is why everyone is looking at the
> high-PPI problem except for Apple,
> unless I'm unaware of something
Yes, you are completely missing something. Have Tiger? Launch QuartzDebug. From the Tools menu choose "Show User Interface Resolution". A window will open up with a slider. Here you can change the scale factor which will cause the dpi to change form the default 72 to any number you desire.
Those that were at WWDC were well made aware that getting application developers to become resolution independent is a high priority. Like you said, many developers are going to need to make changes. Now every developer has the tools to do it. By the time Tiger ships, there will be no excuses.
Tiger documentation contains all the details about this.
Posted by: P Weizerman at July 17, 2004 04:53 PM
Is where he is wrong is that these things are all in 10.4? This is new to me.
I dont know a lot about PPI but my ThinkPad screen is a lot better than my 15" 1.25 Powerbook. I would guess the resolution makes sense.
I do run into people who run their high resolution Dell or IBM laptops at a lower resolution, like 1024x768 even though it makes it blurry. But they usually dont realize they are running in 256 colors. :p
Posted by: JJ at July 18, 2004 05:30 AM
There is nothing in Tiger that is resolution indepedent that I can see with the beta. Apple wants your apps to look good at 100 ppi but not resolution independent. 100 ppi is where Apple is setting the limit, and even calling it a feature!
Since you have some traffic I am really glad you are drawing attention to this issue even if it is not something mainstream users care about right now. Microsoft has been setting the groundwork starting with WindowsNT for this with the GDI32 and GDI+ APIs for drawing to come in Avalon. Apple isnt really starting. I have seen nothing in Tiger for resolution independent displays, but that is a goal for LongHorn. In fact Apple is going in reverse and just mandating 100ppi.
One note: You hint that Quartz should be able to do this, I am not so sure it is. DisplayPDF seems to be in the clear, it just needs to apply transforms to its data to upscale. But from what I have seen the compositing engine is very pixel based.
Posted by: Anon at July 18, 2004 07:20 AM
Who wants a squinty display? I'll take my 1024x768 with text I can READ.
Posted by: Anonymous at July 18, 2004 07:40 PM
> There is nothing in Tiger that is resolution indepedent
> that I can see with the beta.
Ugh... how much more clear can it be? Did you even *look* at the documentation? Here we go kids, get your Tiger CD's and load up:
/Developer/ADC Reference Library/releasenotes/Graphics/Imaging/ResolutionIndepentUI.html
"Tiger continues the evolution of resolution independence in Mac OS X, bringing it to the computer user interface by breaking the software assumption that all display output is 72 DPI. From its inception, the Quartz graphics system was designed to be resolution independent across output devices. For example Quartz can take content displayed on-screen at 72 DPI and scale it for output to printers of varying DPI. Now the same is true for the display. Resolution Independent UI uses a combination of technologies across the different application development frameworks to scale the UI for varying output resolution.
"Resolution independent UI will have an impact on the way you lay out your user interface. It will also impact the graphics you create for your application. The following sections provide an overview of the changes made in Tiger to support this feature."
The documentation goes on to describe three different scaling modes and how they affect both Cocoa and Carbon applications. Again, just load up QuartzDebug and change the scaling factor to see how your application works with resolution independence.
Clearly this is going to be a migration period and it won't happen fully in Tiger. But Apple has given us (developers) the tools and users are going to expect us to act.
Posted by: drunkenbatman at July 18, 2004 09:34 PM
Anonymous,
I don't have a copy of Tiger unfortunately, and I'm kind of keeping it that way intentionally so I'm not stuck under an NDA (which I live under too much in my day job, and I'm beyond being sick of), which means I'm reliant on what I'm told and only have what's available to the public w/speculation.
If you're correct, and there are obvious movings towards resolution independant displays (not just moving to a standard of 100ppi which, while keeping things more in line with Windows and a nice round number isn't really what I want) there's nothing more I'd rather be wrong about. Well, that and my belief that women are lying to me when they say size doesn't matter.
Feel free to hit me up via email if you have some dish to share on the down low.
Posted by: Ryan at July 20, 2004 07:30 PM
You know, that's fine that you don't want to be under an NDA. But, since you have no idea what was presented at WWDC sessions nor what is contained in the developer documentation, you have no grounds to claim what features Tiger will or will not have upon release. Nor, since (I assume) you do not work at Apple, do you have any grounds to claim what Apple is or is not working on for future OS releases.
Feel free to call out the problems, but don't speculate about that which you have no knowledge. Yes, Apple displays are quite bad compared to many PC laptop displays. Yes, Quartz uses bitmaps all over the place. Yes, resolution independence will be a problem in the future for all operating systems.
But you yourself admit that you have no idea what is going into Tiger (since you admit you are not bound by the NDA). Then how can you make any claims about the features that are being presented in Tiger? If you don't work at Apple, how can you know that they aren't planning (and don't already have the groundwork for) multi-user and network-aware features for Quartz? How do you know that Quartz design "bit them in the ass" when they added Fast User Switching? How do you know that accelerated drawing isn't being added to the OS (either in Tiger or later)?
Rant about the stuff that pisses you off. I read your blog for the rants. But keep the unfounded claims and accusations to a minimum, please.
Posted by: drunkenbatman at July 20, 2004 08:03 PM
Ryan >> I said it doesn't look as though there's going to be accelerated drawing in Tiger. Nothing I've seen has changed my mind in that regard, and, sorry, its something I'm holding out for and consider to be important enough that if its going to be in Tiger, it would have been in the Keynote instead of a Myst presentation. It's, you know, kind of a huge deal to just not mention.
But since you said "Or later?" in regards to accelerated drawing... well thats kinda open ended isn't it? It has to come at some point, and when it does I'll go "Ahhhh.....". If it comes with Tiger, I'll be happily surprised. If it doesn't come until later, well, that's kinda exactly the scenario I mentioned.
As for Quartz 'biting them in the ass', its not a network-aware, nor multi-user aware Window Manager. They had one with NeXT, but Quartz doesn't have it. Quartz expects one person to be using the system at any time, not multiple people wherevery they happen to be. It just wasn't something they thought their core users would care about, hence them not getting active-user-switching until 10.3.
Glad you liked the other rants, but I'm not going to not talk about topics simply because all the information isn't available. There may well be an iRSS in Tiger that wasn't shown, or Safari may actually have some RSS capability that makes it really useful in Tiger, but it wasn't shown... so I'm going to bitch about it and hope I'm wrong, even if I don't have a copy of Tiger in front of me. Bringing the topic to light and having the debate, even if its on the lack of information, is half the point. :)
Posted by: M at July 20, 2004 09:17 PM
To whisper in your ear: Apple is making inroads for resolution independency, but don't expect drawing to be fully accelerated with Tiger.
Microsoft may leapfrog them on this, but until displays with extreme DPI are common place in Apple hardware I don't expect many mac users to care as much about it if they have a G5 iMac.
Posted by: Rory at December 19, 2004 06:57 PM
Resolution independence isn't important at this point in time, display resolutions are still relatively low and with the exception of a few laptops most are 100dpi or lower (look at the resolution of standard TFT monitors). This doesn't mean that the ground work shouldn't be done for resolution independent graphics, but it's not going to be something that becomes used by the masses for a long while yet. Think about the web for example, the only way you can even put a vector image up is to use something like flash, there is no vector counterpart to a jpeg or gif.
Posted by: Juanxer at February 26, 2005 04:55 PM
Some time ago there was a WWDC Graphics session QT movie circulating out there in which issues such as hardware-accelerated drawing in Quartz, Core-this and that plus a bit about resolution independence was talked about. Having read this blog post and remembering that movie, I think the implementations that are being proposed are incomplete.
It seems it is intended to provide, perhaps, Global DPI and App DPI preferences. I hope it is more flexible than that, because we'll need multiple resolutions in a single running app.
Imagine Photoshop: you've got, say, some sort of stupendous superHiRes monitor, and the palettes' icons are too small and menus and dialogs' text too small too, but the opened document is quite right as it is because this is Photoshop. So you want to set the palettes at a given DPI, the menus and dialog boxes at another DPI, and you absolutely want the opened document to be at the monitor's native DPI.








Holy shit can you rant with the best of them.
LOL JK. I know what you mean, I do wish they would up the resolution on the 15" and 17" Powerbooks. But the 12" screens are good where they are.