Thursday, May 13, 2021 [Tweets] [Favorites]

Adobe Discontinuing PostScript Type 1 Font Support

Glenn Fleishman:

Developed by Adobe way back in the early 1980s, PostScript Type 1 fonts—a way of encoding vector-based type designs into a particular file format—will lose full support in Adobe Photoshop this year, and gradually disappear from other Adobe products by 2023 as well as from other companies’ products. If you have a long history in design or using a Mac, you might find yourself unable to use some old type standbys you didn’t realize relied on outdated technology.

[…]

And, remarkably, existing PDF and EPS files that contain the older font format won’t curdle in storage. Adobe says embedded fonts will continue to display and print correctly in those file types. The only issue that will arise over time is if you wanted to open them to edit the contents after Adobe or other companies have removed Type 1 font interaction.

[…]

Adobe offered two methods of creating fonts in the mid-1980s, which were obscurely labeled after their internal specifications: Type 1 and Type 3. Adobe initially reserved Type 1 for itself, and published the Type 3 specification for general use. While Type 3 could do almost anything Type 1 could and a lot more it couldn’t, it lacked a feature calling “hinting” that allowed PostScript to render the vector curves and lines of a font effectively at lower resolutions.

[…]

You can find your Type 1 fonts in two ways in macOS: via the Finder and the Font Book app.

Google Docs Switching From DOM to Canvas

Google (via Hacker News):

We’re updating the way Google Docs renders documents. Over the course of the next several months, we’ll be migrating the underlying technical implementation of Docs from the current HTML-based rendering approach to a canvas-based approach to improve performance and improve consistency in how content appears across different platforms.

Steve Newman:

Speaking as one of the original three authors of Google Docs (Writely), but zero involvement in this project (I left Google in 2010): I’m seeing a lot of comments asking how JavaScript-on-Canvas could possibly outperform the highly optimized native code built into the browser engines. It’s been a long time since I’ve really been involved in browser coding, but having written both Writely and, farther back, several native-app word processing engines, here are some thoughts.

Word processors have extremely specific requirements for layout, rendering, and incremental updates. I’ll name just two examples. First, to highlight a text selection in mixed left-to-right / right-to-left text, it’s necessary to obtain extremely specific information regarding text layout; information that the DOM may not be set up to provide. Second, to smoothly update as the user is typing text, it’s often desirable to “cheat” the reflow process and focus on updating just the line of text containing the insertion point. (Obviously browser engines support text selections, but they probably don’t expose the underlying primitives the way a word processor would need. Similarly, they support incremental layout + rendering, but probably not specifically optimized in the precise way a word processor would need.)

Modern browser engines are amazing feats of engineering, but the feature set they provide, while enormous, is unlikely to exactly match the exacting requirements of a WYSIWYG word processor. As soon as your requirements differ even slightly from the feature set provided, you start tipping over into complex workarounds which impact performance and are hell on developer productivity and application stability / compatibility.

iCloud Documents and Data Discontinued

Apple:

In May 2022, iCloud Documents and Data, our legacy document syncing service, will be discontinued and completely replaced by iCloud Drive. If you use iCloud Documents and Data, your account will be migrated to iCloud Drive after this date.

Via Sami Fathi:

iCloud Drive launched in 2014 as a unified, seamless way for Apple users to keep all their files, documents, and more synchronized across all their devices.

iCloud Drive was introduced with iOS 8 and OS X 10.10 Yosemite, which seems like a long time ago. However, if you have hardware that can’t update to those versions, this announcement means that syncing will stop working entirely. On Macs, at least, you can use iCloud Drive via the Web.

Previously:

An Appreciation of Objective-C

Ken Kocienda (tweet):

Over the next fifteen years, I wrote code in ObjC just about every day. The language offered me a small collection of rules on the surface and a deep well of flexibility underneath. This combination facilitated and encouraged quick and playful experimentation. The language allowed me to wink and say, “I know what I’m doing.” ObjC winked back and became a willing participant in helping me make computers do cool stuff.

[…]

It remains one of the best languages ever for creating apps and frameworks. I’ve loved every minute I’ve spent coding in it.

I learned Objective-C around the same time and identify with what he’s saying. But I really like Swift, too, and prefer it in most cases. I think that my Swift code is more reliable and easier to read. These days it’s mostly not the Swift language that gets in my way, but the slow and unreliable tooling.

What It Was Like to Sell Apps Online in 2003

Brent Simmons (tweet):

Apple likes to claim that the App Store replaced the system of selling software in physical boxes in stores and over the mail.

But it’s not true.

My experience selling apps before the App Store was not unique or new — it’s only interesting now because people may have forgotten this history, and younger people may never have heard it.

[…]

We used a service called Kagi for the storefront and credit card processing. Kagi had been around since the ’90s, and it was well-known and trusted by the Mac community.

[…]

And it was pretty easy. Easier than dealing with the App Store!

I can’t find the link, but one of Apple’s lawyers recently argued that the reason Apple chose 30% for the App Store fee was that it wanted to do better than the prevailing alternatives at the time. And they again tried to make it sound like they invented selling software online. I’ve used at least five different e-commerce providers since 2002, and none of them charged more than 15% (most much less). All were easier to deal with than the App Store.

Peter N Lewis:

Totally the same for me - except I was Kagi’s first customer and started with them in 1995, and continue doing the same to this day (other than switching to FastSpring in 2010). It wasn’t new over a decade before the App Store was released).

Tom Harrington:

I had a very similar experience. I started selling my own apps in 2002, completely online, through a web site and in-app purchase. No boxes, no stores, no mail. Downloads, emailed serial numbers, and a third-party payment service. No Apple online store.

Marcel Weiher:

Exactly the same here, with KAGI, the license strings etc. Except that PdfCompress,BookLightning, TextLightning and PostView remained in the four figures/month. Still comfortable.

If Apple claims they somehow invented online software sales, they are lying. Egregiously.

Michael Love:

I had the same experience in the mid-90s with downloadable Mac shareware, wrote a game in middle school and sold (a dozen copies or so IIRC) via Kagi; even back then, a teenager could sell software entirely online with no retail markup or gatekeeper.

On mobile, my Palm app initially launched in 2001 through proto-app-store PalmGearHQ with a 20% commission, but in 2002 when it started to make serious money I went direct with my own merchant account + abandoned PalmGear entirely by 2005.

But neither for software in general nor for mobile specifically did Apple bring anything new to the table with the App Store; they simply imposed taxes and regulation on an existing market that was getting along perfectly fine without them.

Christopher Lloyd:

The first App Store I’m aware of appeared on NeXTStep in the early 90s

John Allsopp:

We first sold software for the Mac solely online also via Kagi in 1995

At a conference around that time an Apple exec said when I told him ‘no one will ever buy software on the internet’ :-)

Craig Hockenberry:

Kagi was responsible for the beginning of the Iconfactory’s software business. It’s been going strong for almost 25 years now.

David Sinclair:

When I started @dejal in 1991, people mailed me cash and checks — to New Zealand! — and I had to take them to the foreign exchange at my bank. Later I processed credit cards via paper forms. When I started with Kagi, it was like magic; so much easier.

Brent Simmons:

Apple itself sold software online back before the App Store — because of course they did. Everybody did.

Previously:

Wednesday, May 12, 2021 [Tweets] [Favorites]

Fixing Swift’s “if let” Syntax

Craig Hockenberry (tweet):

The if-let syntax discourages long variable names because there’s no autocomplete for optional variables that are in scope. It’s not uncommon to see things like this because programmers are notoriously lazy:

if let favc = fooAutomationViewController { … }

Any code within that block that references favc won’t be very readable.

This maintenance issue is exacerbated by name refactoring. Say you want to change fooAutomationViewController to a barAutomatedViewController. The refactored code will then become:

if let favc = barAutomatedViewController { … }

The if let fooAutomationViewController = fooAutomationViewController repetition is one of the more annoying things about writing and reading Swift. Allowing this to be written as just if let fooAutomationViewController seems like the obvious solution. For those arguing that this is confusing or hard to learn, I don’t see how it’s any less clear than what it would be replacing. That said, I wouldn’t be opposed to something like unwrap.

Sketch Subscriptions

Sketch:

Over the past few years, we’ve evolved Sketch to be more than the Mac app. It’s now a fully integrated platform for design and collaboration, combining the best native Mac editor with tools that work in any web browser. Today we want to share a few highlights, what’s available in Sketch right now, and what you can expect from us in the months ahead.

Sketch (Hacker News):

The complete Sketch experience — including real-time collaboration in the Mac app, feedback and handoff in the web app, and a shared Workspace to bring all your people and documents together — is now a subscription. Learn more about subscriptions.

As a result of the changes, licenses are becoming Mac-only licenses. With a Mac-only license you’ll get access to the Mac app only, so you can work on local documents. Licenses do not include the option to save or open files from the web app, or any collaboration features (including real-time collaboration).

Officially, nothing is changing for those of us just using Sketch as a traditional Mac app. But, as with TextExpander and 1Password, it’s not a good feeling when the developer declares a use case that you’re not interested in to be the future of the app. Note that I’m not saying that these were bad business decisions.

Previously:

Diet Coda Discontinued

Michael Buckley (Hacker News):

Unfortunately, like Transmit iOS and Status Board before it, we’re discontinuing Code Editor as it doesn’t generate enough revenue to cover its continued development.

[…]

The churn of new web tools and tech is rapid and constant. This is why having a flexible extension system is essential for a modern web-focused IDE. But that’s where the trouble lies.

The biggest technical hurdle is the inability to run external processes on iOS and iPadOS. There’s just no way around it: this is required for modern web development.

[…]

Even if it were viable, we’d likely run afoul of App Store policy as well. Apps on iOS and iPadOS must use Apple’s Javascript interpreter, JavaScriptCore. Although JavaScriptCore is excellent, many developer tools rely on features or behaviors only present in Google’s V8 JavaScript interpreter. Similarly, WebKit is the only allowed web rendering engine on iOS.

And still, even if we could find some clever technical way around all of these limitations, we wouldn’t know if our approaches would be allowed on the App Store until we’d fully built and submitted them for review. So, we’d be facing a huge investment of time with the possibility that it would all ultimately get rejected.

Nick Heer:

Panic has tried to crack this nut multiple times without success, but it is hard to see how any developer can make iOS work for apps like these. We all know that Panic makes great software, it has enthusiastic users, and it has long been a high-profile independent developer. Even if iOS is out of the question, evidence is mounting that Apple is kneecapping iPadOS by continuing to treat it with the same kinds of developer and app distribution rules as a smartphone.

Mike Rockwell:

I probably sound like a broken record at this point, but this is yet another example of why Apple needs to open up the platform. Not just so developers can explore other options for monetization, but to loosen up the arbitrary restrictions on what is even possible on the platform. How many apps like Code Editor do we have to lose before Apple wakes up?

Previously:

Epic v. Apple, Day 7

Adi Robertson (tweet):

And while Epic itself has focused on explaining why web apps aren’t a good substitute for native ones, its expert witness David Evans brought up another major issue: anti-steering rules.

Anti-steering rules (in this context) refer to rules that ban developers from pointing users outside of Apple’s ecosystem. iOS developers can’t add links or references telling people to get a better deal on their website, or send emails to accounts created through Apple.

[…]

Evans basically responded that in this analogy, cab drivers can’t even do the equivalent of giving passengers their phone numbers. […] The problem, he said, was the combination of requiring Epic to use Apple payment processing, plus a “whole set of barriers” that make it harder to tell users they have an alternative.

[…]

Evans admitted that nixing the anti-steering provisions “wouldn’t eliminate the market power that Apple has here, but it would certainly diminish it.”

[…]

Later in the day, economist Susan Athey raised a different issue with App Store exclusivity. The App Store lets users sign up for subscriptions, but if they switch to an Android phone, they have to either cancel their subscription or keep managing it through Apple. Athey was using this to explain why a third-party app store would be useful, should Apple ever allow one to exist — if you could access the same purchase from both big phone platforms, the same way you can get your old iOS apps on a new iPhone, switching devices could become much easier.

Apple:

Threats have been present since the first day the App Store launched on iPhone, and they’ve increased in both scale and sophistication in the years since. Apple has likewise scaled its efforts to meet those threats, taking relentless steps forward to combat these risks to users and developers alike.

[…]

In 2020 alone, Apple’s combination of sophisticated technology and human expertise protected customers from more than $1.5 billion in potentially fraudulent transactions, preventing the attempted theft of their money, information, and time — and kept nearly a million risky and vulnerable new apps out of their hands.

[…]

If a developer violation is egregious or repeated, the offender is expelled from the Apple Developer Program and their account terminated. Apple terminated 470,000 developer accounts in 2020 and rejected an additional 205,000 developer enrollments over fraud concerns, preventing these bad actors from ever submitting an app to the store.

John Gruber:

What Apple is trying to say is that this is a five nines sort of problem — that they could (and do) stop 99.999 percent of scams but the App Store is such a juicy target for crooks that hundreds of scams still slip though.

Why not 99.99999 percent efficiency though? Apple is the richest company in the world. If they want to run the App Store with whatever-they-say-goes authority, why should we, as customers, demand anything less than perfection on the fraud and scam front? True perfection they’re never going to achieve, but it sure seems like Apple could be doing better than they are. And they know it.

Nick Heer:

The half-a-million developer accounts terminated in 2020 compares to only about 180,000 new developers Apple says that it worked with to get their apps into the App Store.

[…]

Unfortunately, none of the numbers in this press release have any attached context. For example, Apple says that it rejected over 215,000 apps in 2020 for not meeting its privacy standards. But to understand what that means in terms of the total number of submissions, you have to go find the documents that surfaced in the company’s lawsuit with Epic Games, where you will find an average of about five million apps submitted annually, around 35% of which are rejected for any reason. But we still don’t know anything about the kinds of apps that were rejected. How many of the 215,000 apps were ever admitted into the store? And were any of them downloaded by users before being pulled? The answers to these kinds of questions are not in this press release.

[…]

These are the only options available to report a fraudulent app? These? I have already covered how Report a Problem is insufficient for raising alarms about a rule-breaking app, particularly if it is free. And the only other thing I can do, as a customer, is to telephone Apple Support? Ridiculous.

Previously:

Epic v. Apple, Day 6

Adi Robertson (tweet):

The trial’s sixth day began with testimony from Matthew Weissinger, Epic’s VP of marketing. And Apple used its cross-examination to offer the court an exhaustive tutorial on Fortnite, beginning with its title screen and one of its skins.

[…]

Peely’s nightmarish existence is barely related to Apple’s case. And the “naked banana” comment would probably have passed for a throwaway joke, but for one very important fact: Apple slammed Epic last week by claiming that it hosted porn.

[…]

Apple’s tutorial was clearly aimed at showing that Fortnite is mostly a game and not an “experience” or “metaverse” — encouraging the judge to weigh the App Store’s game-related policies against similar rules on consoles, rather than scrutinizing the whole iOS ecosystem.

Adi Robertson:

This is an email between Apple and Epic. Apple sender’s requesting assets promoting Chapter 2 launch, says “I know we’ve had issues in the past with a significant art leak,” but he promises it won’t happen again. Spoiler: Apple apparently did leak the Chapter 2 assets.

Adi Robertson:

Evans is back, and lawyer is asking how he defines the market and alternatives here. Evans notes the costs of switching ecosystems to Android are high, PCs/consoles aren’t a substitute, and Apple’s policies prevent the existence of iOS App Store alternatives.

[…]

To bring it back to consumer harm, Evans is arguing that Apple’s lack of competition causes higher prices and a slower pace of innovation. […] Evans says Apple hardware is very innovative but that its work on the App Store hasn’t kept pace, basically.

Previously:

Monday, May 10, 2021 [Tweets] [Favorites]

Epic v. Apple, Day 5

Adi Robertson (tweet, also: Nick Statt, Elizabeth Lopatto, Ian Sherr):

On the fifth day of court, however, Apple tried to turn Itch.io into a liability — by telling Epic Games Store general manager Steven Allison about “so-called adult games” that were “so offensive we cannot speak about them here.”

Itch.io is one of relatively few non-game apps on the Epic Games Store, along with software like the Brave browser.

[…]

Apple essentially warned Judge Yvonne Gonzalez Rogers that [sideloading] would mean forcing Apple to indirectly allow a sexualized visual novel about incest […] onto the iPhone.

Of course, such content is already available on iPhone via Safari, and via third-party apps such as Web browsers, site-specific browsers, and e-book readers. Making it available via a third-party store would improve the user experience without changing what’s shown in Apple’s own store.

Judge Rogers seemed to take the concern seriously, asking Allison to explain whether Apple was correct. Allison demurred, although he later pushed back on Apple’s veiled suggestion that Epic kick Itch.io off the Epic Games Store. “Itch.io is an incredible community for developers that we support fully,” Allison said, “they have an open platform, and therefore have different moderation standards than the Epic Games Store.”

[…]

Some people were upset at Apple going after a platform that’s particularly favored by queer developers offering depictions of sexuality you won’t find in big-budget games.

Nathan Grayson (via Hacker News):

It began as part of a series of inquiries in which Apple’s lawyer was attempting to establish Epic’s quality control process (or lack thereof).

[…]

Allison replied by pointing out that itch.io is on Epic, but it is not, itself, the Epic Games Store. “Itch.io is an app store that is not the Epic Games Store. We are not included in itch’s distributing pitch,” Allison said. “Epic is only distributing the app store of itch.io.”

Kenney:

According to Apple unspeakable things happen at Itch.io. Like developers uploading any game they create, getting a fair share of revenue, consumers getting DRM-free content and even having an optional launcher...

That must be truly a ghastly sight for Apple. 👻

See also: Apple Sucked Tumblr Into Its Walled Garden, Where Sex Is Bad.

Nick Statt:

Very critical line of questioning from the judge, about whether Apple’s lack of competition on iOS for app stores stifles innovation in in app review.

Adi Robertson:

Epic’s lawyer is back and redirecting to macOS — pointing out that people can directly download apps from outside Apple’s store there, but it’s still considered safe for kids etc.

“I think there’s safety on Mac that’s superior” when downloading from App Store. “The threats that we see on iOS even within the App Store, I can’t say that a user outside the Mac App Store has a safe and trusted experience.”

Elizabeth Lopatto:

Roblox is not a game, but Minecraft was, Kosmynka said yesterday. “I’m having a hard time with that.” Roblox looks like electronic Duplos, the judge says. “I’m trying to understand what the distinction you’re making is.”

Ian Sherr:

App Review is within developer relations. Apple has an internal mantra “let’s get them to yes!” To help apps get approved.

“There’s a human being at the end of every rejection,” he says, so devs can call and work with Apple

Steve Troughton-Smith:

Hands up how many developers have called and ‘worked with Apple’ to get an app through App Review? In the calls that I’ve had, it was a lot more one-sided, and finding out how to address/fix a rejection at that level is like trying to get blood from a stone

Previously:

Inside App Review

Steve Troughton-Smith has compiled some really interesting court exhibits from the Epic trial:

It seems like they create a trust score of your app based on a list of binary & metadata criteria, and then review what’s changed between versions

[…]

Apple acquired SourceDNA in 2016 to improve the automated binary analysis portion of App Review

[…]

As of 2015, there were 910 (!) different rules and other criteria that App Review used to approve/deny apps. Only a fraction of those are actually communicated to developers in the App Review Guidelines

Here are the top ten…

App Review’s static analysis includes checking for cookie-cutter apps, and the strings in your binary. Dynamic analysis runs your binary on a test farm and sees what you’re actually doing at runtime

[…]

Roblox was rejected for having minigames, and appealed to the App Review Board, saying that they would only add/remove minigames with submissions and not remotely. Nobody on the board replied to the email, so Roblox was given the go-ahead

Apple can end your business and not bother to reply to your email asking why or how you can change. Tribe was thrown under the bus (UTB) by another app developer presumably wondering why they had been rejected, and as a result got thrown out after 3 years on the App Store

[…]

Apple thinks developers are liars or idiots for telling Bloomberg that they — correctly — were approved to be on the App Store. There was no rule at the time to justify removing them, so Apple did it anyway and invented one after the fact

Apple didn’t want to come out publicly and say so, because it knew it had no actual rule to point to

[…]

Turns out it’s developers, via the developer agreement, that are responsible for ensuring the quality of apps on the App Store, not App Review at all. This is not surprising, but it could be an important distinction

[…]

The reason we lost Safari on Windows is the same reason we’re losing Safari on Mac. We didn’t innovate or enhance Safari’

[…]

Apple was utterly convinced of its iPhone (P2) security in 2006 right before it was announced. iPhone made it a month and a half after release before being jailbroken to run third-party apps, bypassing every security measure there was.

[…]

Forstall wanted to let Yahoo widgets on iOS.

[…]

Apple would ‘help’ CNBC write a story about how App Review is not a sweat shop despite its targets and overtime 🤨

See also: MacRumors.

Previously:

Friday, May 7, 2021 [Tweets] [Favorites]

Epic v. Apple, Day 4

Adi Robertson (tweet):

Epic spent the fourth day of trial offering its counter-narrative: the iOS App Store isn’t actually very good. Calling two Apple executives to the stand, Epic’s attorneys took jabs at everything from the update review process to Apple allegedly leaking Marshmello’s Fortnite concert playlist. They pushed Apple to justify its claims about privacy and security by producing hard research demonstrating threats and breaches — which Apple largely didn’t do.

[…]

The attorneys spent much of their time trying to catch Apple executives in contradictions, and while they quoted disgruntled developers like the ones above, they rarely delved into the substance of their complaints. Judge Yvonne Gonzalez Rogers became audibly irritated with Epic repeatedly producing documents to establish a “state of mind” about the App Store rather than hard facts, since the files would be uploaded for public viewing.

[…]

There’s one plausible reason Epic doesn’t have more specific stories: many developers are reportedly scared to criticize Apple. That’s been a running theme in congressional scrutiny of Apple, and Epic has vividly established the consequences of getting banished from the App Store[…]

Nick Statt (tweet):

Matt Fischer, the current App Store vice president who reports directly to longtime executive Phil Schiller, took the stand in Oakland as an Epic witness to answer questions about the App Store business model, as well as its role in the broader iOS operating system.

[…]

Fischer provided the company’s first robust rationalization for many of the App Store’s more controversial policies. He called the store "incredibly unique" in the benefits it provides to consumers and developers and steadfastly defended it against claims that Apple overlooks fraud. That, in turn, justifies the commission Apple collects and the restrictions it imposes.

[…]

The key takeaway from day four is that the future of this trial could very well hinge on how Judge Yvonne Gonzalez Rogers perceives the true purpose of the App Store. Is it a level playing field designed to protect user privacy and security and take only its fair share? Or is it an increasingly byzantine pillar of Apple’s walled garden, one preoccupied with chasing profit and marred by inconsistently applied and ever-changing rules?

[…]

The App Store chief also shed light on how Apple came to the conclusion it would not charge certain app makers a 30% fee if they produced a physical good or service, compared to a digital one like Epic and other game developers.

Nick Statt:

[Fischer] argues Apple didn’t want to take 30% of, say, an Uber ride or Amazon purchase because Apple couldn’t guarantee / had no insight into whether the product or service was delivered as ordered.

I don’t see how it really does for digital content, either.

Adi Robertson:

Epic is now calling Trystan Kosmynka, senior director of marketing at Apple.

[…]

“Do you recall an app called Tribe?"

Describing app being “hidden” for being a store within a store, but it’s been live since 2015. So it was on the store for about 3 years before the ERB ruling.

[…]

Raising the example of Roblox, which Epic lawyer refers to as a game with a collection of games in it. “I don’t see it that way,” says Kosmynka.

[…]

Just to be clear, the argument here is that experiences inside Roblox (which IIRC there are actual game studios devoted to building) are not games, because otherwise Roblox could be arguably similar to the Epic Games Store in being a store inside the App Store.

Sami Fathi:

In the latest batch of emails, the vice president of the App Store, Matt Fischer, claims that Apple features apps made by its competitors “all the time” on the store and rejects the sentiment that it seeks to degrade the exposure of those apps.

According to internal Apple correspondence submitted as evidence by Epic, an Apple employee wrote an email regarding a collection of apps on the App Store that were a part of the VoiceOver collection. In the email, which was forwarded to Sarah Herrlinger, Apple’s senior director of global accessibility policy, the employee claims that Fisher feels “extremely strong” about not featuring competing apps on the platform.

John Gruber:

Peter Kafka was kind enough to invite me on his podcast this week to talk — a little! — about the Epic-Apple lawsuit that started in court this week. I think I articulated pretty well my takes on what Apple should be allowed to do with the App Store and iOS, and what Apple should do with the App Store and iOS.

See also: Leah Nylen.

Previously:

Does Apple News Track You?

Lockdown Privacy:

If Apple actually cared about privacy, they’d stop tracking users without consent in their own apps.

[…]

Screenshots of the Apple News third party tracking behavior, blocked by Lockdown Privacy on iOS 14.5, plus description of the Comscore company from Wikipedia (they’re one of the largest marketing/tracking companies on Earth).

[…]

Both iPhone analytics and Ask To Track are disabled, so tracking is supposed to be completely disabled. But apparently not for Apple. 🤔

Apple:

Ads that are delivered by Apple’s advertising platform may appear on the App Store, Apple News, and Stocks. Apple’s advertising platform does not track you, meaning that it does not link user or device data collected from our apps with user or device data collected from third parties for targeted advertising or advertising measurement purposes, and does not share user or device data with data brokers.

[…]

We may use information such as the following to assign you to segments:

[…]

• Apple News and Stocks: The topics and categories of the stories you read and the publications you follow, subscribe to, or enable notifications from.

• Advertising: Your interactions with ads delivered by Apple’s advertising platform.

When selecting which ad to display from multiple ads for which you are eligible, we may use some of the above-mentioned information, as well as your App Store browsing activity, to determine which ad is likely to be most relevant to you.

I find Apple’s definition of tracking very confusing. Apple News and Google’s apps both use an opaque advertising identifier, separate from your user or device ID, and I guess this is somehow why they are able to say that they don’t track you. But it doesn’t seem like that should be enough. As Lockdown shows, Apple seems to be sharing the data with a third-party data broker. And, unless Google is segregating its data, it is falling afoul of the clause about linking app data with data collected from third-party apps or Web sites.

For Facebook, even if it uses the IDFA, Apple considers that tracking. Facebook knows who you are in the Facebook app because you’re logged in. But if an ad leads you to purchase an app, you probably won’t log into Facebook from within that app. So how can they know it’s you? Well, if that app can report the same IDFA to Facebook, that proves that you purchased the app.

Apple gets around this without “tracking” because it controls the App Store app, which is the only way to purchase apps. The ad and the purchase both happen in the same app, and they’ve defined tracking such that that doesn’t count. It’s not tracking if you own everything.

Timothy Buck:

Facebook selling an ad to a small developer and being able to prove it lead to an in-app purchase is “tracking” to Apple & requires opting in.

But Apple doing the same thing is described as “targeted ads” and does not require opting in.

Tim Hardwick (Hacker News):

According to the latest data from analytics firm Flurry, just 4% of iPhone users in the U.S. have actively chosen to opt into app tracking after updating their device to iOS 14.5. The data is based on a sampling of 2.5 million daily mobile active users.

There’s not much reason to turn it on given that Apple forbids apps from offering the user a benefit for doing so.

Firebrand:

Based on Apple’s job postings I’m beginning to suspect their stance on ads and tracking was nothing more than a clever ruse to weaken competitors while they build their own a personalized ad business for iOS.

Previously:

Update (2021-05-10): James O’Leary:

occasionally I challenge people about it, people wave it away with ‘differential privacy’, including a lead at Apple I talked to. they could not explain how it would work here

Hello Weather

John Gruber:

Longtime readers know I have a thing for good iPhone weather apps. I find weather apps to be an evergreen playground for design ideas — and that’s more true than ever now with iOS 14 widgets. One of my very favorites in recent years is Hello Weather. It’s attractive, original, and highly useful.

I’ve been looking for something to eventually replace Weather Line, and Hello Weather looks like a good find. It has nice, clean design that nevertheless presents lots of information. The main drawback that I’ve seen so far is that the hourly forecast doesn’t go very far into the next day.

Private iPad Camera Multitasking Entitlement

Jeremy Provost:

A few months back I was surprised to see that Zoom had somehow been able to tap into using the camera during iPad Split View multitasking. This is an obvious feature for a videoconferencing app so that you can keep one eye on your meeting while you consult notes, look at a presentation, or slack off on Twitter.

I scoured the web and found no reference to how to enable this feature for our own iOS Zoom client, Participant for Zoom. We asked Zoom and to our surprise they gave us the answer, and in the process revealed an apparently private process, available only to those deemed worthy by Apple.

[…]

Unfortunately, unlike with CarPlay there is no public process for requesting this entitlement. In fact, its existence is not even documented by Apple publicly.

[…]

You can’t say “we treat every developer the same” while privately giving special capabilities to certain developers.

Previously:

Update (2021-05-10): See also: Hacker News, 9to5Mac, MacRumors.

Reimagining Apple’s Documentation

Paul Hudson:

For a number of years my #1 WWDC wish was that Apple would do something to dramatically rethink its approach to developer documentation.

[…]

The top 500 most popular APIs (measured by page views) should have example code attached, ideally several examples with headers clearly marking what problem is being solved.

[…]

Any place where header files have documentation comments and their matching online documentation is “No overview available” should have the header docs copied straight online.

No APIs mentioned in the WWDC Platforms State of the Union talk should be allowed to ship with “No Overview Available” as their documentation – either can the feature or prioritize documentation.

Link directly to relevant WWDC videos from API pages, ideally to precise timestamps. Even better, make sure everything mentioned in those videos gets included in the text documentation too.

Previously:

Update (2021-05-10): Ken Harris:

You forgot:

• Stop moving webpages around all the time without adding HTTP redirects.

• The Human Interface Guidelines shouldn’t link to a guide on developer.apple.com that tells us to use a feature of Xcode that was removed 5 years ago.

Thursday, May 6, 2021 [Tweets] [Favorites]

Whitelisted Developers

Tim Cook (starting at 2:00):

We treat every developer the same. We have open and transparent rules.

Leah Nylen:

Forrest is asking Fischer about an Oct 2018 email. “Hulu is part of the set of whitelisted developers with access to subscription cancel/refund API.” Fischer acknowledges that “whitelisted developers” have access to some APIs and features that other developers don’t

Nick Statt:

Here’s are the documents where Apple employees talks about white-listing companies like Hulu for privelaged use of App Store APIs, like the cancel/refund API.

Adi Robertson:

Are the rules for developers different for different developers? “The App Store review guidelines apply equally to all developers,” Fischer says. Nobody gets a special “dispensation” or “special” deal.

“Do whitelisted developers get to do what other developers don’t get to do?” No, says Fischer.

Fischer says from time to time, it wants to test a feature with a small group before rolling it out to all developers.

Tanner Bennet:

This is a clever way to make a blanket statement that gives you plausible deniability when accused of unfair treatment.

“We were just testing X with [Developer] before we made it available to everyone!”

Even if it takes years, and years 😒

Previously:

Update (2021-05-07): Constantin Jacob:

For anybody interested in this, these are the APIs that Apple announced at last years WWDC stating that they’re available “now”.

Spoiler: they are absolutely not yet available to developers in any way

Ian Carlos Campbell (via Nilay Patel):

According to new emails revealed as part of Apple’s lawsuit with Epic Games, the company had given Hulu access to its subscription API but didn’t realize Hulu was using it to help people switch to Hulu’s billing system (and avoid Apple’s in-app purchases) until 2018 when the feature was mentioned in a tweet that caught the eye of a higher-up at Apple.

David Barnard:

Over dinner I told my wife one of my tweets ended up in a court case against Apple. Her first reaction, without even knowing what it said: “Is Apple going to retaliate?!” So yeah, for almost 13 years of making a living on the App Store, we‘ve lived in fear of Apple.

Nilay Patel:

The real risk of this trial to Apple all along has been that we will see how much of software economy on top of the iPhone is explicitly restricted so it can be monetized to Apple’s benefit. And the answer turns out to be: a lot!

Previously:

Update (2021-05-10): Nick Heer:

Also of note, this presentation reveals that Netflix had access to the same subscription management APIs as Hulu and other “original [Apple TV] partners”. That suggests these APIs could date back as far as September 2010. Apple has simply been testing these APIs among a small group of developers for perhaps the last eleven years as it readies a wider rollout; there is no other way to interpret this situation.

Thomas Clement:

Another example: Apple refused us access to the APFS snapshots API for no good reason while still giving it to others. “We treat every developer the same” is a lie.

Previously:

Epic v. Apple, Day 3

Adi Robertson (tweet):

Is an iPhone more like a PC or an Xbox?

[…]

Epic called up Microsoft’s Xbox business development head Lori Wright as a sympathetic witness. In response to a line of questioning, Wright divided computing devices into “special-purpose” and “general-purpose” devices — in a way that clearly defined iPhones as the latter.

[…]

It’s hard to call the iPhone anything but a general-purpose device under Wright’s definition. (She described a “special-purpose” Apple product as something like an iPod.) Intentionally or not, Wright also linked the distinction to one of Epic’s major talking points: profit.

Nick Statt:

“We sell the consoles at a loss,” Wright said. Asked why Microsoft would continue to do this, Wright elaborated that Xbox business model involves selling hardware at a loss and subsidizing it with game sales and subscription services, in this case to services such as Xbox Live Gold and Xbox Game Pass. The goal is to serve an “end-to-end consumer experience.” When asked if Microsoft has ever earned a profit on the sale of an Xbox device, Wright said no.

Adi Robertson:

Wright says Spotify has many songs and Netflix has many films. “Why could we not have a single app with many games?” Microsoft spent 3-4 months trying to “understand what this was.”

Microsoft decided the logistics didn’t work — if you wanted to push an update, for instance, every single game in the catalog would have to update. “All your apps would just be constantly spinning.”

If Microsoft took a game from the catalog, the way Netflix does, “there’d be a dead app on the phone. We thought this was a really inelegant way for players to experience this.”

[…]

Apple’s lawyer is not necessarily in the wrong here but is coming off as being pretty snide — asking next if Wright is aware the App Store had guidelines.

Of course, Apple didn’t change the guidelines to ban xCloud until after Microsoft had submitted it.

Previously:

Buffet Overflow

Alexander Osipovich (via Hacker News):

Berkshire Hathaway Inc. is trading at more than $421,000 per Class A share, and the market is optimistic. That’s a problem.

The price has grown so high, it has nearly hit the maximum number that can be stored in one common way exchange computers handle digits.

On Tuesday, Nasdaq Inc. temporarily suspended broadcasting prices for Class A shares of Berkshire over several popular data feeds. Such feeds provide real-time price updates for a number of online brokerages and finance websites.

Nasdaq’s computers can only count so high because of the compact digital format they use for communicating prices. The biggest number they can handle is $429,496.7295. Nasdaq is rushing to finish an upgrade later this month that would fix the problem.

John Gruber (Hacker News):

Worth noting that they’re not using integers to store fractional values — what they’re doing is using 10,000ths of a dollar as their integral unit. The decimal gets shifted left by four digits simply to display prices as dollar values, but the math is all done in 10,000ths of a dollar units.

Previously:

Apple Podcasts Not Showing the Latest Podcasts

Jason Snell:

I’m getting a lot of tweets and emails saying the same thing: the latest episode of (some podcast I’m involved with) hasn’t shown up in Apple Podcasts.

Unfortunately, right now my only answer is to say, “It’s displaying properly in every other podcast app around, so if you’ve ever thought of using Overcast or Castro or Pocket Casts or any other alternative podcast app, now might be a good time to try.”

This is an issue on Apple’s side. Apple is aware of it and presumably is working on a fix.

Steve Troughton-Smith:

I’m guessing the new Apple Podcasts now centralizes (& delays) refreshes of feeds, which is kinda frustrating if you want to listen to things the moment they are released. No amount of manual refreshing will convince Apple to reload the feed on the server

Josh Centers:

Apple recently overhauled the Podcasts app for the gazillionth time in iOS 14.5, iPadOS 14.5, and macOS 11.3 Big Sur, but unfortunately, it appears that Podcasts is still a hot mess.

[…]

I immediately noticed that I was already suffering from one of the complaints: Podcasts resetting your download settings and downloading every episode of every podcast you subscribe to or that has even a single episode in your library.

[…]

We’ve had Apple’s Podcasts app available on various platforms for nearly nine years now, but it has never been very good. After that amount of time, it’s hard to imagine that Apple will ever make it more than a lowest-common-denominator app for those who don’t know to find a better alternative in the App Store.

Unfortunately, users may not have much choice if Apple Podcasts Susbcriptions means that exclusive content ends up there.

Previously:

Visual Studio 2022

Microsoft:

Visual Studio 2022 will be a 64-bit application, no longer limited to ~4gb of memory in the main devenv.exe process. With a 64-bit Visual Studio on Windows, you can open, edit, run, and debug even the biggest and most complex solutions without running out of memory.

[…]

Our goal with Visual Studio 2022 for Mac is to make a modern .NET IDE tailored for the Mac that delivers the productive experience you’ve come to love in Visual Studio. We’re working to move Visual Studio for Mac to native macOS UI, which means it will come with better performance and reliability. It also means that Visual Studio for Mac can take full advantage of all the built-in macOS accessibility features. We’re updating the menus and terminology across the IDE to make Visual Studio more consistent between Mac and Windows. The new Git experience from Visual Studio will also be coming to Visual Studio for Mac, beginning with the introduction of the Git Changes tool window.

GitHub Codespaces (via Hacker News):

GitHub Codespaces supports Visual Studio Code and modern web browsers. With your development in the cloud, seamlessly switch between tools and contribute code from anywhere, anytime.

Previously:

Wednesday, May 5, 2021 [Tweets] [Favorites]

Punitive Measures for Netflix IAP Test

Chance Miller (tweet, MacRumors):

As part of the Epic vs. Apple trial, a detailed new email thread has come to light showcasing internal communication at Apple once the company became aware of Netflix’s plans to roll out an A/B test focused on use of the App Store’s In-App Purchase system.

[…]

The “voluntary churn issue” that Oliver refers to is that Netflix has a higher amount of “voluntary churn” among those paying via the App Store.

This is interesting since I’m always reading that App Store subscriptions are more sticky because the payment information is more likely to be up-to-date.

Also in the email, Oliver questioned whether Apple should take any “punitive measures” in response to Netflix’s planned test to remove IAP support in certain markets. “Do we want to take any punitive measures in response to the test (for examples, pulling all global featuring during the test period)?” Oliver wrote. “If so, how should those punitive measures be communicated to Netflix?”

Previously:

Update (2021-05-06): Ian Carlos Campbell:

Internal emails revealed during the Epic Games v. Apple lawsuit show that employees at Apple were considering giving Netflix special treatment to convince the streaming service to not abandon in-app purchases. In the run up to Netflix removing its subscription offering to avoid Apple’s fees, a presentation circulated within Apple proposed to advertise Netflix in its retail stores, use a portion of its cut of App Store commission fees to pay for search ads, and even bundle Netflix with other Apple services.

[…]

What this whole email saga is illustrative of is how Apple’s policies for developers seem to have exceptions.

Nilay Patel:

I think anyone could look at this and fairly wonder why an operating system vendor is mucking around so deeply inside the business of a popular app

Apple here is wondering what else it can do to justify taking a 30 percent cut of Netflix signups on iOS. The only reasons it’s doing that are 1. it knows it’s not doing enough to keep Netflix from removing IAP and 2. it has the threat of Netflix app signups going down to rely on

Extended Mac AppleCare+ Coverage

Joe Rossignol:

In addition to making AppleCare+ available for the Apple TV for the first time, Apple is now allowing AppleCare+ coverage for Macs to be extended indefinitely in the United States, according to an updated support document.

Joe Cieplinski:

I wouldn’t be surprised if AppleCare becomes subscription-only. It makes so much more sense to be able to cancel it whenever you let go of the item. And for them to keep getting monthly revenue past the three-year point. It’ll more than make up for the loss in repairs.

Rich Fletcher:

Apparently you can cancel AppleCare and get a prorated refund! I know this because I didn’t get around to it for a stolen iPhone 😠

Previously:

Facebook Educates About App Tracking Transparency

Sami Fathi (also: Ashkan Soltani):

As a way to convince users to enable tracking across other apps and websites, Facebook is deploying the tactic of telling users that they must enable tracking as part of the App Tracking Transparency framework in iOS 14.5 if they want to help keep Facebook and Instagram “free of charge.”

[…]

In an updated blog post, Facebook calls this updated prompt an “educational screen” that will “help people make an informed decision about how their information is used.” Instagram, owned by Facebook, will show a similar prompt to users asking them to enable tracking to “Help keep Instagram free of charge.”

John Gruber:

That’d be just adorable if Facebook and Instagram started charging users because of mean old Apple. I’m sure that’s really on the table and this isn’t utterly shameless.

Even if Facebook were serious, Apple would prohibit that, too.

Sami Fathi (tweet):

Apple says that it will ban and reject apps on the App Store that attempt to offer users monetary incentives to enable tracking through App Tracking Transparency (ATT), one of many measures the company is taking to ensure developers follow through with the new framework.

[…]

Following ATT’s release, Apple also updated its Human Interface Guidelines with a new section titled “Accessing User Data.” In this section, offering a mix of new and previously known information, Apple outlines the design policies that all apps must follow when they attempt to ask a user for their permission to access personal data, device capabilities such as microphone and camera, and consent to track them across apps and websites.

Nick Heer:

You think Facebook’s threat of having to pay to use its services is bad? Wait until you see what Canada’s own Weather Network has cooked up.

Francisco Tolmasky:

These tracking dialogs don’t make sense in iOS. Unlike permissions dialogs, you don’t get an obvious direct feature out of it, like the camera. Seems like Apple should just disallow tracking, not create a contest to see what tricks companies come up with to get you to click it.

This is kind of a microcosm of all @AppStore policy, which has to ride this absurd line where Apple doesn’t actually get to implement what it really wants, but the experience still suffers for it.

Jun Harada (via Sebastiaan de With):

[Signal] created a multi-variant targeted ad designed to show you the personal data that Facebook collects about you and sells access to. The ad would simply display some of the information collected about the viewer which the advertising platform uses. Facebook was not into that idea.

Facebook is more than willing to sell visibility into people’s lives, unless it’s to tell people about how their data is being used. Being transparent about how ads use people’s data is apparently enough to get banned; in Facebook’s world, the only acceptable usage is to hide what you’re doing from your audience.

Ken Harris:

As with iOS 14.5, the most damning evidence against @Facebook isn’t that they collect data. It’s that they insist on hiding the extent of the data they collect.

It’s an asymmetric relationship, and the corporation wants to exploit that. Does that ever end well for the public?

Previously:

Update (2021-05-06): Facebook says that “this is a stunt by Signal” and that it never rejected the ads or banned their account (via Timothy Buck).

Signal:

We absolutely did try to run these. The ads were rejected, and Facebook disabled our ad account. These are real screenshots, as Facebook should know.

Joe Osborne:

These screenshots are from early March, when the ad account was briefly disabled for a few days due to an unrelated payments issue.

The ads themselves were never rejected as they were never set by Signal to run. The ad account has been available since early March, and the ads that don’t violate our policies could have run since then.

Night Shift Sleep Study

Tim Hardwick:

Now found on most smartphones in some form, Night Shift is based on studies that have demonstrated that blue light can negatively impact sleep by altering the body’s circadian rhythm. However, the results of a new study from BYU published in Sleep Health have undermined that premise.

To test the theory, BYU psychology professor Chad Jensen and researchers from the Cincinnati Children’s Hospital Medical Center compared the sleep outcomes of individuals in three categories: those who used their phone at night with the Night Shift function turned on, those who used their phone at night without Night Shift, and those who did not use a smartphone before bed at all.

John Gruber:

My theory all along has been that Night Shift just makes your screen look hideously mis-colored.

Sleep benefits or not, I do find it more comfortable. Perhaps BYU’s results differ from previous studies because Night Shift shifts the colors much less than f.lux or blue light glasses.

Previously:

Update (2021-05-06): f.lux:

The first thing to show is any difference between using a phone and not using one - this study doesn’t show any difference, with P>0.5. So that’s the headline really.

We don’t know if this is just underpowered, or if dimming + night modes are “enough” for most people.

Even so, Night Shift is not doing very much - f.lux is about 7x stronger by default.

To sum up: If you can’t even show you have a problem, you cannot fix it, and making a very minor change probably won’t fix it anyway.

I like Night Shift because I run my devices in Light Mode. But I bet it offers much less blue light benefit for those running in Dark Mode all the time, or in Automatic mode where the phone automatically switches to Dark Mode at night. With so much less white content in Dark Mode, the effect of Night Shift is much more subtle. If most users are using Dark Mode at night, anyway, that could also explain why the study found no significant difference vs. not using a phone at all.

John Gruber:

I’ve long heard from friends and readers who enjoy Night Shift (and f.lux) simply because they feel it reduces eye strain. Comfort is comfort — if you Night Shift feels easier on your eyes, go ahead and use it. What I object to is the “may help you get a better night’s sleep” claim. Apple should keep the feature but change the language describing it to remove any suggestion that it’s a sleep aid, unless subsequent studies suggest otherwise.

Verizon Sells Yahoo and AOL

Edmund Lee and Lauren Hirsch (via Hacker News):

Yahoo and AOL, kings of the early internet, saw their fortunes decline as Silicon Valley raced ahead to create new digital platforms. Google replaced Yahoo. AOL was supplanted by cable giants.

Now they will become the property of private equity. Verizon, their current owner, agreed to sell them to Apollo Global Management in a deal worth $5 billion, the companies announced Monday.

[…]

Yahoo and AOL still generate plenty of revenue. Verizon’s media division recorded $1.9 billion in sales in the first three months of 2021, a 10 percent gain over the prior year.

John Gruber:

In January 2000, AOL acquired Time-Warner for $182 billion to form a mega media company then valued at $350 billion.

Previously:

Epic v. Apple, Day 2

Adi Robertson (tweet):

Apple did support cross-wallet play before banning Fortnite last year — and on the trial’s second day, that fact became a serious pitfall for Epic. Apple continued a long cross-examination of Epic CEO Tim Sweeney, whose hours of testimony included a digression on whether Fortnite counts as a true metaverse or simply a big free-to-play game that has concerts. (Judge Yvonne Gonzalez Rogers suggested, and Sweeney concurred, that “the most readily acceptable analogy” might be Steven Spielberg’s Ready Player One.)

Sweeney was followed by two witnesses from outside Epic: the founder of an iOS yoga app, followed by the product manager for Nvidia’s cloud gaming service. All argued that Apple’s tightly managed App Store forced customers to use clunky workarounds. Meanwhile, Apple argued that the workarounds weren’t necessarily worse — just different.

Nick Statt (tweet):

The theme emerging from both days of testimony is that Sweeney sees this as a fight that goes well beyond a single game and even a single platform. In Epic’s eyes, suing Apple is an existential fight for the future for media, computing and software distribution, and maintaining the status quo would represent a major setback for Epic’s ambitions.

[…]

Doren raised a number of questions about Sony’s negotiations with Epic. The most important of those was how Epic paid Sony additional revenue over the standard 70-30 revenue split on PlayStation to compensate for cross-play, a feature Epic received significant pushback over and which it had to carefully orchestrate across all major console platforms.

[…]

[Sweeney] also repeated his argument that game consoles, which are largely single-purpose devices and not general computing ones, are often sold at a loss and make up the difference through software sales. In Sweeney’s eyes, that justifies a higher commission. […] The point of the exercise, including a hypothetical from Epic’s lawyer over checking a bank balance at the doctor’s office using a game console, was that phones are multi-purpose, general computing devices and that game consoles are not valid substitutes.

Nilay Patel:

Apple’s insistence on comparing the iPhone to game consoles at trial is also really interesting -- do they want the iPhone to be considered a console-like device, or a general purpose computer? What about the iPad?

[…]

Adding to this from a pure policy perspective - we know there are huge numbers of people, especially lower-income people, where a phone is their only computing device.

Tom Warren:

Apple’s attorneys are using retweets from a personal account as a form of defense of Apple blocking cloud gaming apps like GeForce Now, Google Stadia, and Microsoft xCloud 🙃

Jason Snell:

The big question is, will Apple be able to bargain with the powers that be, offering smaller changes that will take pressure and scrutiny off of the rest of the company’s practices? Or will it be forced to change in ways it absolutely doesn’t want by judges and regulators who have decided that its behavior is in violation of the law?

This is complicated stuff. There’s no way to tell how it’ll turn out. But it’s worth considering some of the possibilities, which I’ll rank from most likely to happen (and generally, least catastrophic to Apple) to least likely (and most catastrophic).

Previously:

Tuesday, May 4, 2021 [Tweets] [Favorites]

Script Debugger 8

Late Night Software (full release notes, press release):

Script Debugger’s appearance has been updated to fit nicely into macOS Big Sur. Script Debugger 8 runs natively on Apple’s new M1 Macs, and generates universal Intel/ARM applications when running under macOS Big Sur, regardless of platform.

[…]

To go along with Dark Mode support, Script Debugger 8 provides user configurable and switchable themes.

[…]

Viewing script library documentation has been made much easier with the introduction of a Libraries section within Script Debugger’s dictionary window.

[…]

Script Debugger 8 offers vastly expanded options for generating standalone applications, along with the ability to code-sign and notarize applications.

[…]

Security changes introduced in macOS Mojave and later rendered Script Debugger’s external debugging feature inoperable. For Script Debugger 8 we’ve removed external debugging[…]

There’s something weird going on with AppleScript on Apple Silicon Macs. I and others have encountered problems where AppleScript commands time out and fail when either the sending or receiving app is running in Rosetta. So it’s great news that my preferred AppleScript editor now runs natively.

It’s $100 or $50 to upgrade, with many of the features working in the free lite mode.

Previously:

Monday, May 3, 2021 [Tweets] [Favorites]

Epic v. Apple, Day 1

Jason Snell, quoting Tim Cook:

The App Store and other parts of Apple are not cast in concrete. And so we can move and are flexible with the times.

Nick Statt, Ben Brody, and David Pierce:

On Monday, Apple and Epic Games will meet in court to decide one of the most consequential antitrust arguments in the history of the tech industry. The trial has been nearly a year in the making, following Apple’s removal of Fortnite from the App Store in August 2020. It’s arguably the biggest courtroom showdown Apple has engaged in since its smartphone patent war with Samsung nearly a decade ago.

[…]

Epic v. Apple starts Monday and is estimated to last about three weeks. In total, each side will have 45 hours to present its case. Gonzalez Rogers has been overseeing the case since the beginning and will preside over the trial as well.

[…]

Each witness will wait in a sort of green room before they’re called to the stand. Beyond that, each company also gets a “designated representative” who can be in the courtroom the entire time. That’ll be Tim Sweeney for Epic and Phil Schiller for Apple.

Via John Gruber:

Just in case there was any doubt whether Schiller, in his new role as Apple Fellow, was truly still in charge of the App Store — he is.

John Voorhees (also: MacRumors, AppleInsider):

There’s more to these disputes than Epic’s allegation that Apple violated antitrust laws and Apple’s claims that Epic violated its developer agreement. Underlying it all is the way the dispute was precipitated by Epic. The Fortnite creator’s actions don’t necessarily absolve Apple of antitrust violations, but Epic’s calculated orchestration of events leading to the dispute have not gone unnoticed by the judge presiding over the case and may influence the trial’s outcome. Coupled with Epic’s efforts to get regulators around the world to take up its cause and its very public crusade against the way Apple operates the App Store, it’s not surprising that the claims haven’t settled.

[…]

The App Store itself may be on trial in the court of public opinion, but the issues in dispute before the judge are far narrower. I suspect that will leave many of Apple’s critics dissatisfied regardless of the result, especially since with inevitable appeals, the next few weeks is just the opening round in what promises to be a much longer dispute.

However, while the outcome of Epic’s lawsuit may not satisfy App Store critics, the intense scrutiny will likely be a force for positive change regardless, as we’ve already seen with changes such as modifications to the App Review Guidelines and the Small Business Program. Apple would undoubtedly deny those changes were made in response to the pressure of litigation, but it’s hard to imagine that the lawsuits and interest of regulators around the world haven’t at least influenced some of the positive changes to the App Store, which is a step in the right direction to making it a better option for all developers.

Sahil Iqbal (tweet):

As a startup founder, I would like to share the issues that the app store tax presents for us.

[…]

What bothers me is the special treatment larger companies receive from Apple regarding the 30% cut.

[…]

Users should at least be aware that they can get the same services for cheaper elsewhere.

[…]

I pay a developer fee every year of $100, which is honestly overpaying for what value I receive from the app store.

Cory Doctorow:

Apple is a true business innovator: For more than a decade, they have been steadily perfecting an obscure anticompetitive tactic, turning a petty grift invented by console games companies into a global, cross-industry mechanism for extracting rents and centralizing control.

I’m speaking of App Stores, of course, and not just any app store, but one that’s illegal to compete with or switch away from.

Kim Lyons:

An appeals court in California has ruled that Amazon can be held liable for products sold through its marketplace by a third-party seller, the Los Angeles Times reported. It’s the second major case in California where an appeals court has rejected Amazon’s long-held position that it is merely an intermediary between buyers and its third-party sellers.

Florian Mueller:

In its proposed findings of fact and conclusions of law, Epic Games debunks Apple’s claim that it has not been able to increase (or even maintain) its App Store commission rate due to competitive constraints[…]

[…]

But Epic’s list of de facto price increases is not even exhaustive.

[…]

Once one has thought it through, it’s crystal clear: many (if not most or even all) third-party developers end up having to pay digital services taxes (“DST”) only because of Apple’s tying (of the payment system to the App Store as the only access route to iOS users), and wouldn’t owe those taxes otherwise.

Davide Vernizzi (via Hacker News):

[Apple does] a lot of bad stuff, but given the context, for me, they are an acceptable evil. I’ll explain.

Benedict Evans (via Hacker News):

Trust was a huge problem, distribution was a huge problem, and Apple solved both.

[…]

So, regulatory intervention might look at side-loading and third party stores, but the focus has to be on Apple’s default store and Apple’s rules. I think it’s extremely likely that apps will be able to use their own payment systems, that Apple’s 30% will change, if not necessarily disappear, and that Apple will have to give third party apps the same kinds of hardware and integration access as its own services.

That leads to a lot of very fiddly product questions.

Mark Gurman (tweet):

Apple Inc.’s App Store had operating margins of almost 78% in fiscal year 2019, according to testimony from an Epic Games Inc. expert witness based on documents obtained from the iPhone maker.

The figure comes from Ned Barnes, a financial and economics researcher, who said he obtained documents “prepared by Apple’s Corporate Financial Planning and Analysis group and produced from the files of Apple CEO Tim Cook.”

Tom Warren:

Microsoft had been planning to cut its Xbox store cut to just 12 percent, according to confidential documents filed in the Epic Games vs. Apple case. The software maker details its store fees and changes in a document from January, where it also lists the 12 percent cut to PC games it announced this week.

Zach:

These depositions released from the Epic v. Apple trial are quite good. They give some perspective from the executive level of how they think about the App Store (I don’t think they’re super positive for Apple…)

James O’Leary:

this is now a live tweet thread

Patrick McGee:

Phil Schiller in 2012, after a rip-off app hit #1: “What the hell is this?????

…. Is no one reviewing these Apps? Is no one minding the store?”

Tom Warren:

remember when Microsoft was trying to get Office on iOS and avoid the 30% cut? Here’s an email from Apple’s @pschiller stating “we run the store, we collect the revenue.”

Tom Warren:

The public call line allows anyone to dial in and listen to today’s proceedings, but the court didn’t manage to properly mute all participants for more than 20 minutes. The result was what sounded like a chaotic Discord call.

More than 200 participants were dialed into the public line, with many screaming “free Fortnite” or “bring back Fortnite on mobile please judge.”

Nilay Patel:

1. The slide transitions during Epic’s opening argument using literal bricks stacking up are very funny

2. Apple really, really knows that iMessage keeps people on iOS, and that messages get lost when people switch to Android.

Tanner Bennett:

Did I miss anything?

Colin Cornaby:

Mostly I just hope after this trial that Epic and Apple can get back to making sure stuff like Unreal works well on the Mac and iOS. It’s been real unsettling how Unreal has not been part of the Apple Silicon campaign, given their market dominance.

[…]

Apple tried to push a narrative today that Metal was something Apple did for Epic, and that Epic should be thankful for. But it doesn’t mention how much legitimacy Epic has given to Metal. Especially on low volume platforms like the Mac.

Previously:

macOS 11.3.1

Mr. Macintosh (also: MacRumors):

Surprise!!! Apple just a new macOS Big Sur 11.3.1 Update. The release comes only one week after 11.3.

Apple:

Impact: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited.

Description: A memory corruption issue was addressed with improved state management. CVE

[…]

Impact: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited.

Description: An integer overflow was addressed with improved input validation.

Howard Oakley:

Although it apparently addresses just these two vulnerabilities, it’s still 3.3 GB for an M1 Mac.

Jeff Johnson:

So... where are the Catalina and Mojave security updates for these actively exploited issues???

Previously:

Update (2021-05-05): Juli Clover:

Apple today released a new version of Safari 14.1 for macOS Catalina and macOS Mojave users, with the update introducing fixes for two WebKit vulnerabilities that were patched in macOS Big Sur yesterday.

SuperDuper 3.5 Beta 1

Dave Nanian (tweet):

As such, we can finally release a Beta that works as expected on both Intel Macs (now) and M1 Macs (assuming you have installed 11.4 Beta 1 or later).

To be clear, this is only possible because Apple made it possible in macOS 11.4. I’m certain it required changes to the M1’s startup process and to asr to finally make it happen. Without those changes, we couldn’t have done this in a supported way.

[…]

asr copies at a low level and works a drive quite hard. In our internal testing, some SSDs couldn’t handle the load without intermittently overheating and generating errors.

[…]

So, we decided that under macOS 11 and later, a Smart Update of a "volume group"—that is, a startup volume—will only copy the Data volume, updating your applications and data but leaving the system as-is.

Previously:

Update (2021-05-05): Dave Nanian (tweet):

Startup volumes will often not show up in the Startup Disk Preference Pane in System Preferences under Big Sur. This does not mean the drive isn’t bootable—it’s a weird bug in Big Sur.

[…]

We’ve actually figured out how to get at least a little useful information out of the weird errors system tools produce[…]

EU and Australia on App Store Antitrust

Tom Warren (MacRumors, Hacker News):

The European Commission is issuing antitrust charges against Apple over concerns about the company’s App Store practices. The Commission has found that Apple has broken EU competition rules with its App Store policies, following an initial complaint from Spotify back in 2019. Specifically, the Commission believes Apple has a “dominant position in the market for the distribution of music streaming apps through its App Store.”

The EU has focused on two rules that Apple imposes on developers: the mandatory use of Apple’s in-app purchase system (for which Apple charges a 30 percent cut), and a rule forbidding app developers to inform users of other purchasing options outside of apps. The Commission has found that the 30 percent commission fee, or “Apple tax” as it’s often referred to, has resulted in higher prices for consumers.

[…]

Apple now faces a fine of up to 10 percent of its annual revenue if it’s found guilty of breaking EU rules, which could be as high as $27 billion based on Apple’s annual revenue of $274.5 billion last year. Apple could also be forced to change its business model, which has more damaging and lasting effects than a fine.

Nilay Patel:

The EU has found that Apple’s App Store rules drive up music streaming prices. Apple’s response is to… take credit for Spotify’s success?

Rusty:

“All the benefits of the App Store” is an incredible way to describe “any access to our platform.”

Michael Love:

Apple’s attitude in these press releases is consistently appalling - taking credit for developers’ hard work + completely misrepresenting the nature of the App Store.

Rick Kettner:

“At the core of this case is Spotify’s demand that they should be able to advertise alternative deals… a practice that no store in the world allows.”

Yet an iPhone bought at BestBuy presents me with the option to buy future accessories directly from the Apple Store app. Hmm…

Australian Competition & Consumer Commission (via Hacker News):

The ACCC’s second Digital Platform Services Inquiry interim report finds that Apple’s App Store and Google’s Play Store have significant market power in the distribution of mobile apps in Australia, and measures are needed to address this.

Previously:

Sunday, May 2, 2021 [Tweets] [Favorites]

SeaTurtle (Sponsor)

My thanks to Oak Snow Consulting for sponsoring the blog this week.

Do you want to teach your kids to program? Help them take their first steps with SeaTurtle, a turtle graphics–oriented programming language built for macOS. SeaTurtle is an extremely simple programming environment inspired by Logo and BASIC. It has very few features—just enough to engage learners in the pursuit of turtle graphics.

SeaTurtle

Did you learn to program in Logo? Why not give your children the same gentle introduction in a more modern environment designed specifically for the Mac. SeaTurtle comes with ample example programs, video tutorials, and a detailed language guide.

Help Sally write her first loop, subroutine, and if-statement. Help her do it in a language with no special characters, no case sensitivity, and keywords so self-explanatory it’s child’s play. Then she can export her work to an animated GIF to share with her friends. She’ll be ready in no-time to graduate to a real language like JavaScript or Python. SeaTurtle is training wheels for programming.

Purchase SeaTurtle today for $4.99 on the Mac App Store. We’re proud to do our first advertising by sponsoring Michael’s blog, a great resource for developers who remember growing up with Logo and BASIC.

Friday, April 30, 2021 [Tweets] [Favorites]

Apple Developer Tools Memory Lane

Dave Verwer:

I lost about two hours yesterday to this tweet from Davide Di Stefano. Xcode 2 was the first version I used, but this video of Xcode 3 from Kevin Vinck took me on a delightful trip down memory lane, which ended in finding this YouTube channel and this video introducing Project Builder. Despite being such low resolution you can’t read the text, I watched more of it than I should have for a Thursday afternoon. 😬 I loved seeing features in Project Builder that are still a part of Xcode today.

Previously:

VMware Fusion on Apple Silicon Later This Year

VMware (tweet):

However, for those that need to run another operating system like Linux or Windows, Rosetta 2 doesn’t support Virtualization, and Apple silicon Macs don’t support Boot Camp. That means it’s time for us to innovate and rebuild our beloved desktop hypervisor for Macs, VMware Fusion, to support the next generation of Apple hardware.

[…]

Even with that said, and note that I’m using ‘debug’ builds which perform slower, in my 12 years at VMware I’ve never seen VMs boot and run like this.

[…]

And as far as we are aware, there is no way to buy a Windows 10 ARM license for a Mac with Apple silicon.

[…]

So, to be a bit blunt, running x86 operating systems on Apple silicon is not something we are planning to deliver with this project.

So no testing older versions of macOS, either.

That said, the team is planning to deliver a Public Tech Preview of VMware Fusion for macOS on Apple silicon before the end of this year, and we can’t wait to get it in the hands of every Apple silicon Mac owner.

Previously:

Catalina Security Update 2021-002 Breaks OpenCL

Gus Mueller (tweet):

Core Image, another framework by Apple and one that Acorn relies on heavily, uses OpenCL to process images when its renderer is set to “software” mode (the other mode is to use the GPU). Core Image tries to use OpenCL and then fails, so all images come out empty.

The quick fix is to tell Core Image not use the software renderer, and then Core Image will move everything to the GPU for processing and use Apple’s Metal framework instead of OpenCL — for most cases. I think there is still hardware out there that can’t use Metal, so it might fall back to OpenCL in that case.

[…]

Nothing in the release notes for the security update mentions OpenCL. I’m baffled and completely in the dark as to what the changes were or why they were done.

Colin Cornaby:

Also spent the morning diagnosing this. Catalina Macs suddenly stopped completely tests successfully, traced the timing back to the security update.

In our case, OpenCL breaking also breaks parts of CoreImage.

Previously:

Update (2021-05-07): Mr. Macintosh:

Catalina 2021-002 & Mojave 2021-003 Security Updates are causing boot problems on the iMac Pro.

After installing the update, some users are getting a prohibitory sign.

Thursday, April 29, 2021 [Tweets] [Favorites]

30 Years of Linux

Jeremy Andrews (via Hacker News):

Thirty years ago, Linus Torvalds was a 21 year old student at the University of Helsinki when he first released the Linux Kernel. His announcement started, “I’m doing a (free) operating system (just a hobby, won’t be big and professional…)”. Three decades later, the top 500 supercomputers are all running Linux, as are over 70% of all smartphones. Linux is clearly both big and professional.

Linus Torvalds:

I’m 100% convinced that the license has been a big part of the success of Linux (and Git, for that matter). I think everybody involved ends up being much happier when they know that everybody has equal rights, and nobody is special with regards to licensing. […] The right to fork and do your own thing is important, but the other side of the coin is equally important - the right to then always join back together when a fork was shown to be successful.

[…]

I use this abomination called “micro-emacs”, which has absolutely nothing to do with GNU emacs except that some of the key bindings are similar. I got used to it at the University of Helsinki when I was a wee lad, and I’ve not been able to wean myself from it, although I suspect I will have to soon enough.

[…]

But that “mailing list as an archive” model works very well, and works seamlessly together with the whole “send patches between developers as emails” and “send problem reports as emails”.

[…]

If anything, what is interesting about the last decade is how we’ve actually kept the actual development model really smooth, and what hasn’t changed. […] So for the last decade, we’ve made absolutely huge changes (Git makes it easy to show some statistics in numbers: about three quarters of a million commits by over 17 thousand people).

[…]

So one of the main things the VFS layer does is really handle all the locking and caching of pathname components, and handle all the serialization and the mount point traversal, and do it all with mostly lock-free algorithms (RCU), but also with some really clever lock-like things (the Linux kernel “lockref” lock is a very special “spinlock with reference count” which was literally designed for the dcache caching, and it’s basically a specialized lock-aware reference count that can do lock elision for certain common situations). […] The Linux dcache is simply in a class all its own.

Previously:

Update (2021-05-07): Linus Torvalds (via Hacker News):

The other big thing is that you have to be open. And I mean that in multiple ways. It’s really easy to create some kind of “clique” of people, where you have an inner cabal that discusses things in private, and then you see really only the end result (or the fringe work) in the open, because all the important stuff happened inside a company or within a core group of people, and outsiders have a hard time breaking into that clique, and often have a hard time even seeing what is going on in that core group because it was so private and exclusive.

It’s one of the reasons I really like open mailing lists. Not some “by invitation” list. Not something you even have to sign up to participate in. Really open. And pretty much all the development discussions should be there.

[…]

But is it sustainable? Yes. I’m personally 100% convinced that not only is open source sustainable, but for complex technical issues you really need open source simply because the problem space ends up being too complex to manage inside one single company. Even a big and competent tech company.

[…]

I don’t have a “30-year plan”. I don’t even have a 5-year plan. In fact, I don’t plan ahead more than a release or two (which is obviously just a few months).

As an engineer, I have this strongly held opinion that “details matter”. Details are almost the only thing that matters. If you get the details right, the rest will follow.

Apple’s Q2 2021 Results

Apple (Hacker News):

The Company posted a March quarter record revenue of $89.6 billion, up 54 percent year over year, and quarterly earnings per diluted share of $1.40.

[…]

“We are proud of our March quarter performance, which included revenue records in each of our geographic segments and strong double-digit growth in each of our product categories, driving our installed base of active devices to an all-time high,” said Luca Maestri, Apple’s CFO.

Jason Snell (transcript):

It’s Apple’s best non-holiday quarter ever, with all its major product categories way up versus the year-ago quarter.

Mac revenue was $9.1B, up 70% versus last year’s second quarter, and seems to be an all-time record for the Mac. iPad revenue was $7.8B, up 79% versus the year-ago quarter. iPhone revenue, which is typically pretty sleepy in the fiscal second quarter, was up 66% to $47.9B.

The flashy new revenue lines, Services and Wearables, turned in (relatively) modest jumps: Services made $16.9B, up 27%, and Wearables made $7.8B, up 25%.

MacRumors:

Gross margin for the quarter was 42.5 percent, compared to 38.4 percent in the year-ago quarter, with international sales accounting for 67 percent of revenue. Apple

Juli Clover:

Apple saw all-time revenue records for the App Store, cloud services, apple Music, payments services, and more. Apple TV+, Apple Arcade, Apple Fitness+, Apple News+, Apple Card, and Apple One are all “continuing to scale across users” and are contributing to overall growth.

Apple saw 40 million paid subscriptions added during the quarter, reaching a total of 660 million paid subscriptions across all services, which is up 145 million from the year-ago quarter.

Previously:

Update (2021-05-05): Michael E. Cohen and Josh Centers:

That said, Apple is on perhaps the firmest footing it has ever been on. The iPhone, iPad, and Mac are more popular than ever. The risky switch from Intel processors to Apple’s own M1 chip in the Mac has been nothing short of a smashing success, both critically and commercially. And Apple’s Services business seems to have unlimited room for growth. So, while Apple may not exceed these results next quarter—Cook noted that Apple would be “supply-gated, not demand-gated” in the coming quarter, having burned through much of its material reserves to counter supply constraints in Q2—the demand for Apple goods and services seems only to be accelerating, a prospect even sweeter than one of Ted Lasso’s famous biscuits.

Rust at Facebook

Kathy Kam (via Hacker News):

Facebook Open Source is excited to announce our support of Rust Foundation at its highest member tier. Alongside the other fellow foundation members, Facebook is committed to sustaining and growing the Rust open source ecosystem and community.

Facebook (via Hacker News):

Alongside fellow members including Mozilla (the creators of Rust), AWS, Microsoft, and Google, Facebook will be working to sustain and grow the language’s open source ecosystem.

[…]

Our oldest Rust codebase dates to 2016, when the rate of source code changes in Facebook’s monorepo started to encroach on the maximum commit rate that the Mercurial source control management tool could keep up with. In response to this, Facebook’s Source Control team launched a rewrite project called Mononoke with the goal of increasing Mercurial’s commit rate by some additional orders of magnitude to serve Facebook’s thousands of developers and automated processes.

[…]

At the end of 2020, we re-upped our commitment by launching a Rust team in our Programming Languages organization, the same org responsible for Facebook’s C++ standards work and toolchains.

Previously: