❌

Normal view

Received — 25 July 2026 ⏭ Daring Fireball

bIRC — A New Native IRC Client for Mac

25 July 2026 at 16:39

For a long time the best native Mac IRC client was Textual, but although Textual still works, it’s been sunset by the author. Not to fear, however. Fredrik Blank just launched bIRC:

Creating an IRC client in 2026 is not something that will pay the bills : ) It would be just for the joy of programming. But the amount of work involved always made me throw the thought aside.

But one night when I had nothing better to do, I started implementing the good old spec in Swift (RFC 2812). And then I got motivated to continue, adding IRCv3 extensions and UI. Been working on it on and off on it since the end of 2025. Now I feel pretty satisfied with the result. Say hi to bIRC — an IRCv3 client for Mac.

I was never a big IRC user, personally, and haven’t used IRC in years. But I installed bIRC just because it looks so good, and took it for a brief test drive. It’s nice. And it is very Mac-assed in a modern way. It’s got a detailed documentation page too. There are (alas) many great apps that lack good documentation, but there are very few apps with good documentation that aren’t great apps. bIRC is free to download and use from the App Store, and there’s a suite of additional fun/pro features you can unlock for a one-time $13 purchase. I bought the pro upgrade despite seldom using IRC just to celebrate a killer new Mac app.

★ Regarding Ad Blockers and Daring Fireball

24 July 2026 at 21:57

Following up on the previous item today, re: content blockers and ad-blocking, I ran into a weird situation a few weeks ago with my column “John Ternus Should Reverse Apple’s Slide Down the Advertising Slippery Slope”. That article contains this sentence, in Markdown:

And -- at this writing, still "coming soon" -- Apple is
launching [ads on Apple Maps][🗺️].

[🗺️]: https://ads.apple.com/maps

The problem is that anyone reading that article in NetNewsWire saw it rendered like this, with the words “ads on Apple Maps”1 omitted:

Screenshot of article text from NetNewsWire.

It looks like I forgot to finish writing that sentence. NetNewsWire simply omits the hyperlinked words. After a few readers reported this, I immediately suspected the problem was the “ads.apple.com” domain. I’ve never linked to that domain before, and many ad blockers just block any domain that starts with a domain prefix like ads.*.

And that’s exactly what the problem is. I had no idea that NetNewsWire filtered any content whatsoever (and I sort of think it shouldn’t), but DF reader Antonio Germano searched through NetNewsWire’s open-source code and found it in the core.css file, line 49:

38  /*Block ads and junk*/
39  
40  iframe[src*="feedads" ],
41  iframe[src*="doubleclick"],
42  iframe[src*="plusone.google"] {
43      display: none !important;
44  }
45  
46  a[href*=".ads."],
47  a[href*="feedads" ],
48  a[href*="doubleclick"],
49  a[href*="//ads."],

The culprit identified, I dutifully pinged my friend Brent Simmons to report the problem. But then I had to decide what to do about it. I have no idea which feed readers are being used to read Daring Fireball’s feeds, but NetNewsWire is surely one of the most popular, and probably the most popular. It’s the feed reader I use personally. I can’t change the contents of NetNewsWire’s core.css file, so I can’t keep NetNewsWire from stripping out words that link to Apple’s ads.apple.com domain. What I could do is not link to ads.apple.com, like, say by changing my link from ads.apple.com/maps to a shorten-and-redirect URL like bit.ly/4wmXFSE that points back to Apple’s original URL.

But I didn’t do that. I don’t like playing whack-a-mole to work around bugs in other software. I have enough trouble fixing my own mistakes. I also don’t like the idea of showing everyone a “Click it and find out where it actually goes” mystery URL from Bitly rather than the direct URL. It’s a general principle thing, and also a much better policy for links that are meant to last for decades.

What I really don’t like about NetNewsWire’s ad-blocking here is that it just omits the linked text. It doesn’t remove the link but leave the words; it removes the words that are hyperlinked to the blocked domain. I’ve run into this with other content blocking extensions. For example, the Banish extension for Safari, which I recommended back in 2022. At some point a year or two ago, Banish started blocking links to Apple’s App Store domain, and it did so by removing the words that link to the App Store. That’s crazy. I linked to the App Store in my own post recommending Banish, which means if you have Banish installed and read that post, you won’t see the headline of the post (nor be able to follow the link). I think there are other content blockers that do the same thing with text that links to the App Store.2

So what do I do about that? Do I stop linking to the App Store? That’s dumb. Do I create custom URL redirects for every single link I make to the App Store? That’s work I don’t need or want to do, and adds a layer of abstraction that confuses everyone who isn’t using a content blocker with such a stupid rule. So I just ignore it. But that means an untold number of readers, who are using such content blockers, are just missing words in my articles whenever I link to the App Store. Well, so be it. Ideally, content blockers “just work” — blocking only things you want blocked, never things you don’t want blocked. Nothing is perfect however. What’s pernicious about blockers that remove the actual words that link to certain domains is that that’s not expected behavior. From the reader’s perspective, it really just looks like an editing error on the part of the website, not a content blocker with an overzealous pattern-matching rule.

Ultimately, though, when you install a content blocker extension, you take responsibility for any overzealousness in what it blocks.


Let me use this opportunity to make a small personal request. The display ads on Daring Fireball are unobtrusive and limited to one per page. They are also entirely private, and always have been. There not only are no cookies or JavaScript that attempt to track you, but the ads themselves are served from the daringfireball.net domain. I turn down advertisers who request to serve images (or “tracking pixels”, which are just invisible images) from their domains. (Such requests are infrequent, thankfully.) I don’t display the ads in between paragraphs mid-article, a common practice that to me is disrespectful both to the writer and reader. In short, I try to keep the ads on Daring Fireball not merely unobjectionable, but something that actually adds to the site. I actually like the ads in certain high-quality print magazines, like The New Yorker. My goal for the ads on DF is for them to be like that.

In short, I hope they’re the sort of ads readers don’t want to block. I’m pleased to say that most of the ad-blocking content blocking extensions I’ve personally tried do not block ads on Daring Fireball by default. In other cases, they do, but it’s easy to adjust the per-domain settings to allow them. In the previous post, I recommended uBlock Origin Lite (free, a bit complex) and Magic Lasso (paid, much simpler). Magic Lasso does not block ads on DF by default. I don’t remember what uBlock Origin does by default, but it’s trivial to change it to allow them.

If you use an ad blocker and it currently blocks the ads on DF, I humbly ask you to consider taking a moment to tweak the settings to permit them. (If you are using a blocker that strips the ads from DF by default, you can do me an additional favor and shoot me a short email telling me which one. I’m curious.) If you are the developer of an ad blocker, I ask you to consider allowlisting Daring Fireball by default.

If you are a reader and you really do want to block DF’s ads, please, go right ahead. I find that an odd mindset, but it’s your web browser and your call. No hard feelings. (Please further note that I have no JavaScript code that attempts to detect whether you’re blocking DF’s ads in order to nag you.)


  1. I omitted the Markdown creating a link on the words “still ‘coming soon’” for clarity, to emphasize only the problematic link in my original prose. (Also, it’s fun to use emoji as named link definitions, like in this example.) ↩︎︎

  2. I of course reported this to the developer of Banish, twice, but he never responded. I, err, banished Banish from my own devices, and upon finishing this article, I’m going to update my 2022 recommendation of Banish to un-recommend it. ↩︎

Coiner of ‘Enshittification’ Endorses ‘Dickover’

24 July 2026 at 19:51

Speaking of dickovers, here’s Cory Doctorow, writing this week at Pluralistic:

Seizing the means of computation isn’t theft, it’s bargaining. Commercial surveillance companies will tell you that by spying on you, they are simply engaged in a marketplace exchange in which you swap your privacy for access to online services. But they are running a very curious sort of market: it’s a “market” where as soon as you stop to browse someone’s wares, the stallholder gets to reach into your pocket and clean out your wallet. In “markets,” prices are announced and bargained over, not set unilaterally and extracted from anyone unwise enough to cross the threshold.

Adblocking, dickover blocking and other customizations are a way for you to bargain back, to answer the opening bid of “How about you give me all of your data forever and let me do anything I want with it?” with “How about ‘nah?’”

Doctorow’s specific advice is to switch to Firefox for your browser and Linux as your desktop OS. You’re probably not going to do either of those things. But the spirit of his advice is that you should avail yourself of bookmarklets and browser extensions that fight back against shitty ads and dickovers. There are some great options for Safari. StopTheMadness Pro is great for creating custom rules to permanently block specific page elements. uBlock Origin Lite is a free-of-charge content blocker that is incredibly effective, and very configurable (but complicated). Magic Lasso is a paid content blocker — $30/year — which includes synced blocking on iOS, MacOS, and even Apple TV. Magic Lasso offers a much more approachable configuration interface, and includes a “just turn it on” easy-to-use private VPN feature that allows for blocking ads in all apps, including Apple News.

Bargaining back is exactly what using content blockers is. There’s no reason to feel guilty about it.

(Magic Lasso has previously been a DF sponsor, but not since May 2021. I’m recommending Magic Lasso here only as a happy paying user.)

Dickover of the Week: Tomtoc

24 July 2026 at 17:43

Here’s a real gem that a reader sent me. Tomtoc is a maker of laptop bags and sleeves. Visit their homepage and, of course, you’ll get a dickover asking you to join their mailing list “for exclusive updates and get a chance to win a free tech pouch every month.” But here’s the gem. If you do subscribe, and you decide later to unsubscribe, you get this:

Screenshot from an iPhone of Tomtoc’s “you’ve been unsubscribed from our mailing list” webpage presenting a dickover asking you to subscribe to their mailing list.

Sixers Sign LeBron James

24 July 2026 at 17:40

The betting odds for the Sixers to win the NBA championship went from 20-1 to 10-1. Here’s James on Twitter/X, explaining his decision:

This is my last decision. I’m not going for money. I’m not going for family. What am I really playing for at this point?

I still want to sacrifice. I still want to work. I still want to grind. I still want to compete, to win and to have a chance at the feeling of winning another championship.

I believe I can help make the Philadelphia 76ers a championship team and I am so excited to energize a new fan base and start this incredible journey one last time.

James signed for the league minimum for a veteran: two years at just $4 million per year. He’s going to love playing here.

The Talk Show: ‘A Scam Held Together With Patriotism and Golden Paint’

24 July 2026 at 16:44

Quinn Nelson returns to the show to discuss OpenAI’s ChatGPT/Codex “native” app migration fiasco, Siri AI in Apple’s OS 27 betas, MacOS 27 Golden Gate, and the hottest new cell phone of the year, the Trump T1.

Sponsored by:

  • Notion: Try the powerful, all-in-one Notion AI today.
  • Factor: Healthy eating, made easy. Get 50% off your first box, plus free daily greens, with code talkshow50off.
  • Squarespace: Save 10% off your first purchase of a website or domain using code TALKSHOW.

★ The Ads on Apple News Continue to Suck, but at Least There Are a Lot of Them

23 July 2026 at 20:08

Kirk McElhearn, back in February:

I use Apple News to keep up on topics that I don’t find in sources I pay for (The Guardian and The New York Times). But there’s no way I’m going to pay the exorbitant price Apple wants for Apple News+ — £13 — because, while you get more publications, you still get ads.

And those ads have gotten worse recently. Many if not most of them look like and probably are scams. Here are a few examples from Apple News today.

One of the ads he examined was, supposedly, from a small company going out of business because the proprietor — supposedly a straight-out-of-Central-Casting kind old woman — was retiring after 26 years. McElhearn looked up the domain name and it had only just been created last year, and was registered from a company in China.

Two years ago this very week, I wrote about Apple striking a deal with Taboola to sell ads for Apple News. In that post, I quoted Eric Seufert (of Mobile Dev Memo) posting on Threads:

Regarding Taboola’s partnership with Apple: I’ve seen people claim that this is somehow hypocritical from a privacy perspective, assuming that Taboola’s somewhat obnoxious, clickbait-style ads must invasively target user profiles and browsing histories.

They don’t. They are targeted entirely contextually. That’s the point.

Want brash, garish advertising plastered all over the web? Reject ads personalization. Want relevant, informed advertising? Embrace ads personalization.

Now quoting from myself in that same article:

If you told me that the ads in Apple News have been sold by Taboola for the last few years, I’d have said, “Oh, that makes sense.” Because the ads in Apple News — at least the ones I see — already look like chumbox Taboola ads. Even worse, they’re incredibly repetitious. [...]

So while I don’t think it’s good news that Apple is partnering with Taboola, I don’t expect it to make any discernible difference in the ad quality or frequency. Maybe it will improve the variety?

Privacy is not the issue with Apple’s Taboola partnership, or Apple advertising in general. The issues are quality and user experience. I was correct that the partnership has made no discernible difference in ad quality or frequency. And it hasn’t made any improvement to variety either. Here’s a collection of ads I continue to see in Apple News — often with the same ad appearing 3–4 times in the same article, as I scroll. (I posted the same image in my recent article “John Ternus Should Reverse Apple’s Slide Down the Advertising Slippery Slope”, if you’re thinking it looks familiar.)

The ads I see in Apple News are not relevant or informed. And, to be clear, I have “Personalized Ads” turned on in Settings → Privacy & Security → Apple Advertising (which makes me wonder if turning that off might actually make the ads even worse). The ads shown in the App Store never seem contextually relevant to me. So I have no faith that the ads that Apple is supposedly on the cusp of serving in Apple Maps are going to be good.

Back in March I wrote:

I’m not going to prejudge the actual experience, and you shouldn’t either. I also do not begrudge Apple for wanting to monetize Maps. But if the addition of ads does make the Apple Maps experience worse, why won’t Apple let us buy our way out of seeing them? Netflix doesn’t force us to watch their ads. YouTube Premium is arguably the best bang-for-the-buck in the entire world of content subscriptions. Why should Apple One subscribers still see these ads in Apple Maps?

This to me is proof that Apple leadership is suffering from cognitive dissonance over their slide into advertising. They’re conflating cause and effect. The Apple brand stands for high-quality superior user experiences because the devices and software Apple makes traditionally deliver high-quality superior user experiences. The work Apple ships is what makes the brand what it is. But now they’re stricken with the mindset that it’s the Apple brand that makes something a high-quality superior experience. If it comes from Apple it must be great — that sort of thinking. The ads in Apple News and the App Store can’t be detrimental to the user experiences and at times even embarrassingly crude or downright scammy because Apple doesn’t ship things that are detrimental to the user experience or embarrassingly crude — and certainly never with even a whiff of scamminess.

My theory is that’s why Apple isn’t allowing users to buy our way out of the ads. When streaming services like Netflix let you pay more money for ad-free tiers, it’s an explicit acknowledgement that the experience with ads is worse. Apple doesn’t offer ad-free tiers for the App Store or (soon) Apple Maps1 because, I think, they can’t bring themselves to admit that by adding ads to these services they have made them worse. If you refuse to admit that the ads make these services worse, you also can’t admit that there’s a reason to offer an ad-free experience. So the thinking is something like “Apple always focuses on the user experience, and never deliberately makes the user experience worse. Therefore, if an Apple service shows ads, those ads are high quality and don’t detract from the quality of the product or the experience of using it. Therefore, there’s no reason to offer users a paid ad-free tier, because there’s no reason to want to avoid Apple’s ads.”

It’s a textbook case of Upton Sinclair’s famous adage: “It is difficult to get a man to understand something, when his salary depends upon his not understanding it.” The obvious truth is that Apple’s ads just plain suck. They are not good at advertising-based services. And it shouldn’t be surprising that they’re not good at advertising-based services, because the incentives for advertising-based services are in direct opposition to the incentives for everything Apple actually is good at. To wit: offering superior products worth paying a premium price for.

One can argue that an ad-free Apple Maps experience ought to be included with the price of the devices Apple sells (which, of course, has been true until now). It’s even easier to argue that the App Store ought to be ad-free for everyone, based on its exclusive role in software distribution and the 15–30 percent commission Apple takes on every transaction. But if Apple simply made the App Store and Apple Maps ad-free for users paying for iCloud+ or Apple One, I’d stop complaining. That would make it clear: the full Apple experience requires not just an Apple device, but an Apple subscription. But the way things stand now, that ad-free experience isn’t even available.


  1. Apple News is different because the inclusion of ads is controlled by the publishers, not by Apple. If you read Daring Fireball on Apple News, for example, you don’t see their crummy chumbox ads, because I don’t participate in that system. Most of the cringe-inducing ads I see in Apple News are seemingly sold through Apple Ads, though, so I’m not arguing that Apple isn’t ultimately responsible for the Apple News reading experience. I’m saying they can’t just flip a switch and offer a paid-subscription no-ads Apple News experience without the agreement of every single participating publisher. The App Store and Apple Maps, however, are services under Apple’s complete control. Every ad shown in those apps is Apple’s choice to show. ↩︎

John Dvorak on Computer Chronicles in 1987 to Discuss the Then-New IBM PS/2

23 July 2026 at 18:45

Dvorak is best known for all the takes he was jacktastically wrong about, but what gave his schtick staying power is that he was technically savvy. His take here on the PS/2 was actually spot-on: that it was technically impressive in many ways, especially the way it was assembled without any cables, but that it was doomed in the market against ugly mess-of-cables commodity PCs.

“Computer Chronicles” was the real show from the 1980s that Adam Lisagor so lovingly and spectacularly spoofed with “Computer Show” a decade ago.

John Dvorak Drops Dead at 80

23 July 2026 at 18:10

William Gallagher, AppleInsider:

Legendary technology columnist, pundit, author and podcast host John C. Dvorak has died, age 80. He is survived by his wife Mimi Dvorak.

Today Dvorak is best known for co-hosting the “No Agenda” podcast with Adam Curry, where he would critique mainstream news media. His death was first announced by the podcast on X, although note that Dvorak’s age is mistakenly given as 74.

From the No Agenda News newsletter yesterday:

For a man who spent decades famously predicting the catastrophic demise of almost every major technological innovation, it is with the heaviest of hearts we must announce that John’s own hardware finally gave out on Monday morning, July 20th, 2026, at the age of 80. He went peacefully, albeit suddenly, with Mimi at his side, critiquing the acting and story line of NCIS.

His death truly seems quite sudden — the most recent episode of No Agenda dropped on Sunday, the day before he died.

Flighty New Connection Assistant Feature

23 July 2026 at 16:41

Chance Miller, 9to5Mac:

Flighty’s new Connection Assistant feature includes step-by-step information for your specific connection. This includes things like terminal changes, security checkpoints, passport control, and more. Connection Assistant also gives you estimates of how long each step of making a connection usually takes.

“The new Connection Assistant combines Flighty’s best-in-class flight tracking data with airport-specific procedures and statistical modeling of millions of prior flights, and then turns it all into guidance for your exact trip,” the Flighty team explained in a press release today.

I don’t know what the equivalent term to “Mac-assed” should be for iPhone apps, but whatever it is, Flighty epitomizes it. Incredibly useful for what it does, exemplary for how it looks and feels and is visually organized. It is as iOS-assed as an app can be.

★ European Commission: ‘Guidance to Google for AI Interoperability on Android & Sharing of Google Search’

21 July 2026 at 23:49

The European Commission, last week:

Today, the European Commission has issued two sets of binding specification measures to Google under the Digital Markets Act.

The aim of the first specification measures is to ensure that competitors’ Artificial Intelligence (AI) services can compete with Google’s own AI services, such as Gemini, by having equal access to features on Google’s Android devices.

The aim of the second specification measures is to rebalance the playing field by giving third-party search engines access to search data that only Google Search can collect at scale.

They provide separate “Q&A” overviews of the guidance for Android AI interoperability and web search sharing, and the full guidance documents are PDFs (Case DMA.100220 for Android AI, Case DMA.100209 for web search). I suggest reading the two Q&A overviews, unless you’re having trouble falling asleep at night, in which case you’ll love the full PDF decisions.

Both decisions are interesting. With search, Google is required to share with competitors — search engines and AI chatbots alike — a massive amount of user data from Google Search user interactions. What terms people search for, what they click on in results, what languages and devices they use. It’s all ostensibly anonymized but that’s tricky when it comes to search terms. A lot of the terms people type into web search fields are to some degree personally identifying. The EC seems to be saying it’s Google’s problem to filter out things like passwords and usernames and omit them from the shared datasets. Google can charge money for this access, but only under “fair, reasonable, and non-discriminatory (FRAND)” prices, based on a Commission-defined methodology.

More interesting to me, however, is the guidance pertaining to on-device AI on Android devices. What the EC is dictating to Google is just breathtaking in scope. The EC is demanding that Google create APIs that allow third-party AI assistants to do everything Google Gemini does now, including:

  • Control hardware buttons (to invoke the assistant).
  • Capture anything on screen, from any app.
  • Seemingly unfettered access to microphones and cameras and other sensors on the device.
  • Unfettered background operation. Third-party AI assistants must be permitted to execute in the background whenever they want, for as long as they want.
  • Execute their own audio models on the digital signal processor, so they can listen at all times for their own custom “Hey Dingus” wake phrases/hot words.
  • Google must allow concurrent access to always-on hot word detection. So if you have Claude and ChatGPT and Grok and Meta AI installed, all of them — in addition to Gemini — must be permitted to have always-on audio detection concurrently. Google is permitted to do some vetting here, but this seems like madness.
  • Third-party models get access to Google’s on-device local models.

Also, in my reading, the EC is demanding that Google make available to third-party AI assistants all information in Google’s own apps (Gmail, Google Calendar, Google Docs, Google Maps, etc.) that Gemini has access to. There is no opt-out for Google regarding data from their own apps. Nor, I think, does this guidance allow third-party apps from other developers to only support specific system-level AI models. Like, let’s say you’re Slack, and you use the APIs to make the content from within Slack available to Gemini on the device. These guidelines don’t permit Google to allow Slack to say that they trust Gemini but only Gemini. If a third-party app like Slack supports making its data available to any system-level AI provider, it must make its data available to every system-level AI provider.

There’s a lot more. Basically, though, the EC is demanding that third-party AI assistants be enabled to become part of the system software, not just apps. I’m sure some people think this is a great idea. It’s the user’s device, they should be allowed to make ChatGPT or Claude or Meta AI part of their OS if they want. It’s up to them. Put users in control.

This is how PCs have traditionally worked, but many normal people’s PCs are a mess of third-party software running in the background. That includes the Mac. If you ask a normal person “What third-party software runs in the background on your Mac or PC?” they would have no idea. It’s all just magic to them. If Google supports this guidance, it could turn Android phones in the EU into PCs. Honestly, some of the stuff the EC is requiring is lower-level than what MacOS and Windows allow third-party software to do.

What the EC’s “guidance” describes in this document is an entirely different operating system than the Android that Google has designed. The European Commission obviously thinks it is their place to design operating systems. Maybe you do too. Google obviously disagrees, and so does Apple. And so should most people who have any idea how these devices work. This is a recipe for disaster, if Google were to enact it and third-party AI assistants took advantage of it.

That second “if” is a big one. One possible scenario that I consider quite likely is that Google could spend years of engineering time and human resources building out APIs to enable all of this, in the safest and most private ways possible, and no major AI assistant adopts it. That’s the way it’s turned out with a whole slew of DMA compliance for Apple and Google. Apple built an entire complex set of APIs to enable third-party web browser rendering engines, exclusively for compliance with the DMA, and there exist no third-party web browser rendering engines for iOS. Not one. Because while the EU is a big market, it’s not big enough to justify building a custom web browser just for the EU alone.

Ways I can see this playing out, in order of likelihood (most likely first):

(A) Google enacts all of this and no major AI assistants support it because it’s only for Android, only in the EU. And it’s not like ChatGPT and Claude are seeing a lack of usage as things stand now. In this scenario Google just wastes massive time and engineering talent building APIs that never get used, and Android users in the EU get hassled with additional annoying choice and permission screens just to use the Gemini features that are built into Android.

(B) Google enacts all of this and major AI assistants do support it. Unintended results include massive privacy violations where third-party assistants exfiltrate on-device data to the cloud, Meta uses on-device third-party data for the targeting of ads, and users who take advantage of these third-party assistants see significant battery life drain as third-party assistants run without limits in the background and run expensive inference locally to save on their own server costs.

(C) Google enacts all of this, major AI assistants do support it, and there are no privacy scandals, nor any issues with battery life, because each of the companies that makes these assistants develops them with respect for user privacy and for device resources like CPU and memory consumption.

(D) Google pulls system-integrated Gemini from Android in the EU, or severely restricts its capabilities. Rather than elevate third-party assistants from apps to system software, demote Gemini to the privileges of a mere app and leave Android users in the EU without a system-integrated AI assistant.

Under all scenarios, future feature updates to system-level AI in Android will appear late or never in the EU. No future new features can debut in the EU at the same time as the rest of the world because for DMA compliance, Google will need to add support for third-party assistants to do the same things. And they’re not going to hold new features for the rest of the world waiting for that.

I’m not even sure (D) is permitted under this Commission guidance, given that Google started shipping Gemini on Android last year. The entire guidance document is written under the presumption that Google will comply by building the APIs that the guidance demands, not by achieving parity by removing Gemini system integration features. It would be awkward and unpopular for Google to ship updates to Android that remove core AI features, but that might be more palatable than the alternative.1 Note that with iOS, to my recollection, Apple hasn’t pulled any existing features from the EU. They’ve only withheld or delayed new features. Google’s on-device Gemini horse is already out of the barn.

Lastly, although this guidance document pertains to Android, not iOS, I see no reason to think the European Commission wouldn’t demand all or most of the same things from Apple. They haven’t given Apple any guidance yet, because it’s European Commission policy to give guidance only after a DMA-designator gatekeeper ships something that is then ruled non-compliant. But it’s hard to imagine Apple accepting most of these terms. Unfettered background processing and access to the microphone, cameras, and sensors? Third-party audio models running on the hardware DSP listening for wake words? Granting third-party assistants unsupervised access to all user data from apps published using App Intents?

Apple unfortunately hasn’t shared any technical details describing its proposal for a “Trusted System Agent” that it shared with the EC last year. But whatever Apple’s vision for the Trusted System Agent is, I don’t see how the EC would deem it compliant with the DMA if they want from Apple anything close to what they are now demanding from Google. There are no checks and balances or oversight that Google is permitted to apply to third-party assistants in this guidance. If Gemini can do something, third-party agents must be able to as well. Because Gemini gets to run in the background as much as Google sees fit, third-party assistants must be permitted to run in the background as much as they see fit. And if those third-party assistant developers — OpenAI, Anthropic, xAI, and Meta — have different opinions than Google on how much CPU usage is appropriate in the background, how much RAM and storage is appropriate to consume, or how respectfully to treat users’ on-device data, well that’s just tough noogies. If the user OK’s it, then it’s OK.

A month ago, after WWDC, when this guidance pertaining to Android AI was rumored to be forthcoming, I wrote:

Google is learning the lesson Apple learned the hard way with all the existing features of iOS that were deemed noncompliant with the DMA when it went into effect. The “ship it first and ask forgiveness / hope it’s deemed compliant” strategy is not a good one in the EU.

I genuinely wonder what the European Commission thinks the purpose of Android is. Google created Android for the benefit of its own services. Google was worried about Microsoft, not Apple, at the time, but they wanted to ensure their own services were available on a major mobile platform. I’m really not seeing how it’s more attractive to Google to comply with this guidance than to just pull system-level Gemini in the EU. Either they waste a small fortune building APIs no one will use, or, they spend that small fortune buildings APIs for the benefit of their biggest competitors. I get it that that’s the intended price to pay for being a designated DMA gatekeeper. But what’s the motivation for Google to do this rather than just walk away from system-integrated AI on Android in the EU? It certainly doesn’t look like the competing platform, iOS, is going to offer it in the EU anytime soon either.


  1. If you are handed a mandate that everyone must be able to run at the same speed, and you can’t figure out how to make slow people faster, you can comply by forcing the fast to wear weighted boots. This is where utopian egalitarian initiatives often lead. ↩︎

[Sponsor] WorkOS MCP: Manage Your Auth Platform From Any AI Agent

Debugging SSO, managing users, adjusting auth policies, configuring branding: every configuration task has lived behind a UI that only a human can drive.

The WorkOS MCP server gives agents the same access as your dashboard login. Hundreds of operations, discoverable at runtime. Connect in one command via OAuth, with scoped tokens instead of a master API key. Pass a screenshot of your marketing site and ask your agent to match the login page. If a human had to do it before, an agent can do it now.

Connect your agent →

‘Who’s Afraid of Chinese Models?’

20 July 2026 at 17:27

Ben Thompson, on the hype regarding Kimi K3, at Stratechery:

This is a point that bears repeating: because U.S. open weight model makers must follow the frontier labs’ terms of service, they (1) are worse than Chinese alternatives and (2) end up distilling the distillation, just with a detour through Chinese labs. Wouldn’t it be better if western open weight model makers could go to the source?

To that end, here’s an even more interesting question around distillation: why exactly is it bad? After all, what are large language models but the distillation of all of the knowledge on the open Internet, scraped by the frontier labs and distilled into the models that are themselves being distilled? Who is exactly being wronged here?

In fact, this paradox is the solution. I believe that open weight models are good for innovation (and, per the above, I think that labs on the frontier will be fine), but it’s a problem to be dependent on China. The U.S. should pass a law that (1) makes explicit that collecting data for training models is fair use, and (2) bars terms of service that forbid distillation, for U.S. companies at a minimum. Stopping distillation — which is literally just querying the API — is nearly impossible; the U.S. should go the other way and lean into a new copyright policy that both indemnifies the labs and also guarantees that what they learned fuels further innovation for everyone else.

To be clear — and Thompson emphasizes this point too — the leading Chinese models like K3 aren’t good only because of distillation. They’re not entirely rip-offs. But distillation is clearly an essential part of the formula they’re using to keep releasing models that are 6–9 months behind the U.S. frontier state of the art. So the Chinese treat all models as “open”, regardless of the terms of service. But anyone in the U.S. or other western countries that respect copyright — or contracted terms of service — who wants to distill a good model has to wait for the Chinese to release their models, like K3.

And that second paragraph I quote above distills (sorry) exactly why I want to bring out the world’s smallest violin to play a sad song for OpenAI and Anthropic regarding their objections to their frontier models being distilled against their terms of service.

Paper

19 July 2026 at 23:31

My thanks to Paper for sponsoring last week at DF. Paper is a new professional design tool where every layer is real HTML and CSS. Your design is already code, which means fewer handoffs, translations, and layers of abstraction between what you design and what you actually ship.

Paper works both ways: code to design, and design to code. Connect any AI agent through MCP and the agent can read and edit your designs. Or use Paper Snapshot to capture your live site as editable layers and make new iterations. Agents handle the tedious work so you can focus on your craft and the decisions that matter.

Try Paper at paper.design (great domain name), and check out the documentation and FAQ for more info.

9to5Mac Uncovers Dozens of Disguised Gambling Apps on the App Store in Brazil

19 July 2026 at 18:18

9to5Mac:

Brazilian users browsing the App Store rankings in categories such as Navigation, Travel, and Weather have noticed a growing number of poorly made games appearing among the top results, many of them featuring AI-generated illustrations of animals as their app icons.

As it turns out, these are so-called jacket apps, which are just a front for hidden betting and gambling apps. A 9to5Mac investigation has uncovered more than 60 apps that behave exactly as depicted in their App Store screenshots when accessed from virtually anywhere in the world, except Brazil.

When opened from a Brazilian IP address, the same apps instead reveal online betting platforms, as shown in the example below, which is currently the top app in the Weather category.

Obviously the main problem is that these apps disguise themselves Trojan Horse-style, and slip through App Store review undetected. I don’t think it’s reasonable to think App Store review could catch every attempt at this sort of thing though — if the horses are disguised well-enough, some of them are going to slip through. That’s actually fine.

But the first example 9to5Mac cites isn’t well disguised at all. What sense does it make that “PotatoPlot Puzzle” — a game featuring a rabbit potato farmer — is a weather app? How is that not a red flag right there?

Also, this app rose to become not just popular, but the number one weather app in Brazil, a nation with over 200 million citizens. In my yearslong argument that Apple should commission an internal bunco squad dedicated to hunting down scammers in the App Store, I always mention that the point of such a squad shouldn’t be to make the App Store 100 percent scammer-free — which I believe is an impossible goal that would set the team up for failure. The point should be only to make the App Store free of successful scams. Focus on the most popular apps and the most lucrative apps. There’s simply no feasible excuse for PotatoPlot Puzzle to have become the most popular “weather app” in Brazil.

Update: Apple issued a statement to 9to5Mac:

The company thanked 9to5Mac for its investigation and added that, prior to our reporting, it had already investigated and taken action against 25 similar apps, while also terminating the developer accounts associated with them.

★ Mornings in Cupertino Have the Aroma of Napalm Once Again

19 July 2026 at 01:38

‘It Seems You Have a Different Policy’

Ben Thompson, in a subscriber-only Stratechery update Tuesday:

I got a fun email from former Apple executive, Nest founder, and one-time Stratechery Interview subject Tony Fadell in response to yesterday’s Update about Apple suing OpenAI (published with permission):

Good article as always… This is Apple’s typical tactic to scare Apple employees — either former or current. I heard this lawsuit was driven by the Apple board.

Steve threatened to file a lawsuit against Nest for poaching 80-100 Apple employees. He called me, screamed for a while with lots of accusations. Then I said, “Steve, it’s Apple’s job to retain its talent, not mine.” He stopped his rant and then we went on to talk about our families and vacation plans. We kept hiring…

This sounds about right — and in terms of the Steve Jobs angle, John Gruber made a compelling case on Dithering that this lawsuit may very well have been driven by John Ternus channeling his inner Jobs.

Fadell, of course, is correct that it’s Apple’s job to retain its talent. Recent reporting from Mark Gurman suggests that John Ternus is keenly aware of this, at least as it pertains to Apple’s industrial design team, which has been ground zero for the Apple-to-OpenAI recruitment pipeline. (And the Dithering episode Thompson references is the one we made free-to-listen this week.)

Playing hardball when it comes to poaching is deeply embedded in Apple’s DNA. Steve Jobs hated Apple employees getting poached. In 2005 he sent this email to Adobe CEO Bruce Chizen:

From: Steve Jobs
To: Bruce Chizen
Date: Thursday, May 26, 2005 9:36 AM
Subject: Recruiting

Bruce,

Adobe is recruiting from Apple. They have hired one person already and are calling lots more. I have a standing policy with our recruiters that we don’t recruit from Adobe. It seems you have a different policy. One of us must change our policy. Please let me know who.

Steve

After one back-and-forth exchange with Jobs, Chizen agreed Adobe would change its policy.

A more contentious example came in August 2007, when Jobs sent an email to Palm CEO Ed Colligan that read:

From: Steve Jobs
To: Ed Colligan
Date: Sunday, August 26, 2007 11:42 am
Subject: Fwd: Your proposal

Ed,

This is not satisfactory to Apple. It is not just a matter of our employees deciding they want to join Palm. They are being actively recruited using knowledge supplied by Jon Rubenstein [sic] and Fred Anderson, with Jon personally participating in the recruiting process. We must do whatever we can to stop this. I’m sure you realize the asymmetry in the financial resources of our respective companies when you say: “We will both just end up paying a lot of lawyers a lot of money.”

Just for the record, when Siemens sold their handset business to BenQ they didn’t sell them their essential patents but rather just gave them a license. The patents they did sell to BenQ are not that great. We looked at them ourselves when they were for sale. I guess you guys felt differently and bought them. We are not concerned about them at all. My advice is to take a look at our patent portfolio before you make a final decision here.

Steve

That’s a good email. Information dense. My favorite part isn’t the “I’m sure you realize the asymmetry in the financial resources of our respective companies”, although that’s good. It’s the “I guess you guys felt differently and bought them.” Stone cold.

Some backstory on the players:

Colligan, of course, is Mr. “PC guys are not going to just figure this out. They’re not going to just walk in.” He was a business guy who thought product guys didn’t matter in an industry that was about to be taken over by product guys. Sort of like Steve Ballmer, without the charisma, at a much smaller company.

Jon Rubinstein1 was a hardware engineering executive at Apple, overseeing Mac hardware during the comeback years after Steve Jobs returned, then switching to oversee the newly-created iPod division in 2004. (Mac hardware then went under the supervision of a then-little-known operations executive referred to in the announcement as “Timothy Cook”.) Rubinstein left Apple in early 2006, citing exhaustion.2 His departure was announced six months earlier, alongside the promotion of Cook to COO. By 2007 Rubinstein was involved with Palm, by way of Elevation Partners, an investment firm that took a 25 percent stake in Palm. He became CEO of Palm in 2009, tried to turn it around, and then wasted a few years as an executive at HP after HP bought Palm’s carcass thinking it was still alive.

Fred Anderson was Apple’s CFO from March 1996 (almost a year before the NeXT reunification) to June 2004 — the nail-biting, at-times-near-bankruptcy turnaround years. Anderson took the fall, perhaps unfairly, for the stock options backdating scandal under Steve Jobs and, after leaving Apple, paid a $3.5 million fine in a settlement with the SEC. Needless to say, in the summer of 2007, there was bad blood between Anderson and Apple. Anderson, post-Apple, was a co-founder of Elevation Partners and had recruited Rubinstein to join.

Some bad blood. Some former high-level Apple executives putting a team of ex-Apple engineers and designers together to take on the iPhone. History doesn’t repeat, but it often rhymes.

If in addition to thinking that this sounds familiar, you also think these emails sound illegal, you may recall that in 2015, Apple (along with Google, Adobe, Intel, and other companies) paid a collective $415 million penalty to settle a class-action anti-poaching lawsuit. That they settled doesn’t mean they regret playing hardball. Rules are only followed by those who fear the penalties.

Jobs liked to fight, and wasn’t afraid to let his temper show. Tim Cook has a fierce temper and steel nerves, but he arguably only once, ever, showed it in public. I do not think he relishes a fight. He’s a diplomat, not a general. I suspect there’s no undiscovered tranche of Jobs-style stone-cold threatening emails from Cook to competing CEOs.

Steve Jobs’s oft-cited parting advice to Tim Cook was “Don’t ask what I would do. Just do the right thing.” Cook has largely lived by that mantra. But maybe — maybe — by taking that advice to heart, he has at times deliberately steered the company in ways Jobs would not have, just for the sake of steering it in a different way. I think maybe John Ternus is more of a “Hey, what would Steve have done here?” kind of guy.

On the one hand, this lawsuit is a bad look for Apple. It could be perceived that Apple does not think their employees are free to leave and compete against them. On the other hand, Apple could use a booster shot of Steve Jobs’s “us against the world” attitude. It might be wrong to start a war, but it’s never wrong to finish one after being attacked.

What would Steve Jobs do with this OpenAI situation? He’d go to war.3

‘This Is Not Satisfactory to Apple’

The early history of the Macintosh GUI went something like this: When the Macintosh debuted in 1984 it didn’t hit like Apple had hoped it would. (That’s when Steve Jobs was run out of the company.) But by the late 1980s it had caught on, especially in markets like design and desktop publishing. It was the only GUI game in town — command-line DOS PCs were popular, but Windows 1.0 was almost too primitive to believe and Windows 2 wasn’t much better. Apple was certain that the WIMP GUI was the future of computing, and because the Macintosh was the only credible GUI then on the market, Apple owned the future of computing. They were correct about one of those things. Because then came Windows 3, which still sucked — still was ugly, still was terribly designed, still severely limited compared to the Mac in its UI grace and vocabulary of actions — but, it didn’t suck as much. It wasn’t good but it was good enough for the corporate IT market, and the corporate IT market drove the industry at the time.

In the early 1990s John Sculley filed and pushed the infamous “look and feel” lawsuit against Microsoft. One year out from the launch of Windows 95 — which at least looked pretty good4 — Apple’s response was to try to argue in court that they owned the copyright and patent rights to the very concepts of the GUI and the desktop metaphor. The court handed Apple its ass. Apple soon found itself 90 days away from bankruptcy and in desperate need of a new modern operating system, which they themselves had proven incapable of creating. Windows 95 launched with such anticipation that customers lined up overnight outside retail stores to buy it the morning it launched.

That lawsuit was the low point in the entirety of Apple’s history. It was incoherent and, worse, pathetic. Incoherent because Apple was simultaneously arguing in marketing that the Mac remained vastly superior to Windows (“C:\ONGRTLNS.W95”), while arguing in court that Windows was a feature-for-feature clone. It couldn’t be both. I would argue that the former was true — the Mac remained superior in many ways — but actions speak louder than words and Apple’s action was to sue Microsoft and lose. It was pathetic because you know who loses? Losers.

The correct response to the competitive threat of Windows wasn’t to futilely attempt to argue that Windows should not be allowed to exist. It was to make the Macintosh so much better than it already was — to inject so much new innovative insane greatness — that customers would line up overnight to buy Mac software (and watch Apple keynotes). What Microsoft had in 1995 that Apple could not muster was vast customer enthusiasm. That cannot be bought. It cannot be faked. It can only be earned. And you sure as shit cannot stop it with a lawsuit.

Earning that sort of consumer enthusiasm — in spades — is exactly how Steve Jobs pulled Apple out of its nosedive. It took the better part of a decade.

When Apple announced this new lawsuit last week against OpenAI, I wondered, at first, whether it had a whiff of that 1994 look-and-feel loser desperation. Is it Apple’s position that the only way to stop its talent exodus to OpenAI is in court? Upon consideration, I think not. First, it’s not incoherent. There’s no conflict between what Apple is saying about its products or itself as a company that is at odds with this lawsuit. They’re just saying, “Fuck you, you goddamn traitors. You want to fuck with us? We’ll fuck with you.” When you poke a bear — 400 times — you better be ready for the bear to eventually react.

Further, while Apple can only have one CEO at a time, and that CEO remains Tim Cook until September 1, there’s no way that John Ternus doesn’t fully approve of this lawsuit. Cook has gone out of his way to leave Ternus with a clean plate. It would be insane to file this suit six weeks ahead of Ternus taking the helm if Ternus is anything short of fully on board.

I’m not saying it’s a good look for Apple. I’m certainly passing no judgment on the merits of the case, which OpenAI hasn’t yet responded to legally. But it is a very different and much more emotional reaction than we’ve seen under Tim Cook. Those anti-poaching emails Steve Jobs sent to Adobe, Palm, and Google weren’t good looks for Apple either. But that doesn’t mean they were bad for Apple. A bad look can be a good thing. Passion is powerful, and in and of itself, inspiring. This is a passion-fueled lawsuit. I saw some commentators speculate that, already hemorrhaging cash on a daily basis, OpenAI will surely spew some of that in the direction of Cupertino and just settle it. But Apple doesn’t need cash. This is a lawsuit that I believe OpenAI cannot settle, because there is no settlement Apple would accept short of a dissolution of their entire hardware division.

Apple claims in their complaint that the trade-secret chicanery they’ve already documented “is the tip of the iceberg”. If Apple is wrong, and OpenAI has recruited above the board and hired 400 former Apple employees fair and square (or even just mostly fair and mostly square), they have nothing to fear, and John Ternus will look like a petty little jealous bitch, and a feckless one at that. If Apple is right, however, all bets are off. I said earlier that rules are only followed by those who fear the penalties. But some never consider the penalties in the first place because they believe the rules don’t apply to them. Sometimes they find out otherwise.

I’m not saying OpenAI cannot win. I’m saying they can’t get Apple to settle — at least not until Apple is satisfied the whole iceberg has been revealed through discovery. Until then, John Ternus’s offer to Sam Altman is nothing — not even the fee for the gaming license, which he would like Altman to put up.


  1. Jobs might be forgiven for misspelling Rubinstein’s surname in his email to Colligan. Everyone called him “Ruby”. Perhaps akin to misspelling Greg Joswiak’s name as “Jozwiak” because everyone just calls him “Joz”. ↩︎

  2. I think it’s more likely that Rubinstein wore out his welcome at Apple. Here, I turn to Walter Isaacson’s Steve Jobs, which has some remarkable reporting on the situation. Quoting from Chapter 35, “Round One” (which chapter title refers to Jobs’s first bout with the cancer that eventually did him in), pp. 459–460 in the print edition:

    In the fall of 2005, after returning from his medical leave, Jobs tapped Cook to become Apple’s chief operating officer. They were flying together to Japan. Jobs didn’t really ask Cook; he simply turned to him and said, “I’ve decided to make you COO.”

    Around that time, Jobs’s old friends Jon Rubinstein and Avie Tevanian, the hardware and software lieutenants who had been recruited during the 1997 restoration, decided to leave. In Tevanian’s case, he had made a lot of money and was ready to quit working. “Avie is a brilliant guy and a nice guy, much more grounded than Ruby and doesn’t carry the big ego,” said Jobs. “It was a huge loss for us when Avie left. He’s a one-of-a-kind person — a genius.”

    Rubinstein’s case was a little more contentious. He was upset by Cook’s ascendency and frazzled after working for nine years under Jobs. Their shouting matches became more frequent. There was also a substantive issue: Rubinstein was repeatedly clashing with Jony Ive, who used to work for him and now reported directly to Jobs. Ive was always pushing the envelope with designs that dazzled but were difficult to engineer. It was Rubinstein’s job to get the hardware built in a practical way, so he often balked. He was by nature cautious. “In the end, Ruby’s from HP,” said Jobs. “And he never delved deep, he wasn’t aggressive.”

    There was, for example, the case of the screws that held the handles on the Power Mac G4. Ive decided that they should have a certain polish and shape. But Rubinstein thought that would be “astronomically” costly and delay the project for weeks, so he vetoed the idea. His job was to deliver products, which meant making trade-offs. Ive viewed that approach as inimical to innovation, so he would go both above him to Jobs and also around him to the midlevel engineers. “Ruby would say, ‘You can’t do this, it will delay,’ and I would say, ‘I think we can,” Ive recalled. “And I would know, because I had worked behind his back with the product teams.” In this and other cases, Jobs came down on Ive’s side.

    At times Ive and Rubinstein got into arguments that almost led to blows. Finally Ive told Jobs, “It’s him or me.” Jobs chose Ive. By that point Rubinstein was ready to leave.

    There’s a strong whiff of “You can’t fire me, I’m retiring” in the air when someone claims they were ready to leave after Jony Ive issued a “him or me” ultimatum. That’s like saying you’re ready to leave the pub after the bartender rings the bell for last call.

    I’d end this footnote here, but the very next passage is too apt to omit:

    He and his wife had bought property in Mexico, and he wanted time off to build a home there. He eventually went to work for Palm, which was trying to match Apple’s iPhone. Jobs was so furious that Palm was hiring some of his former employees that he complained to Bono, who was a cofounder of a private equity group, led by the former Apple CFO Fred Anderson, that had bought a controlling stake in Palm. Bono sent Jobs a note back saying, “You should chill out about this. This is like the Beatles ringing up because Herman and the Hermits have taken one of their road crew.” Jobs later admitted that he had overreacted. “The fact that they completely failed salves that wound,” he said.

    ↩︎︎

  3. One can argue that this whole situation never would have happened if Steve Jobs were still alive, because if he were, Jony Ive, Tang Tan, Evans Hankey, et al. would still be at Apple, and there would be no io. But that’s like saying maybe if someone in the 1910s had given Hitler more encouragement as a painter, none of this would have happened either. I enjoy fictional alternative histories as much as the next guy, but I’m more interested in the question of how Jobs would respond, right now, to the actual current situation. ↩︎︎

  4. A small irony is that the look-and-feel of Windows 95 borrowed much more from NeXTStep than it did from System 7. The look and layout of windows themselves; the use of gray, not white, as the default background color for the UI chrome; the chiseled 3D look — it’s almost inarguable that the Windows 95 look was ripped off from NeXT. Microsoft even copied from NeXT the window-close button going in the top right, not top left, and marking it with an “×” glyph, which the Mac never did. ↩︎︎

❌