Archive for May 15, 2019

Wednesday, May 15, 2019

Designing a Dark Theme for OLED iPhones

Vidit Bhargava (via Ryan Jones):

In an OLED display, the black pixel is essentially a pixel that’s turned off. It doesn’t consume any power. This is why OLED are able to show such rich dark colours and why dark themes are power-efficient.

However, When an interface that uses a black theme for its background starts displaying content on the screen, the pixels needs to switch on before they can display the content. So, when you’re scrolling through the content in a black background, the pixels find it hard to keep pace with your scrolling, resulting in a smear on the screen.

He solves this by using dark grey, which still uses significantly less power than white.

Previously: Upgrading From an iPhone SE to an XR.

My Google Activity


Stop what you’re doing and turn on “Auto-delete your Web & App Activity” in your Google account.

Set it to the minimum “Keep for 3 months”.

Once you’ve done that, also turn off as many tracking options as you can here.

In some cases, you can also prevent activity from being saved in the first place. I have everything turned off except for location history, which really improves the experience in the Google Maps app.

Amazon S3 Path Deprecation Plan

Jeff Barr:

Even though the objects are owned by distinct AWS accounts and are in different S3 buckets (and possibly in distinct AWS regions), both of them are in the DNS subdomain Hold that thought while we look at the equivalent virtual-hosted style references (although you might think of these as “new,” they have been around since at least 2010)[…]


Support for the path-style model continues for buckets created on or before September 30, 2020. Buckets created after that date must be referenced using the virtual-hosted model.

Image Resizing Techniques

Mattt Thompson:

There are a number of different approaches to resizing an image, each with different capabilities and performance characteristics. And the examples we’re looking at in this article span frameworks both low- and high-level, from Core Graphics, vImage, and Image I/O to Core Image and UIKit[…]

Jeff Nadeau:

If you want to cache a downsampled rendition of some source image, try a block-based NSImage. It’ll cache for you, and it’ll maintain it in the right backing format for display. Pretty low effort for broadly desirable performance characteristics.