Archive for January 23, 2019

Wednesday, January 23, 2019

Mojave Finder’s Preview Column Shouldn’t Prioritize Thumbnail Size

Howard Oakley:

Mojave puts a lot of information at your fingertips in Finder windows. However, the priority given to different components isn’t currently right. In particular, too much vertical space is reserved for QuickLook thumbnails (icons).

Even in a very deep Finder window in Column mode, a shallow QuickLook thumbnail is given so much space that you have to scroll in order to be able to see that file’s metadata and the Quick Actions bar below it. This is in a Finder window on a 5K display at ‘looks like 2880 x 1620’ mode: it gets much worse on a laptop.

This is in response to some tweets of mine. I like to use two relatively short (but wide) Finder windows stacked on top of each other. With this arrangement, I can’t see any of the metadata list (dates, the app version, image dimensions) without scrolling unless I hide the Quick Actions. There’s no way to hide the preview, make it smaller, or replace it with just an icon.

Update (2019-01-28): Another issue is that it’s hard to scroll to see the metadata because the swipe scrolling gesture is inoperative when the cursor is over the thumbnail. So you have to find the little strip of the window below the thumbnail but above the Quick Actions and scroll that.

App Store Refunds and Reviews

Luc Vandal:

I purchased a 99¢ app and asked Apple for a refund a few hours later via

Prior to the refund, I wrote a (5-star) review on the App Store.

The refund was approved the same day and this morning the app is still on my device and still functional but I can no longer review the app and my review is still visible.

I was and some fellow devs were under the impression that reviews were removed when a user was refunded but apparently not?


I forgot to mention that the app no longer appears in the Purchases section of the App Store app.


App Store does show an update for the refunded app but tapping Update does nothing.

One annoying side-effect is that having that refunded app in the updates will mess up the update process for other apps when tapping Update All.

David Barnard:

TIL “You can’t request refunds for recurring charges…” So all those apps that tricked people into high priced subscriptions get to keep all the revenue AND the subscriptions keep renewing because the UI to cancel subscriptions is buried.

It’s hard to conclude anything other than Apple is willfully being customer hostile to save on customer support and reduce returns. They still haven’t even fixed the App Store purchase flow to prevent accidental purchases via Touch ID. That should’ve been a rush fix.


Update (2019-03-04): Dave Wood:

Remember when anyone could review an app, regardless of whether they bought it or not. Then it was changed so they had to buy the app before reviewing. Then every app went free with IAP, and now everyone reviews apps they haven’t bought again. Apple should fix that again.

France Fines Google for GDPR Violation

Jon Porter:

France’s data protection regulator, CNIL, has issued Google a €50 million fine (around $56.8 million USD) for failing to comply with its GDPR obligations. This is the biggest GDPR fine yet to be issued by a European regulator and the first time one of the tech giants has been found to fall foul of the tough new regulations that came into force in May last year.

John Gruber:

Is this sort of penalty effective, or does Google just shrug it off? Last quarter Google reported $33 billion in revenue and over $8 billion in profit. €50 million is not nothing, but is it enough to give Google pause?

David Heinemeier Hansson:

Should Google not remedy its behavior, GDPR ultimately allows for fines up to 4% of global turnover.


What’s striking about this judgement is just how plainly the violations are detailed, and how clear it is that Google is not going to weasel out of compliance by evading informed consent by its normal tactics of obfuscation. This is a potential game changer for online privacy.

If GDPR is actually going to be enforce like this going forward, and it’s not just a one-off French expedition, the entire business model of Google and Facebook as it pertains to using personal information for ad targeting is in doubt.

Colin Lecher (Hacker News):

A series of complaints brought under Europe’s General Data Protection Regulation (GDPR), filed by an Austrian privacy activist, accuse eight major streaming companies of failing to comply with European Union law.


Under GDPR, consumers are allowed to request data that companies hold on them. As a test, noyb says it asked eight major streaming media providers, including YouTube, Netflix, Spotify, Apple, and Amazon, to provide consumer data.

But the companies, noyb argues in its complaints, failed the test. SoundCloud and UK sports streaming service DAZN failed to provide the data, while six other companies did not provide adequate data under the law, noyb says. In most cases, the complaints argue, the companies failed to provide relevant background information meant to help consumers understand how their data is used, even though that information is required.

Python Gets a New Governance Model

Jake Edge (via Hacker News):

There were six Python Enhancement Proposals (PEPs) under consideration that would be ranked by voters in a two-week period ending December 1; instant-runoff voting would be used to determine the winner. In the interim, though, much of that changed; the voting period, winner-determination mechanism, and number of PEPs under consideration are all different. But the voting concluded on December 16 and a winner has been declared; PEP 8016 (“The Steering Council Model”), which was added to the mix in early November, came out on top.


As with most of the other proposals, PEP 8016 creates a council. Various sizes were proposed in the other PEPs, but the steering council of PEP 8016 consists of five people elected by the core team. The definition of the core team is somewhat different than today’s core developers or committers. The PEP explicitly states that roles other than “developer” could qualify for the core team. Becoming a member of the team simply requires a two-thirds majority vote of the existing members—and no veto by the steering council.

Previously: Guido van Rossum Steps Down as Python BDFL.