Hacker News new | past | comments | ask | show | jobs | submit login
Display brighter-than-white color on Apple devices (github.com/dtinth)
321 points by ash on June 19, 2023 | hide | past | favorite | 179 comments



Apple did a clever thing with HDR content where it can appear amongst other non-HDR content, and only the part of the screen displaying the HDR content is in HDR. But in practice it looks really bad and I hate every time I'm scrolling Instagram and an HDR video appears in my feed. It blows my eyes out and then the rest of my screen looks gray and muted for a few seconds until I get the HDR content off my screen.


When done tastefully it’s actually amazing. Especially videos which have bright sun illuminating some surfaces and other surfaces are in the shadows. It really looks like the sun is shining, I can feel the endorphin is shooting through my veins.

However, for some reason, the human skin tones can look very weird in some conditions. Maybe the iPhone camera settings should be by default off when it comes to HDR. It also complicates sharing and color editing, so it’s a true “pro” feature.


Easily doable on non-Apple displays.

(a) Buy a high brightness monitor. There are some industrial ones that go up to 1000, 2500, or even 5000 nits. A Dell U2723QE, for comparison, is 400 nits.

(b) Scaling back ALL RGB pixel values linearly from [0,255] to [0,127]. Actually, just bit shift them.

(c) Set monitor brightness to 100%, which cancels the effect of (b) under most circumstances.

(c) When you want a dose of "Apple HDR" white you just issue a [255,255,255] and you get a blast of 1000 nits in your face.

In fact I think a lot of newer monitors offer 10 bits per pixel of depth, and considering most images on the web are still 8 bits per channel, you can do all of the above without even losing color resolution from 8 to 7 bits, and instead go from 10 to 9 bits, though I don't know how to implement that in practice (might have to be done on the graphics driver level rather than scaling down pixel values in the OS?)


This sounds to me like it would be a very poor approximation of how EDR works on Apple displays.


I have to agree with the iPhone camera in bright settings. It doesn’t look good.

Admittedly it can look better than my digital camera with default settings but I can dial some manual settings on my digital camera and the photos will come out really good.

It really comes down to managing dynamic range when you are technically limited in capturing it.

A lot of people like film because because highlights roll off instead of being linear with clipping like digital, but you can get way better results with digital if you know what to do. Unfortunately I hate how the iPhone camera does it.


Have you tried disabling HDR, in the camera settings, so regular mapping is used?


It can’t be turned off.


Oh! It used to be an option, to keep non-HDR versions, but I see now that it’s gone.


> When done tastefully it’s actually amazing.

Same thing happened with color TV, same thing happened with 3D movies... every time film technology advances, it gets abused at first, until 1. people get fatigued with it, 2. someone figures out how to actually use the new medium.


Actually the whole screen is HDR, but the non-HDR parts are dimmed to match their normal brightness. They can do this because they calibrate their displays and know exactly how bright they are.

By the way, if brightness is not maxed this works even on the 400 nits macbook air m1, which they call EDR. They ramp up to max brightness and dim the non-HDR parts.


It works even if the brightness is maxed out(M1 Air), they must be leaving some brightness margin to allow for this to work on any brightness level - maybe except for outdoor lighting conditions? I had to blast the ambient light sensor with my phone's flash to get the screen bright enough so that the HDR content disappears. When the auto-brightness is turned off, you can still see the HDR content up until the top settings, just one bar down is enough to display it.

The switch from SDR to HDR is also interesting, when an HDR content is to be displayed it slowly fades into HDR. It must be tamping up the backlight of the LCD when tinting the SDR content simultaneously to create the gradual brightness increase effect in the HDR areas. The fact that the SDR area doesn't flicker when this happens, gives me the impression that the Apple do amazing screen calibration.


> It works even if the brightness is maxed out(M1 Air)

No it doesn't, I'm trying it out right now on my M1 Air. If my screen brightness is max, the video isn't extra-bright in Chrome or in Safari. If I turn down the screen brightness, it does stand out.

I don't know what you're talking about having to "blast the ambient light sensor" to get your screen to max brightness, that's not how my M1 Air works and it's not how any Mac laptop is supposed to work. That's used for "Automatically adjust brightness" (which I have on) but that's overridden at any moment just by using the brightness buttons on your keyboard to turn it up to the max. So I'm not sure how you think you've got your brightness "maxed out" but it seems you don't. You might have some other setting preventing it, like automatic screen dimming in battery mode.


Check this out: https://dropovercl.s3.amazonaws.com/3957bc45-20b7-47b5-8910-...

Also, try not to get worked up for such stuff on the internet. Yas it appears that when plugged to the wall, it does lose the HDR-white on max brightness. Still, even on max - 1, HDR is displayed properly.

On iPhone 14 Pro, which has the ability to display full HDR content, also can't display the HDR-White when the brightness is cranked up to the max.

In my book, M1 Air and iPhone 14 Pro are both capable of displaying HDR-white. Just don't go to absolute peak brightness, which only happens under direct sunlight anyway("blast the ambient light sensor" part, simulating extremely bright environment).


> Also, try not to get worked up for such stuff on the internet. Yas it appears that when plugged to the wall, it does lose the HDR-white on max brightness. Still, even on max - 1, HDR is displayed properly.

Correcting misinformation isn't "getting worked up", please don't insinuate anything like that. HDR is still fairly new so it's important that misinformation doesn't spread.

And as your comment suggests, it's only because your Mac is temporarily reducing its brightness in battery mode (also sometimes due to heavy CPU usage, that the battery can't fully drive the display and chips).

But your assertion that "absolute peak brightness... only happens under direct sunlight" is false. As you yourself are seeing, you achieve the same when merely plugged in, no ambient light required.


Hang on, Apple don't calibrate each display individualy. They profile a characteristic display, and then apply that characteristic profile to all of their displays.

If you want a calibrated display you will need to buy some calibration hardware! Displays change over time too...so frequent calibration is needed.

Edit: If you want to prove this to yourself grab the display profile off another mac and compare it. It will be the same.


TIL

Anyway, the profile is accurate enough that the dimming of non-HDR parts while ramping up brightness is not noticeable to me if I block off the HDR part.


Part of the problem is mobile devices often grade their videos “too hot.” This Demuxed[1] talk has a pretty good overview of the problem in the industry and ideas for improving it (and to avoid confusion, the talk is given from the perspective of someone in the future looking back on HDR in the industry).

[1]: https://youtu.be/bYS-P2bF2TQ


Yup, exactly the same impression for me.

To me it doesn't make HDR content look better, but it makes the non HDR content around it just look worse.


Honestly I think it kind of makes both look bad. Everything else looks muted, but also the HDR content itself looks cartoonishly over-saturated because your eyes are not in the context of seeing colors like that on your screen as it is.


So it’s basically the Spinal Tap “amp goes to 11” for displays? Genius.


My opinion of this way of handling HDR is kinda mixed when it comes to phones, but on computers and tablets I prefer it to the way that e.g. Windows handles HDR, where non-HDR parts of the screen look weirdly dim, which makes you want to only turn HDR on when running a game that supports it or something like that.


I have this only when turning on HDR in windows, but not in my screen.

When both are on, it's good.


Fortunately turning on Low Power Mode disables that nonsense. Might as well save some battery while getting rid of this eye-scorching white.


It in fact still works in low power mode.


Android does this as well now, depending on device support https://source.android.com/docs/core/display/mixed-sdr-hdr


Always wondered wtf was going on here and now it makes sense.


This has been known for quite a while and can be used for arbitrary HTML elements with some CSS hacks. I'm suprised no "super bright" advertisements have shown up so far. https://kidi.ng/wanna-see-a-whiter-white/ (Safari only)

On macOS you can use apps like BetterDisplay, Vivid or BetterTouchTool to enable that HDR mode for the whole display, which makes it significantly easier to work outside. On iOS there is "Vivid Browser" - a browser that enables the HDR mode for the whole screen.


I found out just a few days ago our company tries to be "super bright" in its banner ads with .img_ad:hover { -webkit-filter: brightness(120%);}


Great. Another feature that gets ruined by advertisers before it even gets used in earnest.


[flagged]


pun intended?


“It’s 20% brighter, isn’t it?”


But why not just make 100% brighter and make 100% be the top number and make that a little brighter?


…but this goes to 120%


For anyone who doesn't get the reference: https://www.youtube.com/watch?v=uMSV4OteqBE


Backwards compatibility


Ruining then bit with, honestly, a pretty good point.


I think many people learned this today. "Known to you" might not be the same as "known to everybody else" :)


Yep! It's just me wondering why the advertising industry hasn't picked up on this, given that they are usually fast to exploit any possible browser feature/quirk to push their advertisements.


Probably Safari users aren't their top priority right now (after all the anti-tracking features that Apple added).


I'd assume iOS is still one the most important markets for advertisers


That'd heavily depend on the target audience, safari's market share is tiny if it's global.

It should be pretty high if the target audience is US only and mainly the higher income brackets, however.


2+ billion devices is not nothing.


Nobody said it's numerically few devices.

It's just a question of percentages, do you really want to implement something that increases the brightness of your advertisement on 2-5% of your global impressions?

Entirely different story if your advertisement is a high margin product sold on the american market, especially if it's appealing to teenagers/young adults. That'd probably be over 50% of impressions, though that's just me guessing the number.


In the US (and many other countries) the iPhone dominates every demographic except I guess the very poor? The whole "teenagers" thing has never been true. Grandma has an iPhone.

However worldwide Safari accounts for over 30%+ of mobile device impressions. That is an absolutely enormous market. It tends to be the market with the most cash in almost all markets (I'm not trying to be a booster or start some mobile platform war, and yes Samsung devices are super expensive as well, but demographically you can go to almost any country -- Japan, Russia, India, Brazil, just about everywhere, and the top n% are dominated by iPhones).

If advertisers aren't exploiting it it's either ignorance, or more likely that the dominant ad networks know it will get the ads flagged as abusive and Apple will drop the hammer.


The discussion was about global ad impressions, which include desktop use and exclude devices with working adblockers.

Why are you suddenly quoting exaggerated mobile phone market share numbers in such a context?


All apologies for being direct, but you seem to have absolutely no idea what you're talking about. Your defensiveness about easily verified mobile metrics betrays your real intentions here.

Among all browser users, Safari accounts for a 20%+ marketshare (again, easily verified. I assume your metrics were either made up or you're just trolling?). Again almost entirely the people with the most money. Your hysterical claim that this is too small to bother with is a howler, but please keep on.


What are you even on about, I'm able to access the web metrics for my current employers consumer facing site which has single digit safari user agents, and I'm betting at least half of them will have enabled content blockers, though I don't have any metric for that.

It just depends on your target audience. Some demographics have miniscule apple presence, others have them as a majority. So, depending on your target audience, it might not be worth it. Especially because we're taking about a feature that will merely increase the brightness of the ad.

Don't interpret some idiotic agenda into a simple cost/reward speculation.

Fwiw, this comment was written on an iPhone whilst procrastinating from work. Which is coding on a MacBook pro whilst checking the resulting website on an iPad Air today. I'm even using AirPods Pro to listen to music...


I think your numbers are off by an order of magnitude :

https://worldpopulationreview.com/country-rankings/iphone-ma...

Further as an advertiser I’m more interested in impressions weighted by free potential spend. A knock off device in Nigeria doesn’t factor into my calculations vs a top of the line iPhone in Norway. The latter just has more money to spend.


We pixel push ads around and deal with single browser fixes so I’d say yes, advertisers do care and will spend the dev time if they think there’s any% rev increase.


Isn’t this the sort of thing that would give Apple an excuse to detect ads and treat them differently? I’d avoid that if I were a big advertiser.



Lunar developer here, I also use this trick to showcase Lunar's XDR Brightness: https://lunar.fyi/#xdr (which by the way, was the first app to get this feature before Vivid took over with clever Twitter marketing)

Some people will worry about battery and display longevity in the comments so I'll also leave some notes I wrote on this: https://lunar.fyi/faq#xdr-safe

TLDR: yes, battery and LED lifetime will take a hit.

It's a normal consequence of driving the LEDs to a higher voltage which uses more battery power and creates more LED heat.

macOS has an ABL (automatic brightness limiter) internally that will forcefully limit the voltage based on the amount of white pixels on the screen, and based on the generated heat. That ABL works at a lower level and cannot be bypassed by apps like Lunar or Vivid.

Also for the people wondering about BTT, look for the "Toggle super brightness" action.


I love your app. Thanks for making it.


+1 to Vivid. Being able to work outdoors with a perfectly readable laptop has been life-changing.


Doesn't that kill your battery though?


wouldn't it, in the long run, also lead to increased potential for screen damage?


Short answer, probably not damage but it will shorten lifetime, possibly not meaningfully. It’s still running within spec. It will ever so slightly increase the risk of premature failure as running anything closer to its limits tends to do. White LEDs dim and color shift gradually as they age so it will cause it to dim/shift faster. On a good display this is still 10s of thousands of hours of operation which is many years.


Does it work on a laptop or so you mean iPad?


Mini LED Laptops like the 14 inch Macbook Pro. Peak brightness is over 1000 nits but it is locked out by default except for HDR content.


Works on my macbook.


> On macOS you can use apps like BetterDisplay, Vivid or BetterTouchTool to enable that HDR mode for the whole display

I have BTT and can't figure this out. Can you say how? Thanks.


It's called "Toggle super brightness for current display," according to the changelog (3.756): https://updates.folivora.ai/bettertouchtool_release_notes.ht...


I cannot find it either. I'll wait a bit if he replies, else I'll download one of the others but I love BTT because it bundles most of the things I know in a single app. I see the potential of this for working outside, specially now that summer is coming :)


Search the actions for „super brightness“. However I did not spend too much time implementing this and this feature actually only uses public API in BTT. BetterDisplay (I’m not involved in that despite the name) is my favorite app to do this (and much more), but Lunar also seems great. I think they work on a lower level - BTT basically just creates a HDR enabled transparent window which fills the entire display(s), thereby activating the super brightness everywhere on the screen


This can become an accesibility nightmare :_/


What I don't get about Apple is, why aren't things like that available out of the box? Why do I need a third party tool to be able to increase my display brightness?


For the same reason your car has a rev limiter.


Battery life – a core feature and differentiator for Apple devices which is also highlighted in their marketing.

If they unlocked it then the devices wouldn't meet their advertised battery life, and Apple could be subject to heavy penalties from the FTC. Also one of the purported advantages of Apple Silicon would be obscured.

The CPU is also underclocked for absolute power savings, lower heat dissipation, and better compute per watt efficiency.

Headphone and speaker volume are also limited below what is possible in order to prevent hearing damage and speaker damage.


Honestly, that's pure bullshit. For my machine, Apple advertises 12 hours of web browsing. They document (with a footnote) that those 12 hours were measured with the brightness set to medium (8 steps). With the current available display options, you can set your display brightness to a value which makes it impossible to reach the advertised battery life, and the FTC obviously doesn't come after Apple for that. Why the hell would the FTC start coming after Apple if you could get even less battery time by cranking up the brightness even more?

I don't know what you mean by the CPU being "underclocked", these machines don't have Intel CPUs with a base clock you can compare against. But the MacBook Pro machines are certainly capable of draining their batteries very quickly if you try, and they get quite hot in the process. Because having a whole lot of CPU and GPU compute is the very point of the MacBook Pro line. The battery life while spinning all GPU and CPU cores at 100% is certainly not a core differentiator which is highlighted in their marketing.


That's interesting. Every normal white feels pale and boring after seeing that white. I'm not writing this as a joke, everything that is supposed to be white looks like a greyish, washed out white right now.


Most colours are relative to their surroundings anyway; there's a few cool optical illusions that illustrate that like https://www.washingtonpost.com/news/wonk/wp/2015/02/27/12-fa...


Same thing happens watching something projected on a screen (in a room of non-zero brightness). Imagine a zebra or a checkerboard projected on a white screen. When you're looking at the projected image, you really see "black and white" but only when you consciously reconsider and look at the margins of the screen outside the image, you realize the zebra or checkerboard's "black" parts are actually full white (possibly even a touch brighter due to LCD) and the white parts are just ultra bright white. It always amazes me that we're naturally able to perceive any (reasonable) relative gradient of dark to bright as though it's true black-to-white.


But eventually your vision readjusts to the old levels and normal whites feel normal again.


but some part of you will always be chasing that high again, always needing that hit, that rush


Yes! I thought the Safari example above had just dimmed the rest of the screen as a trick, but then I closed the window and it was all still grey and dull. I have been spoiled now I have glimpsed 'true white'.


At first I thought the page was playing a trick by applying a tint to the page.


I tried experimenting with something similar using three.js a while ago [0] when I saw the other post [1]. The trick was hiding the HDR video in the page, allowing other elements to surpass a brightness level of 1. I have a post-processing shader that divides all brightness values by 2, along with CSS that applies filter: brightness(2). Finally a shader material on one of the spheres multiplies its fragment output by a value above one.

[0] https://r3f-hdr.netlify.app

[1] https://kidi.ng/wanna-see-a-whiter-white/


If anyone’s curious how this physically (appears to) work - it seems it boosts the backlight and applies a dark overlay on the rest of the page. If the brightness on my iPad Air 4 is max, the white stays the same. If it’s lower then it’s “super white”.


It's an HDR video and it's the OS that controls how it looks. If your display is HDR (OLED and Mini LED Apple displays) it will brighten just the video pixels. If your display is not HDR, it will do as you describe (across the whole OS, not just the webpage). Apple calls this EDR I believe.


Yeah I think you're right. I thought that my iPad had an HDR display (it's got a wide gamut coverage and can show HDR content) but apparently it's not "Apple HDR".

Though - lots of non-OLED/miniLED displays have HDR... why does Apple have a different standard?


I believe they do it this way because they want to be able to display HDR and SDR content on the same display at the same time.


Because their non-hdr displays don't have enough peak brightness for good looking HDR.


That's.... terrible way to handle it. Make whole screen look worse


Are you on a MBP? It doesn’t actually make anything worse, it raises the screen brightness at the same time as it dims the content, so it stays at the same absolute brightness and the transition is imperceptible.


It does not apply any dark overlay, at least not on HDR screens, it just looks like it does due to the big difference in brightness.

I would assume the iPad Air 4 doesn't have a HDR screen, but maybe I'm wrong. On HDR capable screens you should still see a huge difference even on maximum brightness.


Apple does some trickery to display HDR on non HDR Apple displays. Look up EDR.


On some post-2017 non-HDR Apple displays, the OS actually dynamically adjusts the screen's gamma curve to simulate this effect. On machines that support this, if you hold Option down while opening the Display control panel, there's an additional option that appears to enable/disable this.


On my 2023 M2 MBP (XDR display) there is still a large difference between the white on the page at max brightness and the video whiteness. In fact the video gets even brighter at max brightness.


Could you try manually increasing the brightness to maximum if that's possible? (Though I suspect with local dimming zones and the language on the Apple website the whole display can't be kept at "max" brightness, as a local zone can still be brighter.)


About 15 years ago I had a monitor from Philips that had the ability to software control the backlight at a reasonably fine level (I don't recall if it was actually the same resolution as the display, but it pretended you could choose it per pixel).

The primary use case of the included software was to highlight the focused window and dim the rest. Other than that, it was more of a chore to use.


On my MBP in Safari, this adjustment is done in several steps. When the page loads, the image is there but takes 6-8 increases before stabilizing at the final brightness. It's not a smooth ramp at all.


> Unfortunately, this color cannot be represented with CSS colors (rgb(999,999,999) doesn’t work)

I think this is wrong. Browsers already support HDR with other color space like this one https://oklch.com/


There probably should be a toggle or a separate brightness control (i.e. "maximum brightness" and "default brightness") if something like that is exposed to the web.

Letting content be arbitrarily much brighter than what the user expects seems a terrible design, easily exploitable by advertisers and all sorts of attention thieves.


So this is the trick that Facebook was using to make videos stand out more in the feed? I've noticed they are darkening rest of the page a little, but didn't know this also bumps backlighting brightness.


This will happen with any video recorded in HDR, on iPhone 12 and later for example. You see it all the time on Reddit, YouTube etc.

It probably isn’t anything Facebook is doing.



How many hours can I display super-white brightness before burnin starts to happen?

If this is just designed for bright brief 'glints' of light in videos, I can imagine the screen itself might be being substantially overdriven, and there might well be damage if you did this for hours on end (or even maybe minutes, especially on a hot day).

OLED isn't known for longevity when displaying bright colors...


people have been using Vivid or BetterDisplay for months on macOS to ramp up the brightness (they are awesome for working outdoors) - so far I don't think any damages have been reported. The Apple displays automatically seem to dim when they overheat


MacBooks don’t ship with OLED displays, only micro LED (“XDR”) displays which shouldn’t be susceptible. iPhones however do have OLED displays.


> The 12.9-inch Liquid Retina XDR display has an IPS LCD panel supporting a resolution of 2732x2048 pixels for a total of 5.6 million pixels with 264 pixels per inch. [1]

"Liquid Retina XDR" is just a high end LCD. Micro LED isn't yet on anything they sell. All apple devices phone-size and smaller currently use OLED, and everything larger uses IPS LCD.

[1]: https://support.apple.com/en-gb/HT212527


I thought Apple also used Mini-LED though, with quite a large amount of zones in comparison to most competitors? At least in the 14 and 16” pro MacBooks?

Yes I’m aware that Mini and Micro-LED are different technology


yes, but the main benefit of more zones is that you can make the display thinner (it is hard to design very thin light pipes for zonal displays). You also get some power saving benefits, and less 'halo-ing' when displaying very bright and very dark things next to eachother.


All of Apples laptop range is still LCD right, not OLED?


No some newer ones are mini LED


I'm listening to Spotify on a stock M1 MacBook Pro 16", and when I opened this Github demo the speakers started crackling, until I closed the tab.


I was wondering whether such HDR videos are also on YouTube. Yes, same super white video: https://www.youtube.com/watch?v=n__QY3e55Lc

Some other random HDR video: https://www.youtube.com/watch?v=72_rYwzLhjk


Browser support for "HDR" features is already in CSS. Using a video over idiomatic CSS is a hack. https://developer.chrome.com/articles/high-definition-css-co...


How can it be used? What browsers and what operating systems support it?


doesn't work with firefox on my M1 MBP, but it does in safari.


“Brighter-than-white”…

Gilchrist enters the chat.

http://wexler.free.fr/library/files/gilchrist%20(1999)%20an%...


A simple website blowing my mind is very rare. And now every other white seems so pale & washed out.


I'm on an iPhone 14 Pro Max in Safari without power saving turned on but those 2 QR codes look identical to me. I tried turning off dark mode but they still look the same. What am I doing wrong here?


You need to have HDR enabled on your device


How do you enable HDR on iPhone for viewing?


Enable HDR, disable power saving and don't have screen brightness on max.


Is the "normal white" toned down to reduce eye-strain?


The number of colors defined by software will not represent exactly all the colors a system can display; the software colors are arbitrarily defined and at discrete levels.

I expect that any system can physically output colors in addition to the software definitions, including in-between colors and especially, assuming the engineers left margin for error, colors at the extremes of brightness and hue could be generated.


Am I the only person wondering whether at some point screen brightness becomes a health concern? Looking at this for more than a second almost hurts, and now it's as if I've stared into a flashlight and it takes minutes for my eyes to get back to normal.

(not an eye specialist, but I do have a biomedical background and I don't think it's completely ridiculous to be somewhat concerned...)


I’ve wondered the same on the constant IR flashes from FaceID.

It doesn’t seem like it should be a problem compared to going outside in the sun, but it is a bit unsettling to see how bright and frequent the flashes are (a Nest camera pointed at a dark room shows them clearly).


It’s not necessarily the perceived brightness that I am worried about. Illuminated surroundings outdoors on a sunny day are obviously perceived to be brighter than any screen… But here we have a flickering light source that is microscopically very heterogeneous. LED emission spectra (even for very expensive ones) are extremely non-uniform and “peaky” at narrow bands of wavelengths.

I’m not as worried about it as I am of lasers, but it’s a similar idea, maybe (very loosely speaking).


Persil are going to have a field day with this.


Apparently a tab with that hack consumes a ton of energy, even when hidden. Weird. Google Chrome, MBP M2 16".


I have an LG 4k HDR display (that really isn't very good in the HDR department), and this works on the display too. I have to set the display to HDR mode, which then displays all colors really weird and mute, but the super bright trick does indeed work.


It displays as normal on my M1 MBP and then gradually ramps up over a second or two to the superbright white. Seems better suited to a static white area than a few video frames? At least on this device, I guess others might be more responsive to it?


That's probably your OS gradually adjusting instead of just jumping to the desired brightness as encoded in the video.


Uh, that just made my screens darker, so kindly never do that again. That's worse than a blink tag.

[edit] not sure why the downvotes. I have an XDR screen and it's quite distracting when my entire screen goes dark for some local video to get bright.


Note it will not show superbright colors if you are in low power mode on the iPhone.


Also not with Smart Invert Colors turned on (where it’s still white, but remains at normal brightness).


What privileges a superwhite QR code has versus a regular white?


A brighter display with higher contrast is more likely to work reliably with certain barcode scanners. For example, I sometimes struggle to get my Tesco Clubcard QR code (edit: actually an Aztec code) to scan on their old (red laser) self-checkout machines with my iPhone, but on my Apple Watch it displays brighter and seems to work more reliably.


Works better in plain sunlight and with barcode scanners I assume. Pretty much any apps showing a barcode sets your phone on full brightness.


Every time I'm queuing somewhere that requires scanning QR codes or digital barcodes, I see some people going through the back-and-forth of scans not working and the person fiddling with their brightness settings or fighting auto-brightness. I'd say there's a legitimate use case for this right there.


Any QR reader in 2023 that cannot read a black and white QR code on a regular brightness phone screen should probably be considered faulty...


Haven't flown in a few years but I flew a ton 2017-2020 and airlines could never scan the barcode on an eTicket if I forgot to turn the brightness up all the way. I'm guessing it is more because of glare than contrast though if that makes you feel any better.


Airline barcodes aren't QR codes. They are Aztec codes or PDF417 codes, and software for reading them is generally less robust and less smart because less investment has gone into clever ways to align the codes quickly. The codes themselves also have less good alignment markers, especially for dealing with lens distortion.


Phones typically have glossy screens which can be a real problem if there are light sources in the sourrundings that can be reflected - including the scanner's own lights which, yes, should be turned off when scanning a phone barcode but this is not always the case in practice. Upping the brightness of the phone display itself mitigates this.


Phone screens are awfully flat though - which means glare from a light is typically a small area. QR codes are robust to small areas being missing. In fact, a typical QR code is readable with about 20% of the code missing.


Not really - a large thing being reflected means a large area of glare.

A lot of scanning takes place out of doors - think of someone scanning e-tickets at a music festival or sports event.


I've been doing some work in this space (eticketing) and it's not as easy as you think. OK, 95% of the time it works, but that's not good enough and when you move into the "real world" - cracked screens, smudges, glare, dirty sensors it gets worse. The failure cases waste a huge amount of time.


Exactly. QR code scanning abilities of new smartphones has gotten so incredibly quick at scanning the code. I barely point my iPhone 14 Pro's camera at the code and it already scans and displays the information. Even with the motion blur on the camera as I'm pointing the phone at the code.

I think the focus should be more on the ability to interpret damaged codes via ML capabilities as most QR codes are outdoors.


Scanning an on-screen QR code is usually done with barcode scanners, not with phones. Typically, barcode scanners are doing the decoding on-device, and passing out keyboard data (their drivers usually identify them as USB HID). Unfortunately, most scanners don't have loads of onboard processing power, though ability to deal with damaged linear barcodes has been quite good for a long time. Damaged 2D barcodes are harder to deal with, and while ML may be able to solve that, it would require a paradigm shift in how barcode scanners operate -- and essentially bifurcate the market, as some scanners would simply no longer be compatible with embedded systems, and would require specialised software to function (which isn't really ideal; most users of barcode scanners want them to be plug-and-play).

(My first post-university job was doing tech support for a company which sold point-of-sale equipment. I'd say about 50% of my job was helping people with barcode scanners.)


It makes regular white look dim/dull so adverts programmed to take advantage of the superwhite will attract more attention.


The reason you can only do this with video is to avoid burn in?


This was explained in demo website [1] that was submitted earlier today [2]

> It works by displaying a color whose brightness is way outside the standard range of sRGB color space.

> Unfortunately, this color cannot be represented with CSS colors (rgb(999,999,999) doesn’t work) or any of the widely-supported image formats. However, an HDR video can represent this color.

[1] https://notes.dt.in.th/HDRQRCode [2] https://news.ycombinator.com/item?id=36384625


In theory, you could do this with the rec2020 color space included in CSS Color 4. https://www.w3.org/TR/css-color-4/#predefined-display-p3


Using any monitor in a room with a window on a sunny day you'll want to ramp up brightness way above the sRGB-mandated 80cd/sqm. True sRGB colours only make sense for print designers anyway, anybody else adjusts their white brightness as needed. This is a gimmick and Apple's usual pioneering stunt.


No standardized support in HTML/CSS. Video containers can store the color profile information.


I assume CSS colors are defined for an sRGB color space and the iPhone displays are calibrated, so they show a smaller color range than they could. OLED is able to go well beyond sRGB.


Not only OLED, but most good LCD monitors support the Display P3 color space (derived from DCI P3), with 30 bit per pixel, which is much larger than sRGB.

While Safari has been supporting Display P3 for several years, all major browsers support since the beginning of the year CSS Color Module Level 4, which includes support for Display P3 (for all the other even larger supported color spaces there are no monitors or TV sets of reasonable price that can display them).

Most monitors come from the factory configured to display 24-bit sRGB colors, so the user must change the default settings to be able to display 30-bit Display P3 colors.

However the color space only affects the maximum saturation of the colors, not the maximum brightness of the colors, which is determined by the brightness setting of the monitor.

For a white brighter than the brightest normal white, it is not enough to have a monitor with a wide color gamut, it must also be HDR capable and the software must support HDR too.


I don't quite get the saturation/brightness difference here. Isn't $fff "whiter" than $eee? Where whiter means brighter? Then why couldn't the whitest color be even whiter, and hence brighter, in a larger color space? (I assume the answer is that a larger color space contains colors that are "redder" or "yellower", but not "whiter", for some reason.)


A color is determined by 3 numbers, when those 3 numbers are chosen to be hue, saturation and brightness, that means that this color cannot be distinguished from a mixture of monochromatic light with a standard kind of white light (e.g. D65), both lights having certain radiant powers (per solid angle and/or per area).

In that case, the hue is the frequency or wavelength of the monochromatic light, the saturation is the ratio between the (weighted by the eye sensitivity curve) radiant powers of the monochromatic light and of the total light (so a completely saturated color is monochromatic, without any added white), while the brightness is the total radiant power (weighted by the eye sensitivity curve).

The red, green and blue pixel components of a display do not emit monochromatic light, unless the display is a laser projector. For any non-laser display the light emitted by a pixel component is equivalent with a mixture of a completely saturated color of the same hue with white light. This is especially obvious in the red of a sRGB display, which is much less saturated than a color that could be accepted as pure red. When two red colors have the same hue, the more saturated color is "redder", as it has less white and more red.

"Redder" is ambiguous as it can be also used when comparing colors of the same saturation and brightness but of different hues, e.g. when comparing two reddish oranges, where the redder has more red and less green, or when comparing two reddish purples, where the redder has more red and less blue. Any color display can show any color hue, the difference between the displayed color spaces is only in the maximum displayed saturation, which cannot exceed the saturation of the individual R, G and B pixel components.

When you specify RGB colors, you specify only relative values, i.e. by ratios vs. the RGB components of the brightest white light that the monitor has been configured to emit through its "brightness" setting. For instance, on a certain monitor setting the "brightness" to "75%" might mean that the brightest white has a luminance of 100 cd/m^2, while on another monitor model the same "75%" might correspond to a very different luminance of white, but in any case changing the setting will increase or decrease the brightness of all displayed colors, without changing their hues or saturations.

Both "#f0f0f0" and "#e0e0e0" are white and normally one would say that the former is brighter than the latter.

If on the axis of black to white one labels as "white" the brightest white and as "gray" the white of half brightness, then one may say that the former is "whiter" than the latter.

However this usage is not recommended, because it is ambiguous. It is much more common to say that a color is "whiter" with the intention to say that it is less saturated, i.e. it is a mixture of more white with less of a monochromatic color, than to use "white" as a synonym of "bright".


CSS color() can do Display-P3 and Rec2020


For those confused by the title: it's not "brighter than white", it's the same white but with the HDR pushing more nits.


I don't see how that's a useful clarification. It's very clearly brighter than 100% SDR white.


But it is still white. It didn't change in hue, tint or shade, just in value. So the "brighter than white" statement seems recursive and/or ambiguous.


Is there an opposite to this such as “superblack”?


No, pixels can't be more off than completely off.

That's why OLEDs have "perfect blacks", it's not an exaggeration, it's physically impossible to create better blacks.


Unless we want to be pedantic and take the ambient light reflected off the screen into account. Old CRT monitors, for example, reflected a lot of ambient light and looked grey when turned off in a lit room. And even when operating in a dark room there would be some diffusion from the lit areas of the screen, which is why they did not actually have "perfect blacks" like many believe. If you had a very dark scene you would have less internal diffusion too though so it would indeed look very good. Something similar could be happening in OLEDs, but yeah IMO OLEDs have perfect blacks for all intents and purposes.


> please don’t abuse this

I’m preparing popcorn.


(marquee) popcorn (\marquee)


This hurts my eyeballs.


Same for me. Can't look at it for long


I’ve never understood why HDR is implemented in the strange way it is, outside the normal color spectrum. Really seems like #fff should just be the whitest white the display can physically support.


That would lead to inconsistent brightness across devices -- white on a 2000 nits HDR TV is extremely bright, you likely don't want that as a paper white background. Standardizing on some good enough value of nits (usually between 80 and 200) for "SDR" peak white tends to work better.


That would lead to inconsistent brightness across devices

Phone brightness is going to be adjusted automatically or manually when someone goes from somewhere bright to somewhere dark, not to mention that different phones already have different brightness.

I'm pretty sure there is already "inconsistent brightness across devices" so I don't know what this actually means.


The point of HDR is to have the ability to go outside the "normal range". this way regular SDR movie won't look dim (or weird), but one that was graded for HDR can go outside the bounds when it's wanted (and still play decently on a regular SDR display)


That’s the color model Firefox used for the past two decades, which is why HN’s orange header is always eye-blastingly neon on Firefox macOS compared to other browsers.

Thankfully the CSS Color v3 spec mandates a default of sRGB for #fff codes, so Firefox will have to get with the times someday soon and stop poking my eyes out with HDR-expanded sRGB colors (by default).


Nearly all displays are incapable of accurately representing colors at high brightness (L=100) levels. You can clearly see the sRGB gamut is quite narrow within the CIELAB color space at (L=100). The CIELAB color space represents all colors perceptible by humans in daylight. https://en.wikipedia.org/wiki/File:SRGB_gamut_within_CIELAB_...

It is clear that higher brightness levels worsen color volume (cubes at the bottom of page 4) https://www.researchgate.net/publication/323273667_Color_vol...


RGB isn't an appropriate model for brightness is why.


Why is that? Isn’t brightness just an R G and B value by physical definition?


Our eyes are non-linear across the spectrum. #A0004F is much darker than #00FF00.

Thats why we have the CIE colorspace and HSB/HSL/etc. All of those use a nonlinear geometry that better maps to the way we perceive colors.


Scaling the colors for our eyes seems like something for some sort of psychometrics library and we'd be better served having direct access the just the r g and b brights control of the individual pixels


Why are we better served by wasting bits?


That would be terrible for color reproduction which is what most use cases are about.

HDR is still a niche application outside of games and VFX.


Supposedly every piece of content comes tagged with some color space, so the correct thing to do is to display whatever white #fff maps to in that color space. Allowing the user to override that could be an option.


Why don't they just make #FFFFFF brighter?


this makes my second screen to panic and glitch some windows when this is present


it makes my second screen to panic and glitch some windows when this is present


No one made the Spinal Tap joke? I’m disappointed in all of you. (Again)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: