Archive for August 24, 2020

Monday, August 24, 2020

Microsoft Supports Epic’s Injunction

Joe Rossignol (also Hacker News):

In a court filing [PDF] today, Epic Games said that multiple Unreal Engine licensees have contacted the company “expressing grave concern over Apple’s actions and its impact on their iOS and macOS-bound projects,” including Microsoft.

In a declaration in support of Epic Games [PDF], Microsoft gaming executive Kevin Gammill wrote that “Apple’s discontinuation of Epic’s ability to develop and support Unreal Engine for iOS or macOS will harm game creators and gamers.” Specifically, Gammill said that games utilizing Unreal Engine will be put at a “substantial disadvantage,” citing Microsoft’s own racing game Forza Street for iPhone and iPad as an example.

Florian Mueller:

However, what Mr. Gammill’s declaration doesn’t explain is why Epic couldn’t live and comply with the Apple Developer Agreement it had been gladly and (very) profitably honoring for years. In that case, Epic’s Apple Developer Agreement wouldn’t be terminated, and the further development of the Unreal Engine wouldn’t be affected by the ongoing litigation.


Based on today’s declaration it’s clear where Microsoft stands, and it’s not hard to figure out why, but the above declaration really doesn’t strengthen Epic’s case for a TRO. The key issue is still the one of “self-inflicted wounds,” which the United States Court of Appeals for the Ninth Circuit doesn’t accept as a pretext for seeking a TRO.

Michael Love:

An arrangement where Epic can’t thumb their nose at the [App Store Review Guidelines] but also doesn’t get to take a bunch of other developers hostage while the case plays out is probably a best-case outcome for Apple from tomorrow’s hearing, but Microsoft legally backing Epic is a big deal long-term.


Microsoft is mostly not a game company; the good that opening up iOS would do them vastly exceeds a bit of lost commission from Xbox games.

Also, xCloud is currently not allowed on iOS at all - if anything, a favorable ruling for Epic would increase their revenues from that.


Update (2020-08-25): John Gruber:

This doesn’t contradict my prediction that you won’t see Microsoft, Sony, or Nintendo file amicus briefs on Epic’s behalf about the App Store’s control over software and mandatory use Apple’s payment system. If Apple hadn’t threatened to revoke the developer program license for Unreal Engine, Microsoft wouldn’t have piped in here.

See also: Hacker News.

A Primer on Memory Consistency and Cache Coherence

Vijay Nagarajan et al. (via Pierre Habouzit and David Goldblatt):

Many modern computer systems, including homogeneous and heterogeneous architectures, support shared memory in hardware. In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its memory system. Consistency definitions provide rules about loads and stores (or memory reads and writes) and how they act upon memory. As part of supporting a memory consistency model, many machines also provide cache coherence protocols that ensure that multiple cached copies of data are kept up-to-date. The goal of this primer is to provide readers with a basic understanding of consistency and coherence. This understanding includes both the issues that must be solved as well as a variety of solutions. We present both high-level concepts as well as specific, concrete examples from real-world systems.

This second edition reflects a decade of advancements since the first edition and includes, among other more modest changes, two new chapters: one on consistency and coherence for non-CPU accelerators (with a focus on GPUs) and one that points to formal work and tools on consistency and coherence.

Pooled SARS-CoV-2 Testing

Noam Shental et al. (via Ben Adida):

Recent reports suggest that 10-30% of SARS-CoV-2 infected patients are asymptomatic and that significant viral shedding may occur prior to symptom onset. Therefore, there is an urgent need to increase diagnostic testing capabilities to prevent disease spread. We developed P-BEST - a method for Pooling-Based Efficient SARS-CoV-2 Testing which identifies all positive subjects within a large set of samples using a single round of testing. Each sample is assigned into multiple pools using a combinatorial pooling strategy based on compressed sensing designed for maximizing carrier detection. In our current study we pooled sets of 384 samples into 48 pools providing both an 8-fold increase in testing efficiency, as well as an 8-fold reduction in test costs.

It’s kind of like error correction codes and has similar limitations based on the frequency of errors/infections:

Our current implementation of P-BEST was designed for a carrier rate of ~1%. To allow higher testing efficiency, i.e., to minimize the number of pools required to screen a given population, designs should vary according to the carrier rate. Pooling designs can differ by the number of pools, and by the number of samples per pool. Specifically, as the carrier rate in the population rises more pools are required to correctly identify all positive carriers in a single testing round. Moreover, the required number of samples per pool decreases with increasing the carrier rate. Conversely, when carrier rates are low, more efficient pooling designs can be used, i.e., less pools are required to test the same number of individuals, while the number of samples per pool should be increased.

Lightroom for iOS Data Loss Bug

Juli Clover:

Adobe’s recent 5.4 update for the Lightroom for iOS app had a major bug in it that deleted user photos and presets, eradicating all content that had not been synced to the Adobe cloud service.

As noted by PetaPixel, complaints surfaced on the Photoshop forums on Monday, shortly after the update was released, followed by similar reports on Reddit and Twitter.


Adobe has recommended that affected users try to restore an iCloud backup that might have the lost content, but there’s no solution on Adobe’s end to address the loss and no fix if there’s no iCloud backup.

And restoring an iCloud backup is problematic because you can’t just restore one app. Restoring your Lightroom data would also revert newer data from other apps. Maybe you could restore to a different iOS device and let Lightroom sync the restored photos to the cloud, hoping that none of you other apps upload old data to the cloud.


Subscription or No Subscription?


On the developer side, moving to subscriptions can be a gate to hell. They usually make less at first. Incidentally the first year you pay the higher fee. Over time they can make more—if you manage to keep your users. That is not a given. The switch from paid to subscription can cost you a fortune. Not technically. The technology is there. It will cost you: users. And angry users don’t just leave, they rate you angrily and write angry comments. They feel harmed and they try to harm you as much as possible. Anonymous ratings, upvoting, and reviews make revenge fast, easy, and cheap.


You might have noticed that there are no subscriptions for Apple’s own productivity apps. They are either free, like Pages, Numbers, Keynote, or very expensive and paid, like Logic, FinalCut, Motion.


Apple is more likely to help, feature, and support a popular app if it has a subscription. Apple will still show interest in your future if you sell a lot of apps. If there is no subscription planned, Apple’s interest vanishes in circles. They come back, showing interest in a featuring here and there, asking questions about your future, and if your response is “no subscriptions” or “no subscriptions only” their interest evaporates. Until they don’t ask anymore.


We tried high prices, mid-range prices, low prices, free, and freemium. Getting Android users to pay for software is not for the feeble-hearted. So far, offering a free basic version with a choice between paid and subscription seems to be the only thing that works. And that doesn’t mean we buy yachts, it means that we might be sustainable in one or two years.

They’re charging $5/year or $30 to buy the app.

Update (2020-09-11): See also: Hacker News.