This action requires saving a cookie to remember the page's state. You can read more about that on the cookies page.

 

The update for the Resolution app

Released on: 2024-07-09

I’ve just released an update to the Resolution android app, and there are a couple of things worthy of discussion.

Table of contents

Simplified report

One of the things that came to light when I would watch people using the app is that the report was a wall of text that wasn’t totally obvious to interpret. Even having written the app, I had to think about what it meant before answering questions.

To fix this, I’ve:

  • trimmed out stuff that doesn’t offer much insight, and instead focussed on the hard facts.
  • added a bit of spacing to give sections some breathing room.
  • added a few words here and there to make it obvious what it’s telling you.
  • added better handling of edge cases. Eg if you don’t complete any attempts of a given test after the demo with the cyan arrow, it will say “Did not complete” instead of giving you a weird number.

How the pixel width used to look in the report.
Above: How the pixel width used to look in the report.

How the pixel width looks now in the report.
Above: How the pixel width looks now in the report.

New test in the test pattern

The twisted lines test is a horizontal and vertical line pair that change angle. The idea is simple:

  • If you can see the stepping, your display is definitely not high enough resolution for your level of vision.
  • If you can’t see the stepping, either your display, or your vision, is the limiting factor.
    • An optometrist is likely to be able to help you navigate this if you’re curious.
    • Note that this test should not be interpreted as “Your eyes are bad.” It is not a test of what you should see, it’s only a test of what you can see on that device.

The ideal position for the twisting lines test.
Above: The ideal position for the twisting lines test.

The best angle to perform this test is when this number on the button is “1”:

The ideal setting for the twisting lines test.
Above: The ideal setting for the twisting lines test.

Horizontal and vertical lines

While incrementing through the test pattern, you’ll see a stripey bar that is sometimes horizontal, and sometimes vertical. The stripes are spaced by 1 pixel in the beginning, and cycle to larger numbers.

If your display is displaying the full clarity of its advertised resolution, the lines and gaps will be clear. - If it’s too small for your eyes to confidently distinguish, you’ll need something like a magnifying glass to help you.

You’ll notice some cyan, magenta, and yellow lines sticking out for this bar:

Test pattern showing 1 pixel width spacing, and the coloured markers.
Above: Test pattern showing 1 pixel width spacing, and the coloured markers.

  • Cyan: Every 10 pixels.
  • Magenta: Every 100 pixels.
  • Yellow: Every 1000 pixels.

This is the number to look at to get a pixel width of 1 on either the horizontal, or vertical version of the test:

This number should be 0 to see 1 pixel width.
Above: This number should be 0 to see 1 pixel width.

Why

While doing a close-up inspection of one of my phones, I noticed that the physical resolution of the display was not the same as the logical resolution.

On many phones, you can actually change the logical resolution to adjust the display to your preferences between performance/battery and clarity. So I gave this a go, and wanted a way to objectively measure success.

What was really interesting is that the device persistently accepted the resolutions that I gave it, and it appeared to work. But there were some interesting artifacts. Once I checked the pattern, it was clear that, specifically for this device, there was something limiting it to 1080p somewhere between the software and the display, and any logical pixel that landed between two output pixels got lost rather than averaged.

Bug fix: Antialiasing

I didn’t spend a lot of time to understand where this bug was coming from. Only that, on some phones, anti-aliasing would effectively blur the “horizontal and vertical lines” test.

The horizontal and vertical lines test.
Above: The horizontal and vertical lines test.

I was really worried that this bug would invalidate some conclusions and cause a lot of follow-up work. Luckily it didn’t (because it didn’t affect the phones that those conclusions came from). But it was still important to fix so that the test patterns could be trusted across devices.

Giving it a go

If you want to give it a go, you can get it here on Google Play. Running through even the quick test on your device would be incredibly useful. I’m trying to gather enough statistics about what people can see on different devices to see how common it is for people to see the difference in clarity between 4k on a phone, and lower resolutions. I’ve met a lot of people in person who can see it, but that’s only anecdotal. Having some real numbers would be much better. And right now I simply don’t have enough to be statistically significant.

And you may like to read the original detailed blog post about it.

This post references

Over the last few years, there has been a lot of talk about whether you can make use of the full resolution on a phone with a 4K display. Let's dig in and actually understand this.
How much of your phone's screen resolution can you actually see? This app helps you quantify it.
1970-01-01
I've done a few software projects over the years. Here's a collection of some of them.

Posts using the same tags

An Android game like 2048, but 3D, and requiring a different strategy.
It was time for a much needed update to the resolution app. Here's what I've improved.
The miss-understanding was so wide-spread that it lead me down quite a rabbit-hole fact checking everything I thought I knew and alternative understandings.
I covered a lot of detail in the resolution project. I was bound to get something wrong. This is where I'll post anything that comes up over time.
2024-01-30
Getting the information and access you need to your infrastructure quickly, so that you can get back to sleep.
It's time to blow the dust off machine learning, and apply it to a dataset that I know.
I've just released the biggest, most exciting, update since the first public release of handWavey. The learning curve is dramatically reduced!
The story of where Achel came from, and where it's going.
My CV had gained so much weight that it was hard to do anything with it any more, and it was hard to read. So I did something about it...
Control your computer using a Leap Motion controller, but with an every-day-quality implementation.
Most of the discussions around screen resolution have been something like "I don't want it; therefore you don't want it." Let's dive into that.
When I created my first test pattern for testing the phones, I couldn't see what I expected to see. So I dived into why. What followed was a fascinating journey.
When someone tells you that the maximum that you can perceive is governed by the size and spacing of your cone cells; they are wrong. Let's dive into why.
How much of your phone's screen resolution can you actually see? This app helps you quantify it.
When I set the the font size to my preferences, it looks fuzzy on a 1080p display, but not on a 4k display. Why?
Over the last few years, there has been a lot of talk about whether you can make use of the full resolution on a phone with a 4K display. Let's dig in and actually understand this.
Privacy policy for the Resolution Android app.
An easy way to get a dark theme for kmail content, that reliably works on pretty much everything.
calibrate multiple touch and non touch screens on a single linux system." This is to address the issue on multi-display Linux desktops where the touch panel is automatically calibrated to operate over all of the displays, and even if you get the calibration right, it's then wrong again when you ...
DoneIt is a time tracker for working out where your time is going. For me there were a few things I wanted to achieve with it - Be able to say what I've been doing all day. - See how much time is lost to time ...
Well over a year ago I introduced mass which is a tool for managing large numbers of servers. It's come along way in that time, and it's well and truly time for another look. From the users' point of view, the most interesting things are probably that you can now ...
Achel is a programming language that I have been working on for the past 13 years (I said 12 in the video, it has been a long time!) There has been growing interest in the programs I have been writing using it, so I have now released it as open ...
1970-01-01
I've done a few software projects over the years. Here's a collection of some of them.
Home | About | Contact | Cookies | Site map