I was amazed by how bright this page could get, on both Macbook and iPhone — https://kidi.ng/wanna-see-a-whiter-white/ — and I want to figure out how to use this superwhite on my interactive tutorials. But as far as I can see, canvas, svg, and webgl can't access it.
What’s nuts is that this also works on displays without the ability to control luminosity on individual parts of the screen. The link you posted works on my 2020 11” iPad Pro, which has an LCD with no local dimming.
However, it slowly ramps up over a second or two, whereas my OLED iPhone (which can of course set luminosity per pixel) enters retina-searing mode immediately.
Even on 100% brightness, an iPhone Pro 13 shows the "White" text significantly brighter than the background white.
Some other interesting observations:
- If I zoom in, the over-100%-bright text fades until it blends in with the background. This is expected (OLEDs have higher peak brightness for small areas), but what isn't expected is that it seems to do it in discontinuous steps.
- If I go outside into full sunlight, the contrast between the page and text is lower. This is again an iPhone feature in action where "maximum brightness" is actually further boosted in bright conditions.
- The text takes a few seconds to reach maximum brightness. I expected it to start at full brightness and fade, but it seems to do the opposite...
I can understand why the notion programmers have that "color" is an RGB triple of 8-bit integers from 0 to 255 is so attractive. It's a simple mental model with no complexity. But to get the most out of modern displays, we have to abandon such childishly simple models. Each color channel will need to be 10 bit minimum, 16 if using linear light. Peak brightness becomes this complex many-faceted thing with per channel maximums, all-channel maximums, and variations based on both time and area!
The reason why it acts this way is because of oled heat, power and burn in limits. On a microled display such limits wouldn’t occur nearly as much. HDR color in programming will mostly just be a bigger color value. All the other stuff is display by display model specific. We have such variation in sdr displays too, and most programmers never really think about the color profile of the display either.
> Even on 100% brightness, an iPhone Pro 13 shows the "White" text significantly brighter than the background white.
Same with the new MBP.
The text does fade in over a second or two, and while that happens, I can notice the entire screen flicker ever so slightly. There's clearly some very impressively calibrated interplay between the LCD panel and the backlight going on.
> I can understand why the notion programmers have that "color" is an RGB triple of 8-bit integers from 0 to 255 is so attractive.
Most of the time when dealing with color, it's colors of UI elements. And those are assumed to be sRGB anyway.
But more seriously, I was hugely disappointed to see Microsoft unwind their wide-gamut and HDR GUI capabilities that they introduced as far back as Vista while simultaneously Apple is making wide-gamut (Display P3) and HDR standard across all of their devices.
Someone at Microsoft was forward thinking, and now some idiot is undoing that good work just when displays are catching up to the software capabilities.
Sooner or later, Windows will cap framerates at 60 Hz to make sure 120 Hz monitors don't deliver any visible benefit either...
The way Apple handles HDR clearly suggests that you aren't meant to use HDR colors in UIs. The mouse pointer has a pure white (#FFFFFF) outline, but when you put it over an HDR video, that outline appears grey. Then after you've closed the video, your vision needs some time to readjust back to the UI white level. The APIs (Metal and whatever videos are played through, VideoToolbox?) also suggest that it's for games and media content only.
Now, of course you could circumvent this and add retina-burning-bright controls to your app. Your users would probably hate you for doing this.
And regarding wide gamut, I'm not sure what kinds of benefits this brings to UIs either. It does make photos and videos feel more lifelike, especially when combined with HDR. But I've seen an extension to CSS that allows specifying wide-gamut colors, and you can also use them in native UIs (I've managed to do that in my aforementioned experiments https://news.ycombinator.com/item?id=30219169).
> wide-gamut and HDR GUI capabilities that they introduced as far back as Vista
Wow. That was quite the future proofing at the time when everyone was transitioning from CRTs, and LCDs of the time were noticeably crappier than CRTs.
The thing with Windows though is that it's really hard to get so many companies involved in the chain to agree on something like this. Apple has complete end-to-end control of both the hardware and the software/APIs which allows them to casually pull off this kind of stuff.
One aspect that I haven't seen considered is how useful increasing the brightness for folks who are disabled like myself. I have a rare eye condition where the amount of light omitted really matters to me. It's one reason why I look at nit brightness each year on phones and monitors. I can say it really helps the more light these devices can output and how it impacts my vision. It's why I try to upgrade more frequently.
On my iPad mini 5th gen, the message and background appear identical at about 95% brightness.
I think it's pretty weird trying to get more than maximum brightness from an Apple device. I think it would be far more useful to get a spectrum of usable levels of lower than minimum brightness. Apple's maximum brightnesses have always been close or the brightest devices available, but Apple devices minimum brightnesses have always been way too bright with no reason for it.
I think if you zoom in whilst showing a corner of the viewport it works because the hdr videos are still in play but if you zoom so the corners are not visible it will fade out
For anybody like me not 'getting it', the for me at least on my m1 pro macbook pro needed to use this in Safari, chrome unfortunately wasn't showing the white text.
HTML is far from the first document format that's turing complete. See Postscript, PowerPoint (No macros needed), Excel (No macros needed), PDF (if you count the embedded JS), Word (If you use macros), etc.
HDR works for the Photos app. Though it doesn’t work for social apps I’ve tried, I’ve seen similarly high brightness static images in Safari. If you can’t do it with canvas, I’m betting you can do it with a Blob object/blob: URL or even just a plain data: URL. You’ll also need to set the appropriate color space, otherwise it’ll default to sRGB. You very well may also need to use some non-web APIs (pick your binary interface of choice), if canvas clamps to 8-bit (which I’m too lazy to look up on mobile at this particular moment, but I’d be surprised if it doesn’t).
It's easy to write an app that displays arbitrary graphics at 1600 nits on the MacBook Pro. You just have to use the Metal API, an "extended" color space, and a Float colorPixelFormat.
I'm not sure that this blog post author is trying to accomplish, possibly they are trying to use some other API besides Metal?
I’m not trying to draw HDR content. I want to increase to overall UI brightness (basically, make the brightness of where backlight LEDs go past the software defined limit)
I’m testing Apple’s claim of 1000 nits sustained brightness which led many people to believe that they can finally use their laptop in direct sunlight without squinting at the screen.
I’m aware of thermal limitations and that even sustained might not mean “whole screen at 1000 nits for 8 hours”. But it would be nice to be able to use 1 hour of my work time to work in the park outside my apartment with a bright enough screen for that time.
The system has thermal capping implemented from what I saw in the CoreBrightness framework, so it should be safe as long as the system can detect that LEDs are starting to overheat and lower the brightness automatically.
As a suggestion to help you with your quest - try polarised sunglasses. I used them with my M1 mac this summer quite successfully! The macbook screen is polarised so that the screen light goes straight through the sunglasses, while the surrounding sunlight gets dimmed.
"Vertically polarized light is preferentially refracted at the surface, so that the reflected light is left more horizontally polarized" and you use vertically polarised sunglasses to filter out the reflected horizontally polarised light.
> I’m testing Apple’s claim of 1000 nits sustained brightness which led many people to believe that they can finally use their laptop in direct sunlight without squinting at the screen.
Well yes, even that would be useful if working with text. (although I’m sure some will also be doing some graphic work)
But this can’t be done either. That website has the whiter-than-white text because it chose to do that. It’s known that every app has the possibility of rendering HDR content at more than 500 nits.
The problem I was trying to solve is how to do that from the outside, on apps that haven’t implemented HDR logic (which is about all of them)
The author is the author of lunar - https://lunar.fyi/ - an app for controlling screen brightness on external (and internal) screens on the Mac. He is trying to force the system to brighten the entire screen to the levels it will brighten light spots in an HDR video.
Heh, interesting. When I just got my new macbook, I did try to draw something with a "whiter than white" color to see what the display is capable of. But I didn't think of Metal, I poked around in a custom NSView with various NSColor constructors passing values more than 1, and that didn't work.
A couple things: the Objective-C methods you listed are often accessible via the runtime APIs unless they are marked as being direct calls. And kSLSBrightnessRequestEDRHeadroom is unlikely to be a function; from its name it is probably a constant of some kind.
The iOS app Radiance+ [1] allows you to take an existing photo and generate an extended dynamic range image that has this effect. The results are compelling where the whites are far brighter than the system white.
Absolutely love that someone's trying to do this. I was scouting around for a way too [1]
I take 5 minutes to ride from home/office to a table in a nearby park to work from there for 1-2 hours. It's so healthy and invigorating, and the change of scenery can inspire creativity.
But it's hard to justify when nuances on the screen become imperceptible under bright sun light. 1-200 more nits would change that. And the 2021 16" MBPs are technically capable of up to 1600 nits!
Another approach I finally found outside of seeking a higher brightness screen or eink is having the screen on a stand and closer to your face - particularly with a tablet pc. Between this and some tree cover it's been manageable to have longer outdoor sessions.
Dolby already implemented that with Dolby Vision IQ
Dolby Vision requires the whole chain to perfectly respect what the content says, both in color and brightness, so if you have a bright film, it'll blind you in the dark. But they now license (I assume for an additional fee) adaptive brightness for Dolby Vision!
All the commentary seems to be accepting framing of the situation as a "over max brightness" band you can access when they're just dimming normal content. Brings to mind the business with doubling pixel sizes with the 4K displays and requiring tricks from apps and web content to access the native resolution.
The measurement shows that SDR content goes up to 500 nits (which was the peak value of previous MacBook displays as well) while HDR content goes up to 1607 nits.
If we have a monitor that has a brightness of 1600 nits, and whites of some content ("sdr") shows up much dimmer, the pixels the monitor is asked to display by the systmes are dimmed relative to max brightness - no?
But people usually look at this, relative to previous displays, not relative to peak brightness (since the peak brightness is not achievable for prolonged periods of time because of overheating)
Yes, the system monitors the display temperature and caps the brightness accordingly. Here are some interesting functions I found related to this inside the system frameworks:
Is there a technical reason for not enabling going beyond 500 nits when a user just ramps screen brightness? I'm no expert but if that can peak at 1600 nits for a while, it should have been able to sustain 800-1000ish for quite a long time?
Apple claims on its website to support 1,000 nits sustained brightness and 1,600 nits peak brightness. If in reality they can only sustain 500 nits brightness, that's probably a disappointment to people who spent extra on the newer, fancier display in the hopes of working on the laptop outside.
If they can't sustain their sustained brightness, that might even be false advertising.
Yeah, I'm people; got a 14" MBP expecting to be able to ramp up the brightness, and was surprised to find it caps out at exactly the same brightness as my previous 16" Intel. I think their marketing claims here are extremely deceptive. Apple should be above engaging in such shenanigans!
(Nevertheless, still super happy w/ the computer as a whole; it's an amazing machine.)
Then why is Apple advertising it as 1000nits sustained?
If it can sustain 1000 nits for HDR content, it can for SDR too. The display isn't going to say "hey it's SDR let me piss them off" and suddenly start dissipating more heat at 1000 nits at SDR compared to HDR after all.
Well most likely because HDR content doesn’t mean full bright white for extended periods of time.
Even if you watch 8 hours of HDR content, only some of the LEDs will get to peak brightness for small periods of time. That will allow the LEDs to cool down enough to sustain that brightness.
The macOS UI and webpages on the other hand are mostly bright white and that can cause trouble on extended periods of time.
That's perfectly reasonable, but Apple lists different brightness capabilities for "sustained" and "peak". I don't think anyone expects their excellent 1600 nits peak brightness to be constantly available, but the 1000 nits sustained brightness is supposed to be, well, sustained.
Perhaps "sustained" is some kind of jargon from the laptop industry but I consider myself to be more educated than the average Joe when it comes to computers and I would've expected a 1000 nits screen based on their advertisements. I don't see what Apple has to gain by either lying or deceptively using jargon like this.
- developers standardize on a open-source brightness slider in the Menu Bar
- or, each app has an individual 'brightness' slider.
It's a lot of work and a shame that Apple is making us to do this, but if a handful of apps start to do it then perhaps they'll come to their senses and just let users control their own damn screen brightness.
A "nit" is also an alternate term for a "nat", the natural logarithm counterpart to a Shannon information "bit".
This headline really threw me, trying to guess at what level of organization there was an information bandwidth issue with the MacBook Pro that would be measured as "500 nits".
Idea: create a small web browser or movie player app which plays a 1x1 nearly invisible HDR video in some corner and get the nits limit higher.
I had sometimes problems with color management on mac on fullscreen videos and to prevent that I put a small window from Helium or Pennywise (always on top browsers) into some corner to fix it.
If you are a dark area 200 nits would even be high.
If you are in a well-lit area or outside in a sunny day, 200 nits would be super dark, and by that definition if it was unhealthy, looking at almost anything in a well lit day would be unhealthy.
The butterfly keyboard mechanism responsible for breaking on dust particles is gone on newer laptops.
The current MacBook keyboards are quite nice, they have the same mechanism as the external Magic Keyboard sold by Apple, and they seem quite resilient. I had no stuck key in the last 2 years.
Only the new Magic Keyboard with the roundrect corners and the Globe key have the new, dust-resilient key switches from the new laptops (which preceded it).
The prior model of Magic Keyboards with the Fn key use older defective dust-vulnerable switches.
You use it outdoors? I'm typing this on one of the emoji keyboard laptops and it works so "well" that I'm not in a rush to give Apple more money for a portable...
Note that I bought the 2018 or 2019 model with extra isolation under the keys. That didn't help at all.
Yes, since the beginning of 2020 I’ve used the MacBook Pro in parks and botanical gardens where there are a lot of particles flying around (after an hour I usually had to wipe the screen to be able to see something).
The keyboard worked perfectly fine.
I haven’t had a chance to test the 2019 Intel MacBook too much, but the M1 2020 was heavily used outdoors. I believe the M1 2020 model was the first one to get the Magic Keyboard mechanism: https://support.apple.com/kb/SP824