Juli Clover:
Apple has begun rejecting app updates that do not comply with the App Tracking Transparency rules that the company is enforcing starting with iOS 14.5, according to a new report from Forbes.
Apps must ask for permission to access the advertising identifier or IDFA of a user’s iPhone in order to track them across apps for ad targeting purposes, a rule that apps will need to comply with when iOS 14.5 launches. The rule also prevents apps from using other workaround methods for tracking users, which is getting some developers into trouble already.
Ben Lovejoy:
Snapchat owner Snap has tested a workaround to App Tracking Transparency using a technique that has a success rate of around 95% in identifying individual users.
Snap says that it will discontinue the tests once the new privacy rule comes into effect, but that it believes there are other steps it can take without breaking Apple’s rules…
[…]
Snap admitted to the FT that it has been running the tests, but said it would cease doing so when the App Tracking Transparency rules take effect in the next few weeks.
Previously:
Update (2021-04-16): John Gruber:
The whack-a-mole aspect of Apple’s new privacy rules is that while Apple can restrict access to the API that provides access to the IDFA identifier, clever developers can find (perhaps infinite) other ways to combine things they do have access to into a unique, or even just “close enough to unique to be useful for tracking”, identifier. IP addresses, to name just one example, are a big factor that Apple can’t block would-be-trackers from using. That’s what CAID is, but CAID isn’t some rogue effort on the part of surveillance advertisers alone — it has the backing of the Chinese government.
Doing this is clearly against Apple’s rules. The questions are: Can Apple detect these techniques? And what is Apple going to do if they do identify apps in China using CAID in flagrant violation of the App Store rules, if those apps have the backing (implicit or explicit) of the Chinese government?
App Store Review Guidelines App Tracking Transparency iOS iOS 14 iOS App Privacy Snapchat
Sami Fathi:
Apple today announced that its mobile gaming subscription service, Apple Arcade, is gaining 30 classic games including “Fruit Ninja,” “Monument Valley,” “Solitaire,” and “Cut the Rope” as the service passes a total of 180 titles.
Previously:
Apple Arcade Game iOS iOS 14 Mac Mac App macOS 11.0 Big Sur
Jason Snell:
The problem is that today, everything about user automation on Apple’s platforms is fractured. On the Mac, the technologies feel old-fashioned, adrift, and increasingly unsupported. On iOS, Shortcuts has some weaknesses and an every-app-for-itself mindset prevails. And between the two platforms there’s no connectivity at all.
[…]
As much as I like the impetus behind Automator—automation for the masses!—it died on the vine. Apps didn’t support it well, and Apple failed to provide a robust enough library of actions to make it work well on its own. If I ever thought Automator was okay, one glance at Shortcuts (or its predecessor, Workflow) would disabuse me of the notion. Still, I end up using Automator regularly because it allows me to integrate AppleScript and unix/shell scripting directly into the Finder.
[…]
It’s clear to me now: Apple needs to make Shortcuts available everywhere.
[…]
That’s a lot to ask, but since I’m on a roll, I’ll once again suggest that Apple needs to more explicitly support scripting languages on both platforms.
Previously:
AppleScript Automator Mac macOS 11.0 Big Sur Shortcuts
Jesse Squires (tweet):
UserDefaults is one of the most misused APIs on Apple platforms. Specifically, most developers do not handle default values correctly. In fact, I have never worked on a single production codebase at a company where this was done accurately. Most libraries get it wrong, too.
[…]
There are a few libraries that currently provide a property wrapper for UserDefaults
. However, the ones that I know about each have a combination of the following issues: (1) default values are not registered, (2) optionals are not handled nicely, (3) the library is extremely complicated for such a simple task.
I like his approach. Mine differs in that:
- Instead of casting the result of
UserDefaults.object(forKey:)
, it uses the type-specific methods like bool(forKey:)
and integer(forKey:)
, so that if the value is of an unexpected type (which can easily happen when using defaults write
) it won’t crash or return false
when the string was YES
.
The initializer uses the magic wrappedValue
parameter, so that the default value can be provided in the property declaration itself. This also allows the property’s type to be inferred.
The property wrapper caches values read from UserDefaults
. I’ve found that, even with the overhead of making the cache threadsafe, this can really speed things up.
In order to make sure the cache remains valid, it observes when each default is modified. Clients can do this, too, e.g. to see when another part of the app has updated a preference.
Previously:
Cocoa iOS iOS 14 Mac macOS 11.0 Big Sur Open Source Swift Programming Language
YouTube (via Hacker News):
In response to creator feedback around well-being and targeted dislike campaigns, we’re testing a few new designs that don’t show the public dislike count.
This seems like a bad idea, as dislikes were a good, quick indicator that a video might be misleading or at least controversial.
Previously:
Web YouTube
ACM (via Hacker News, Cade Metz):
ACM named Alfred Vaino Aho and Jeffrey David Ullman recipients of the 2020 ACM A.M. Turing Award for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results and those of others in their highly influential books, which educated generations of computer scientists.
[…]
“Aho and Ullman established bedrock ideas about algorithms, formal languages, compilers and databases, which were instrumental in the development of today’s programming and software landscape,” added Jeff Dean, Google Senior Fellow and SVP, Google AI. “They have also illustrated how these various disciplines are closely interconnected. Aho and Ullman introduced key technical concepts, including specific algorithms, that have been essential. In terms of computer science education, their textbooks have been the gold standard for training students, researchers, and practitioners.”
I have fond memories of Compilers: Principles, Techniques, and Tools, which everyone called the Dragon Book.
Previously:
Algorithm Compiler CS Theory Programming
Sebastiaan de With:
The only time that I found the smart image processing on the iPhone noticeably bothersome is when skies get overly tinted blue. It’s clear that the iPhone can now easily detect and segment the sky in a shot, and it applies nice smooth noise reduction to it to get wonderful gradients. But even cloudy skies tend to get a blue cast that isn’t as neutral as you’d like.
[…]
Initially, I hadn’t tested Portrait + Night mode very much. In the few tests I did, though — comparing it to a regular camera and the iPhone 12 mini, which is unequipped with a LIDAR sensor, it works outrageously well[…]
[…]
Flaring on the ultra wide and wide cameras is not just noticeable, but outright bothersome when shooting into light. In the above image, you can see the telltale iPhone ‘green orb’ flare that is a result from internal reflections in the lens. This can be fairly unobstrusive as in that shot, but when shooting many bright point sources of light head-on, can outright ruin a shot.
[…]
Noise reduction is something I never really enjoyed on iPhones, and I find it really bothersome that ProRAW does not give granular control over how much is applied to a final image. When shooting in dark conditions with the iPhone’s less light-sensitive cameras, you can get muddled images that would’ve looked nicer with some grain. It’s almost like a watercolor painting[…]
Previously:
Camera iOS iOS 14 iPhone 12 iPhone 12 mini iPhone 12 Pro LiDAR Scanner Photography Raw Image Format