This is a valid RSS feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 254, column 1371: (79 occurrences) [help]
... he authors observed.</p></blockquote>]]></content:encoded>
^
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<channel>
<title>Michael Tsai</title>
<atom:link href="https://mjtsai.com/blog/feed/" rel="self" type="application/rss+xml" />
<link>https://mjtsai.com/blog</link>
<description></description>
<lastBuildDate>Fri, 15 Aug 2025 21:09:42 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly </sy:updatePeriod>
<sy:updateFrequency>
1 </sy:updateFrequency>
<generator>https://wordpress.org/?v=6.2.2</generator>
<item>
<title>Woz’s Ongoing YouTube Lawsuit</title>
<link>https://mjtsai.com/blog/2025/08/15/wozs-ongoing-youtube-lawsuit/</link>
<comments>https://mjtsai.com/blog/2025/08/15/wozs-ongoing-youtube-lawsuit/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 15 Aug 2025 19:19:46 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Bitcoin and Cryptocurrency]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[History]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Steve Wozniak]]></category>
<category><![CDATA[Web]]></category>
<category><![CDATA[YouTube]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48931</guid>
<description><![CDATA[CBS (via John Gruber): Steve Wozniak, who helped introduce new technologies by inventing the earliest Apple computers, is sounding the alarm about one of the great threats of this new Information Age: internet fraud. He talks with correspondent John Blackstone about fighting for the victims of online scams involving AI, cryptocurrency and faked messages, and […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.youtube.com/watch?v=CLpmjXRQf6k">CBS</a> (via <a href="https://daringfireball.net/linked/2025/08/15/woz-on-slashdot">John Gruber</a>):</p>
<blockquote cite="https://www.youtube.com/watch?v=CLpmjXRQf6k"><p>Steve Wozniak, who helped introduce new technologies by inventing the earliest Apple computers, is sounding the alarm about one of the great threats of this new Information Age: internet fraud. He talks with correspondent John Blackstone about fighting for the victims of online scams involving AI, cryptocurrency and faked messages, and about his yearslong lawsuit against YouTube seeking what he considers better protections for consumers – a fight made harder by the government’s legal protections for online publishers.</p></blockquote>
<p>They mean <a href="https://en.wikipedia.org/wiki/Section_230">Section 230</a>. YouTube will promptly remove copyright violations, but even after Woz reported that his likeness was being used to promote Bitcoin scams, it wouldn’t take them down. His litigation has been stalled for five years.</p>
<p>Woz just turned 75 and took some time on his birthday to <a href="https://yro.slashdot.org/comments.pl?sid=23765914&cid=65583466">comment</a> on <a href="https://yro.slashdot.org/story/25/08/10/1938248/its-steve-wozniaks-75th-birthday-whatever-happened-to-his-youtube-lawsuit">Slashdot</a> (via <a href="https://news.ycombinator.com/item?id=44903803">Hacker News</a>):</p>
<blockquote cite="https://yro.slashdot.org/comments.pl?sid=23765914&cid=65583466"><p>I gave all my Apple wealth away because wealth and power are not what I live for. I have a lot of fun and happiness. I funded a lot of important museums and arts groups in San Jose, the city of my birth, and they named a street after me for being good. I now speak publicly and have risen to the top. I have no idea how much I have but after speaking for 20 years it might be $10M plus a couple of homes. I never look for any type of tax dodge. I earn money from my labor and pay something like 55% combined tax on it. I am the happiest person ever. Life to me was never about accomplishment, but about Happiness, which is Smiles minus Frowns. I developed these philosophies when I was 18-20 years old and I never sold out.</p></blockquote>
<p><a href="https://www.cbsnews.com/news/steve-wozniak-on-fighting-internet-scams/">John Blackstone</a>:</p>
<blockquote cite="https://www.cbsnews.com/news/steve-wozniak-on-fighting-internet-scams/"><p>Wozniak sold most of his Apple stock in the mid-1980s when he left the company. Today, though, he still gets a small paycheck from Apple for making speeches and representing the company. </p><p>He says he’s proud to see Apple become a trillion-dollar company. “Apple is still the best,” he said. “And when Apple does things I don’t like, and some of the closeness I wish it were more open, I’ll speak out about it. Nobody buys my voice!” </p><p>I asked, “Apple listen to you when you speak out?”</p><p>“No,” Wozniak smiled. “Oh, no. Oh, no.”</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/05/apple-the-first-50-years-forthcoming/">Apple: The First 50 Years (Forthcoming)</a></li>
<li><a href="https://mjtsai.com/blog/2020/07/28/steve-wozniak-sues-youtube-over-bitcoin-scams/">Steve Wozniak Sues YouTube Over Bitcoin Scams</a></li>
<li><a href="https://mjtsai.com/blog/2020/04/28/the-ntsc-color-hack/">The NTSC Color Hack</a></li>
<li><a href="https://mjtsai.com/blog/2016/04/02/regis-mckennas-1976-notebook/">Regis McKenna’s 1976 Notebook</a></li>
<li><a href="https://mjtsai.com/blog/2015/10/23/sorkin-and-boyles-steve-jobs/">Sorkin and Boyle’s “Steve Jobs”</a></li>
<li><a href="https://mjtsai.com/blog/2014/02/25/working-with-woz/">Working With Woz</a></li>
<li><a href="https://mjtsai.com/blog/2006/10/17/wozs-regret/">Woz’s Regret</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/15/wozs-ongoing-youtube-lawsuit/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>TextKit 2: The Promised Land</title>
<link>https://mjtsai.com/blog/2025/08/15/textkit-2-the-promised-land/</link>
<comments>https://mjtsai.com/blog/2025/08/15/textkit-2-the-promised-land/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 15 Aug 2025 19:19:32 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Bug]]></category>
<category><![CDATA[Cocoa]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Text Kit]]></category>
<category><![CDATA[TextEdit]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48928</guid>
<description><![CDATA[Marcin Krzyżanowski (Mastodon): TextKit 2 (NSTextLayoutManager) API was announced publicly during WWDC21, which is over 4 years ago. Before that, it was in private development for a few years and gained widespread adoption in the macOS and iOS frameworks. Promised an easier, faster, overall better API and text layout engine that replaces the aged TextKit […]]]></description>
<content:encoded><![CDATA[<p><a href="https://blog.krzyzanowskim.com/2025/08/14/textkit-2-the-promised-land/">Marcin Krzyżanowski</a> (<a href="https://mastodon.social/@krzyzanowskim/115031879147962647">Mastodon</a>):</p>
<blockquote cite="https://blog.krzyzanowskim.com/2025/08/14/textkit-2-the-promised-land/"><p>TextKit 2 (<a href="https://developer.apple.com/documentation/uikit/nstextlayoutmanager?ref=blog.krzyzanowskim.com"><em>NSTextLayoutManager</em></a>) API was <a href="https://www.youtube.com/watch?v=guAmLgIEvvE&ref=blog.krzyzanowskim.com">announced</a> publicly during WWDC21, which is over 4 years ago. Before that, it was in private development for a few years and gained widespread adoption in the macOS and iOS frameworks. Promised an easier, faster, overall better API and text layout engine that replaces the aged TextKit 1 (<a href="https://developer.apple.com/documentation/uikit/nslayoutmanager?ref=blog.krzyzanowskim.com"><em>NSLayoutManager</em></a>) engine.</p><p>[…]</p><p>Based on my 4 years of experience working with it, I feel like I fell into a trap. It’s not a silver bullet. It is arguably an improvement over TextKit 1. I want to discuss certain issues that make the TextKit 2 annoying to use (at best) and not the right tool for the job (at the worst).</p><p>[…]</p><p>Bugs in software are expected, and for TextKit 2, it’s no exception. <a href="https://github.com/krzyzanowskim/STTextView?tab=readme-ov-file&ref=blog.krzyzanowskim.com#-textkit-2-bug-reports-list">I reported many bugs myself</a>. Some issues are fixed, while others remain unresolved. Many users received no response. Additionally, bugs occur in specific versions, and regressions are common. It is annoying to maintain compatibility, of course. From my perspective, probably the most annoying <a href="https://gist.github.com/krzyzanowskim/510ecf8df259d779e22df8ad13c256c0?ref=blog.krzyzanowskim.com">bugs are around the “extra line fragment”</a> (the rectangle for the extra line fragment at the end of a document) and its broken layout.</p><p>[…]</p><p>When ensuring layout only in the viewport (visible area), all other parts of the document are estimated. Specifically, the total height of the document is estimated. The estimation changes frequently as I lay out more/different parts of the document. […] The jiggery is super annoying and hard to accept. […] For a long time, I thought that I “hold it wrong” and there must be a way (maybe a private API) that addresses these problems, then I realized I’m not wrong. TextEdit app from macOS suffers from the very same issues I do in my implementations.</p></blockquote>
<p>The API is designed for subclassing different pieces but doesn’t actually work if you try to do that.</p>
<p><a href="https://mastodon.social/@simonbs/115033018152129908">Simon B. Støvring</a>:</p>
<blockquote cite="https://mastodon.social/@simonbs/115033018152129908">
<p>Marcin is way further down the rabbit hole than I am, but I can certainly relate to his frustrations.</p>
<p>In fact, this is part of the reason I haven’t gotten further with Runestone for Mac. I hope to get further one day, but building a great text editor is incredibly time-consuming because you either add workaround upon workaround or you drop down to Core Text, which I did with Runestone for iOS/iPadOS.</p>
</blockquote>
<p><a href="https://mastodon.social/@steipete/115032944532218326">Peter Steinberger</a>:</p>
<blockquote cite="https://mastodon.social/@steipete/115032944532218326">
<p>Building stuff on closed source broken API is so incredibly frustrating.</p>
</blockquote>
<p><a href="https://mastodon.social/@monkeydom/115032968186514784">Dominik Wagner</a>:</p>
<blockquote cite="https://mastodon.social/@monkeydom/115032968186514784"><p>It used to be worth it to provide the best native experience you can bring. But with the latest best of breed quality of first party apps not even knowing what that should mean it becomes futile.</p><p>I know if I would start now I would prioritize both cross platform and open source.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/15/notepad-exe-1-2-1139/">Notepad.exe 1.2.1139</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/25/swift-vision-improving-the-approachability-of-data-race-safety/">Swift Vision: Improving the Approachability of Data-Race Safety</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/22/runestone-rejected-from-the-app-store/">Runestone Rejected From the App Store</a></li>
<li><a href="https://mjtsai.com/blog/2023/09/07/text-kit-benchmarks/">Text Kit Benchmarks</a></li>
<li><a href="https://mjtsai.com/blog/2023/08/29/chime-text-editor-now-open-source/">Chime Text Editor Now Open Source</a></li>
<li><a href="https://mjtsai.com/blog/2022/09/14/ios-16-text-view-breakage/">iOS 16 Text View Breakage</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/15/textkit-2-the-promised-land/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Notepad.exe 1.2.1139</title>
<link>https://mjtsai.com/blog/2025/08/15/notepad-exe-1-2-1139/</link>
<comments>https://mjtsai.com/blog/2025/08/15/notepad-exe-1-2-1139/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 15 Aug 2025 19:19:24 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Developer Tool]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Little Snitch]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Notepad.exe]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Python]]></category>
<category><![CDATA[Simulator]]></category>
<category><![CDATA[Swift Playgrounds]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<category><![CDATA[Text Editor]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48926</guid>
<description><![CDATA[Marcin Krzyżanowski (tweet): Notepad.exe is a native macOS application I've crafted with love to enhance your development experience. Built on a plug-and-play philosophy, it gets you coding instantly with zero setup, then scales with your needs. Whether you're prototyping Swift apps, experimenting with Python scripts, building iOS apps with automatic simulator support, or exploring new […]]]></description>
<content:encoded><![CDATA[<p><a href="https://notepadexe.com/">Marcin Krzyżanowski</a> (<a href="https://x.com/krzyzanowskim/status/1925915143130538236">tweet</a>):</p>
<blockquote cite="https://notepadexe.com/">
<p>Notepad.exe is a native macOS application I've crafted with love to enhance your development experience. Built on a plug-and-play philosophy, it gets you coding instantly with zero setup, then scales with your needs. Whether you're prototyping Swift apps, experimenting with Python scripts, building iOS apps with automatic simulator support, or exploring new ideas, Notepad.exe provides a streamlined environment that grows with your expertise - from simple snippets to complex projects.</p>
<p>[…]</p>
<p>Write code and hit run. No project files, no configuration. Start simple, scale up with packages and iOS simulators when needed.</p>
<p>[…]</p>
<p>Local AI assistance that respects your code. What happens on your Mac, stays on your Mac.</p>
</blockquote>
<p>It’s kind of like CodeRunner but with a more powerful editor (with inline compiler errors and local AI assistance) and more Swift-specific features and templates. It costs $99 for a lifetime license or $24.99/year.</p>
<p><a href="https://fatbobman.com/en/posts/notepad-exe-a-lightweight-swift-code-editor/">Fatbobman</a>:</p>
<blockquote cite="https://fatbobman.com/en/posts/notepad-exe-a-lightweight-swift-code-editor/">
<p>Nowadays, Xcode Playgrounds seems to have deviated from its original purpose, and configuring VSCode can be overly complex for beginners. Against this backdrop, how can we easily set up an environment suitable for learning and testing Swift? Perhaps Notepad.exe, as introduced in this article, will provide a satisfying solution.</p>
<p>[…]</p>
<p>On the surface, Notepad.exe seems limited to single-code-file projects. However, this doesn’t prevent developers from thoroughly learning and testing functionalities. By simply adding <code>@main</code> to the code, Notepad.exe can run it as a complete macOS application. This allows developers not only to explore individual APIs but also to observe their behavior throughout a complete application lifecycle.</p>
</blockquote>
<p>From my perspective, Swift Playgrounds were a great idea that didn’t really deliver. They’re weirdly heavyweight and slow and oftentimes just don’t work (though Xcode 26 seems to improve things). Notepad.exe is much more my style for doing quick experiments. If you use Little Snitch, be aware that Notepad.exe has very aggressive online activation. It won’t work without constant network access.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/15/textkit-2-the-promised-land/">TextKit 2: The Promised Land</a></li>
<li><a href="https://mjtsai.com/blog/2025/08/06/xcode-26-beta-5/">Xcode 26 Beta 5</a></li>
<li><a href="https://mjtsai.com/blog/2021/12/16/swift-playgrounds-4/">Swift Playgrounds 4</a></li>
<li><a href="https://mjtsai.com/blog/2021/07/20/bbedit-14/">BBEdit 14</a></li>
<li><a href="https://mjtsai.com/blog/2018/09/27/coderunner-3/">CodeRunner 3</a></li>
<li><a href="https://mjtsai.com/blog/2016/10/18/working-without-a-nib/">Working Without a Nib</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/15/notepad-exe-1-2-1139/feed/</wfw:commentRss>
<slash:comments>11</slash:comments>
</item>
<item>
<title>The Return of Blood Oxygen for Apple Watch</title>
<link>https://mjtsai.com/blog/2025/08/14/the-return-of-blood-oxygen-for-apple-watch/</link>
<comments>https://mjtsai.com/blog/2025/08/14/the-return-of-blood-oxygen-for-apple-watch/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 14 Aug 2025 18:31:39 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Watch]]></category>
<category><![CDATA[Apple Watch Series 10]]></category>
<category><![CDATA[Apple Watch Series 9]]></category>
<category><![CDATA[Apple Watch Ultra 2]]></category>
<category><![CDATA[AppleCare]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[Health]]></category>
<category><![CDATA[Health.app]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Masimo]]></category>
<category><![CDATA[Patents]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48903</guid>
<description><![CDATA[Apple (MacRumors, Hacker News): Apple will introduce a redesigned Blood Oxygen feature for some Apple Watch Series 9, Series 10, and Apple Watch Ultra 2 users through an iPhone and Apple Watch software update coming later today. […] This update was enabled by a recent U.S. Customs ruling. Victoria Song: To get around the ban, […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/08/an-update-on-blood-oxygen-for-apple-watch-in-the-us/">Apple</a> (<a href="https://www.macrumors.com/2025/08/14/blood-oxygen-monitoring-returning-to-apple-watch/">MacRumors</a>, <a href="https://news.ycombinator.com/item?id=44899999">Hacker News</a>):</p>
<blockquote cite="https://www.apple.com/newsroom/2025/08/an-update-on-blood-oxygen-for-apple-watch-in-the-us/">
<p>Apple will introduce a redesigned Blood Oxygen feature for some Apple Watch Series 9, Series 10, and Apple Watch Ultra 2 users through an iPhone and Apple Watch software update coming later today.</p>
<p>[…]</p>
<p>This update was enabled by a recent U.S. Customs ruling.</p>
</blockquote>
<p><a href="https://www.theverge.com/news/759158/apple-watch-blood-oxygen-redesign-import-ban-wearables-smartwatch">Victoria Song</a>:</p>
<blockquote cite="https://www.theverge.com/news/759158/apple-watch-blood-oxygen-redesign-import-ban-wearables-smartwatch">
<p>To get around the ban, blood oxygen data collected on the Watch will now be measured and calculated on the iPhone that it’s paired to. While users won’t be able to view the data on their wrist, they’ll be able to view it in the iPhone’s Health app under the Respiratory section.</p>
</blockquote>
<p>If Apple was violating <a href="https://patents.google.com/patent/US10945648B2/en">the</a> <a href="https://patents.google.com/patent/US10912502B2/en">patents</a> before, I don’t see how using the same sensors but moving the calculation to a different device should make it not a violation. But that determination seems to be ongoing; what’s changed is the interim import ban.</p>
<p><a href="https://warnercrocker.com/2025/08/14/apple-brings-back-blood-oxygen-feature-to-the-apple-watch/">Warner Crocker</a>:</p>
<blockquote cite="https://warnercrocker.com/2025/08/14/apple-brings-back-blood-oxygen-feature-to-the-apple-watch/">
<p>I may be speculating, (I doubt it) but it sounds like a friends in high places who like gifts moment to me.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/07/apple-announces-american-manufacturing-program/">Apple Announces American Manufacturing Program</a></li>
<li><a href="https://mjtsai.com/blog/2023/12/18/apple-watch-sales-paused-over-masimo-patent/">Apple Watch Sales Paused Over Masimo Patent</a></li>
<li><a href="https://mjtsai.com/blog/2023/10/30/masimo-v-apple/">Masimo v. Apple</a></li>
</ul>
<p id="the-return-of-blood-oxygen-for-apple-watch-update-2025-08-15">Update (<a href="#the-return-of-blood-oxygen-for-apple-watch-update-2025-08-15">2025-08-15</a>): <a href="https://daringfireball.net/2025/08/apple_workaround_blood_oxygen_ban">John Gruber</a> (<a href="https://mastodon.social/@daringfireball/115029328724291856">Mastodon</a>):</p>
<blockquote cite="https://daringfireball.net/2025/08/apple_workaround_blood_oxygen_ban">
<p>Also important, and not clear at all from Apple’s initial announcement this morning: After the iOS 18.6.1 and WatchOS 11.6.1 software updates, the iPhone and Apple Watch need to download an over-the-air asset to enable the redesigned Blood Oxygen feature. This apparently may take up to 24 hours. Until this asset download happens, the Blood Oxygen app on your Apple Watch will still say “The Blood Oxygen app is no longer available”. To jump-start the download, users can open the Health app on their iPhone, and the ECG app on their Apple Watch.</p>
<p>[…]</p>
<p>The two patents […] are set to expire in August 2028, and I suspect this patent suit has been a last-ditch attempt to monetize them before they expire by extorting a settlement from Apple.</p>
</blockquote>
<p>He doesn’t question whether the change is actually working around the patent and thinks Masimo is a patent troll. I’m not sure it’s that simple. Masimo is a real company with real products. It seems like Apple was <a href="https://news.ycombinator.com/item?id=44901959">predatory</a> and that the clock is going to run out before Masimo can enforce its rights. I’m generally skeptical of software patents, but the fact that Apple had to go to such lengths to recreate the technology suggests that these weren’t junk patents.</p>
<p><a href="https://talk.tidbits.com/t/blood-oxygen-monitoring-returns-with-ios-18-6-1-and-watchos-11-6-1/31703/4">Car Analogy</a>:</p>
<blockquote cite="https://talk.tidbits.com/t/blood-oxygen-monitoring-returns-with-ios-18-6-1-and-watchos-11-6-1/31703/4">
<p>I still haven’t seen a full explanation of exactly why it was updated to work this way. The assumption is that it’s to work around the patents, but the patents still seem to cover this same method. The ruling has been mentioned, but I’m not sure what about the ruling changes things in this way.</p>
</blockquote>
<p><a href="https://leancrew.com/all-this/2025/08/blood-oxygen/">Dr. Drang</a>:</p>
<blockquote cite="https://leancrew.com/all-this/2025/08/blood-oxygen/"><p>I’ve often wondered about the difference in Apple’s treatment of the blood oxygen and temperature sensors. By default, you don’t get an actual temperature reading; instead you get a variation from your “baseline” temperature. And Apple is careful to call it “Wrist Temperature” instead of just “Temperature,” presumably because it doesn’t want you comparing it with the value you’d get from an under-the-tongue thermometer or the thermometer used at your doctor’s office.</p><p>You <em>can</em> get the actual temperature readings from your watch by <a href="https://www.macworld.com/article/2228152/how-to-view-body-temperature-apple-watch.html">digging a little</a> into the Health app. My temperature readings are generally a few degrees lower than my normal temperature measured by normal means.</p><p>By contrast, Apple will happily show you your blood oxygen reading[…]</p></blockquote>
<p><a href="https://www.theregister.com/2025/08/14/apple_watch_revives_blood_oxygen/">Thomas Claburn</a>:</p>
<blockquote cite="https://www.theregister.com/2025/08/14/apple_watch_revives_blood_oxygen/"><p>A <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10039641/">2023 meta analysis</a> of Apple Watch blood oxygen saturation studies in the medical journal Cureus found Apple’s device roughly comparable to medical-grade pulse oximeters, with occasional outlier results. The authors also said more analysis needs to be done to assess whether skin color affects measurement accuracy – a concern subsequently <a href="https://www.fda.gov/news-events/press-announcements/fda-proposes-updated-recommendations-help-improve-performance-pulse-oximeters-across-skin-tones">echoed by the FDA</a>.</p><p>The authors also questioned whether providing blood oxygen measurements to inform wellness decisions is of any value. It is unclear, they said, whether an Apple Watch customer with an underlying condition will be motivated to seek medical attention based on a data display before being alerted by physical symptoms like shortness of breath.</p><p>“For the vast majority of individuals using the watch as a wellness tracker, it will likely not provide a meaningful benefit in terms of health guidance and might even cause psychological distress to those who worry about outliers that the watch occasionally produces,” the authors observed.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/14/the-return-of-blood-oxygen-for-apple-watch/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Infinite Canvas</title>
<link>https://mjtsai.com/blog/2025/08/14/infinite-canvas/</link>
<comments>https://mjtsai.com/blog/2025/08/14/infinite-canvas/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 14 Aug 2025 18:31:22 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Infinite Canvas]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[SVG]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48901</guid>
<description><![CDATA[Christian Tietze (Mastodon): InfiniteCanvas is a simple, delightful “whiteboarding” app. It’s not for fine art, but for conceptual drawings, and gets out of your way so that you can get ideas on the (digital) paper quickly. […] Infinite Canvas is like Prezi (the presentation app) for drawings: you can nest drawings ‘inside’ others by zooming […]]]></description>
<content:encoded><![CDATA[<p><a href="https://christiantietze.de/posts/2025/08/infinite-canvas-ios-and-macos-whiteboarding-and-sketching-app-now-available/">Christian Tietze</a> (<a href="https://mastodon.social/@ctietze/115024126506069822">Mastodon</a>):</p>
<blockquote cite="https://christiantietze.de/posts/2025/08/infinite-canvas-ios-and-macos-whiteboarding-and-sketching-app-now-available/">
<p>InfiniteCanvas is a simple, delightful “whiteboarding” app. It’s not for fine art, but for conceptual drawings, and gets out of your way so that you can get ideas on the (digital) paper quickly.</p>
<p>[…]</p>
<p>Infinite Canvas is like Prezi (the presentation app) for drawings: you can nest drawings ‘inside’ others by zooming in, then use the space between existing strokes for a whole new drawing.</p>
<p>[…]</p>
<p>Infinite Canvas has a peculiar brush. The stroke width is relative to the current zoom level, so that you get a consistent level of detail of your drawing as you see it at that moment.</p>
</blockquote>
<p>There aren’t many features—or even an eraser—but it seems to work well and is really quick and easy to learn and use. It’s free with some optional IAPs to support future development.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/14/infinite-canvas/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Upgrading My Mac’s External SSD</title>
<link>https://mjtsai.com/blog/2025/08/14/upgrading-my-macs-external-ssd/</link>
<comments>https://mjtsai.com/blog/2025/08/14/upgrading-my-macs-external-ssd/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 14 Aug 2025 18:31:08 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Amazon]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[SanDisk]]></category>
<category><![CDATA[Shopping]]></category>
<category><![CDATA[Solid-State Drive (SSD)]]></category>
<category><![CDATA[Stibium]]></category>
<category><![CDATA[Storage]]></category>
<category><![CDATA[USB]]></category>
<category><![CDATA[USB-C]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48899</guid>
<description><![CDATA[I recently replaced a 4 TB 2.5-inch hard drive with a same-sized SSD, with the goal of making it quieter and faster. Instead, it got much slower. As far as I can tell, there’s nothing wrong with the SSD itself (a Samsung T7). The drive tests fine, and I have half a dozen other drives […]]]></description>
<content:encoded><![CDATA[<p>I recently replaced a 4 TB 2.5-inch hard drive with a same-sized SSD, with the goal of making it quieter and faster. Instead, it got much slower. As far as I can tell, there’s nothing wrong with the SSD itself (a <a href="http://www.amazon.com/dp/B0CX9BV341/?tag=michaeltsai-20/">Samsung T7</a>). The drive tests fine, and I have half a dozen other drives in this family that all work great.</p>
<p>I think the problem is that I put about 3.5 TB of data on it. I was aware that you don’t want SSDs to be super full, but this particular data set grows slowly, so I thought I’d have several hundred GB of free space for the next few years. But I guess that isn’t enough. The drive started out fast at reading and writing, but after filling it up the writes seemed to take forever. <a href="https://eclecticlight.co/dintch/">Stibium</a> benchmarked them as slow as 1.6 MB/s, but I think they were actually far lower overall.</p>
<p>Samsung doesn’t make a larger T7 or T9, so I ordered an <a href="http://www.amazon.com/dp/B0DLK38TR9/?tag=michaeltsai-20">8 TB SanDisk</a>. That should be plenty of space, and I’ve long used the <a href="http://www.amazon.com/dp/B078T9SZ3K/?tag=michaeltsai-20">2 TB version</a> of that drive. It’s the only non-Samsung SSD that’s worked reliably for me. Unfortunately, I cannot recommend the new SanDisk, at least not for use with a Mac. It kept spontaneously unmounting in the middle of copying files, whether connected to a Thunderbolt dock (via the provided cable) or to a USB hub. Some Amazon reviews note the same problem, even though it overall has 4.6 stars from 81K ratings. In light testing, it did seem to work when directly connected to my MacBook Pro, but I only have three ports and don’t want to dedicate one to this drive.</p>
<p>I replaced it with a <a href="http://www.amazon.com/dp/B0CMDGGJTZ/?tag=michaeltsai-20">Samsung T5</a>, which in theory is slower than the T7, but in actual use it’s much faster than what I had before, and it seems to be reliable.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/21/usb-c-hubs-and-my-slow-descent-into-madness/">USB-C Hubs and My Slow Descent Into Madness</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/15/upgrading-an-m4-pro-mac-minis-storage-for-half-the-price/">Upgrading an M4 Pro Mac Mini’s Storage for Half the Price</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/11/update-2025-07-21/">Using “tmutil associatedisk” With APFS Destinations</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/18/mac-ssd-performance/">Mac SSD Performance</a></li>
<li><a href="https://mjtsai.com/blog/2020/07/27/usb-c-is-still-a-mess/">USB-C Is Still a Mess</a></li>
<li><a href="https://mjtsai.com/blog/2017/10/14/the-impossible-dream-of-usb-c/">The Impossible Dream of USB-C</a></li>
<li><a href="https://mjtsai.com/blog/2014/06/18/rocketstor-drive-dock-more-expensive-but-reliable/">RocketStor Drive Dock: More Expensive But Reliable</a></li>
<li><a href="https://mjtsai.com/blog/2013/08/28/highpoint-rocketstor-5212-thunderbolt-dual-drive-dock/">Highpoint RocketStor 5212 Thunderbolt Dual Drive Dock</a></li>
</ul>
<p id="upgrading-my-macs-external-ssd-update-2025-08-15">Update (<a href="#upgrading-my-macs-external-ssd-update-2025-08-15">2025-08-15</a>): <a href="https://mastodon.social/@rosyna/115028566063938403">Rosyna Keller</a>:</p>
<blockquote cite="https://mastodon.social/@rosyna/115028566063938403">
<p>I strongly recommend against the SanDisk SSDs. There’s no indication they fixed their <a href="https://arstechnica.com/gadgets/2023/08/sandisk-extreme-ssds-are-worthless-multiple-lawsuits-against-wd-say/">data loss problems</a>. One of the symptoms of the data loss problems on macOS was frequent unmounting.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/14/upgrading-my-macs-external-ssd/feed/</wfw:commentRss>
<slash:comments>26</slash:comments>
</item>
<item>
<title>Your Mac Game Is Probably Rendering Blurry</title>
<link>https://mjtsai.com/blog/2025/08/14/your-mac-game-is-probably-rendering-blurry/</link>
<comments>https://mjtsai.com/blog/2025/08/14/your-mac-game-is-probably-rendering-blurry/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 14 Aug 2025 18:29:21 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Bug]]></category>
<category><![CDATA[Cocoa]]></category>
<category><![CDATA[Game]]></category>
<category><![CDATA[Graphics]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[MacBook]]></category>
<category><![CDATA[MacBook Pro]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48897</guid>
<description><![CDATA[Colin Cornaby: I’ve submitted the issue described in this post to Apple as FB13375033. This issue has been open since September of 2023.If you game on a MacBook display – your game is probably rendering wrong unless you’ve adjusted your settings. If you’re a developer building a full screen game in AppKit (or Catalyst) – […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.colincornaby.me/2025/08/your-mac-game-is-probably-rendering-blurry/">Colin Cornaby</a>:</p>
<blockquote cite="https://www.colincornaby.me/2025/08/your-mac-game-is-probably-rendering-blurry/"><p>I’ve submitted the issue described in this post to Apple as FB13375033. This issue has been open since September of 2023.</p><p>If you game on a MacBook display – your game is <em>probably</em> rendering wrong unless you’ve adjusted your settings. If you’re a developer building a full screen game in AppKit (or Catalyst) – Apple’s APIs have some issues you need to be aware of.</p><p>[…]</p><p>The problem with Apple laptops is they have a notch at the top of the display. The full screen area your game runs in is not the same resolution as the screen. Most games do not account for this problem. They output frames sized for the entire screen instead of the region they can draw to. This output is height compressed and blurry.</p><p>[…]</p><p>The problem is that these resolutions [from <code>CGDisplayCopyAllDisplayModes()</code>] are mixed in a single list with no built in way to filter.</p><p>Worse yet – most games default to the first resolution on the list.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/01/04/apples-mac-gaming-push/">Apple’s Mac Gaming Push</a></li>
<li><a href="https://mjtsai.com/blog/2021/11/24/the-macbook-pro-notch/">The MacBook Pro Notch</a></li>
</ul>
<p id="your-mac-game-is-probably-rendering-blurry-update-2025-08-15">Update (<a href="#your-mac-game-is-probably-rendering-blurry-update-2025-08-15">2025-08-15</a>): See also: <a href="https://news.ycombinator.com/item?id=44906305">Hacker News</a>.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/14/your-mac-game-is-probably-rendering-blurry/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>App Store Promotion and X/Grok</title>
<link>https://mjtsai.com/blog/2025/08/13/app-store-promotion-and-x-grok/</link>
<comments>https://mjtsai.com/blog/2025/08/13/app-store-promotion-and-x-grok/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 13 Aug 2025 21:17:30 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[Elon Musk]]></category>
<category><![CDATA[Grok]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Marketing]]></category>
<category><![CDATA[Twitter]]></category>
<category><![CDATA[xAI]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48894</guid>
<description><![CDATA[Tim Hardwick: Elon Musk has threatened legal action against Apple, claiming that the company is violating antitrust rules by favoring OpenAI’s ChatGPT in App Store rankings over his Grok AI assistant. Elon Musk: Apple is behaving in a manner that makes it impossible for any AI company besides OpenAI to reach #1 in the App […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/12/musk-threatens-sue-apple-grok-app-store-rankings/">Tim Hardwick</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/12/musk-threatens-sue-apple-grok-app-store-rankings/"><p>Elon Musk has threatened legal action against Apple, claiming that the company is violating antitrust rules by favoring OpenAI’s ChatGPT in App Store rankings over his Grok AI assistant.</p></blockquote>
<p><a href="https://x.com/elonmusk/status/1955073616996975095">Elon Musk</a>:</p>
<blockquote cite="https://x.com/elonmusk/status/1955073616996975095">
<p>Apple is behaving in a manner that makes it impossible for any AI company besides OpenAI to reach #1 in the App Store, which is an unequivocal antitrust violation.</p>
</blockquote>
<p>X’s own community notes list some counterexamples.</p>
<p><a href="https://x.com/elonmusk/status/1955046467993059530">Elon Musk</a>:</p>
<blockquote cite="https://x.com/elonmusk/status/1955046467993059530"><p>Hey
@Apple
App Store, why do you refuse to put either 𝕏 or Grok in your “Must Have” section when 𝕏 is the #1 news app in the world and Grok is #5 among all apps?</p><p>[…]</p><p>And why is ChatGPT literally in every list where you have editorial control?</p></blockquote>
<p>Right now the “Must-Have Apps” are TikTok, Tinder, Duolingo, YouTube, Bumble, HBO, ChatGPT, Hinge, Peacock, Audible, Paramount, ESPN, Snapchat, Crunchyroll, Amazon Prime Video, Twitch, YouTube Music, LinkedIn, Dropbox, and Amazon Music. It’s kind of an odd list, actually.</p>
<p><a href="https://www.macrumors.com/2025/08/12/apple-denies-chatgpt-favoritism/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/12/apple-denies-chatgpt-favoritism/"><p>Apple today responded to Elon Musk’s claims that the App Store favors OpenAI’s ChatGPT app, <a href="https://x.com/markgurman/status/1955383759853007198">telling <em>Bloomberg</em>’s Mark Gurman</a> that the App Store is “fair and free of bias.”</p><blockquote><p>The App Store is designed to be fair and free of bias. We feature thousands of apps through charts, algorithmic recommendations, and curated lists selected by experts using objective criteria. Our goal is to offer safe discovery for users and valuable opportunities for developers, collaborating with many to increase app visibility in rapidly evolving categories.</p></blockquote></blockquote>
<p>Who can now be surprised by Musk’s antics, but I did find Apple’s response interesting. First, that they bothered to respond. And, second, the response itself. If you thought they were cooking the lists, this would do nothing to persuade you otherwise. (This is the same company that also claims it applies the App Store guidelines equally to all developers and even to its own apps.) And the wording is just strange. Why do they need experts if the criteria are objective? And didn’t they recently do a redesign/rebranding to feature more human curation and editorial copy?</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/01/xai-acquires-x-twitter/">xAI Acquires X/Twitter</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/12/chatgpt-now-integrates-directly-with-xcode/">ChatGPT Now Integrates Directly With Xcode</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/13/app-store-promotion-and-x-grok/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>UIKit in iOS 26</title>
<link>https://mjtsai.com/blog/2025/08/13/uikit-in-ios-26/</link>
<comments>https://mjtsai.com/blog/2025/08/13/uikit-in-ios-26/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 13 Aug 2025 21:17:26 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Cocoa]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48892</guid>
<description><![CDATA[Seb Vidal (via Steve Troughton-Smith): As always, Apple has done a good job of documenting the big changes to UIKit. This year’s What’s New in UIKit session is well worth tuning in to! However, there’s only so much you can fit into an easily digestible dub dub session and, at the time of writing, even […]]]></description>
<content:encoded><![CDATA[<p><a href="https://sebvidal.com/blog/whats-new-in-uikit-26/">Seb Vidal</a> (via <a href="https://mastodon.social/@stroughtonsmith/115021366022118487">Steve Troughton-Smith</a>):</p>
<blockquote cite="https://sebvidal.com/blog/whats-new-in-uikit-26/"><p>As always, Apple has done a good job of documenting the big changes to UIKit. This year’s <a href="https://developer.apple.com/videos/play/wwdc2025/243">What’s New in UIKit</a> session is well worth tuning in to! However, there’s only so much you can fit into an easily digestible dub dub session and, at the time of writing, even Apple’s <a href="https://developer.apple.com/documentation/Updates/UIKit">UIKit updates</a> article barely scratches the surface of this year’s changes!</p><p>So, for my fellow UIKit-enjoyers out there, here’s my first (and maybe annual?) comprehensive list of changes to UIKit in iOS <del>19</del> 26…</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/18/swiftui-at-wwdc-2025/">SwiftUI at WWDC 2025</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/13/wwdc-2025-links/">WWDC 2025 Links</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/13/uikit-in-ios-26/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>MacSurfer Is Back</title>
<link>https://mjtsai.com/blog/2025/08/13/macsurfer-is-back/</link>
<comments>https://mjtsai.com/blog/2025/08/13/macsurfer-is-back/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 13 Aug 2025 21:17:23 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[The Media]]></category>
<category><![CDATA[Web]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48890</guid>
<description><![CDATA[MacSurfer: MacSurfer is relaunching — watch as the upgrade continues Via Eric Schwarz: I can’t find any details or who’s behind it? I really hope it’s not AI slop or someone trying to make a buck off nostalgia like iLounge or TUAW. Previously: MacInTouch Paused The Unofficial Apple AI Weblog MacSurfer Shutting Down]]></description>
<content:encoded><![CDATA[<p><a href="https://macsurfer.com/">MacSurfer</a>:</p>
<blockquote cite="https://macsurfer.com/">
<p>MacSurfer is relaunching — watch as the upgrade continues</p>
</blockquote>
<p>Via <a href="https://mastodon.social/@ecschwarz/115017715208889055">Eric Schwarz</a>:</p>
<blockquote cite="https://mastodon.social/@ecschwarz/115017715208889055">
<p>I can’t find any details or who’s behind it? I really hope it’s not AI slop or someone trying to make a buck off nostalgia like iLounge or TUAW.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/29/macintouch-paused/">MacInTouch Paused</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/10/the-unofficial-apple-ai-weblog/">The Unofficial Apple AI Weblog</a></li>
<li><a href="https://mjtsai.com/blog/2020/03/03/macsurfer-shutting-down/">MacSurfer Shutting Down</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/13/macsurfer-is-back/feed/</wfw:commentRss>
<slash:comments>9</slash:comments>
</item>
<item>
<title>Reddit Will Block the Internet Archive</title>
<link>https://mjtsai.com/blog/2025/08/12/reddit-will-block-the-internet-archive/</link>
<comments>https://mjtsai.com/blog/2025/08/12/reddit-will-block-the-internet-archive/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 12 Aug 2025 19:24:58 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Internet Archive]]></category>
<category><![CDATA[Reddit]]></category>
<category><![CDATA[Web]]></category>
<category><![CDATA[Web Crawlers]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48877</guid>
<description><![CDATA[Jay Peters: Reddit says that it has caught AI companies scraping its data from the Internet Archive’s Wayback Machine, so it’s going to start blocking the Internet Archive from indexing the vast majority of Reddit. The Wayback Machine will no longer be able to crawl post detail pages, comments, or profiles; instead, it will only […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.theverge.com/news/757538/reddit-internet-archive-wayback-machine-block-limit">Jay Peters</a>:</p>
<blockquote cite="https://www.theverge.com/news/757538/reddit-internet-archive-wayback-machine-block-limit">
<p>Reddit says that it has caught AI companies scraping its data from the Internet Archive’s Wayback Machine, so it’s going to start blocking the Internet Archive from indexing the vast majority of Reddit. The Wayback Machine will no longer be able to crawl post detail pages, comments, or profiles; instead, it will only be able to index the Reddit.com homepage, which effectively means Internet Archive will only be able to archive insights into which news headlines and posts were most popular on a given day.</p>
</blockquote>
<p><a href="https://pxlnv.com/linklog/reddit-blocks-internet-archive/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/reddit-blocks-internet-archive/">
<p>Unfortunately for many publishers, the Archive seems to be <a href="https://archive.org/robots.txt">perfectly happy</a> with scrapers and is <a href="https://blog.archive.org/2023/04/28/internet-archive-weighs-in-on-artificial-intelligence-at-the-copyright-office/">unbothered</a> if its collection is used to train artificial intelligence.</p>
</blockquote>
<p>Why doesn’t the Internet Archive repeat the crawling policy of the original site? Otherwise, it essentially becomes a Napster for data laundering.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/11/04/reddit-is-finally-profitable/">Reddit Is Finally Profitable</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/25/only-google-can-crawl-reddit/">Only Google Can Crawl Reddit</a></li>
<li><a href="https://mjtsai.com/blog/2024/06/24/ai-companies-ignoring-robots-txt/">AI Companies Ignoring Robots.txt</a></li>
<li><a href="https://mjtsai.com/blog/2024/02/27/reddit-ai-training-data-and-ipo/">Reddit AI Training Data and IPO</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/12/reddit-will-block-the-internet-archive/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>GitHub CEO Resigns, Not Replaced</title>
<link>https://mjtsai.com/blog/2025/08/12/github-ceo-resigns-not-replaced/</link>
<comments>https://mjtsai.com/blog/2025/08/12/github-ceo-resigns-not-replaced/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 12 Aug 2025 19:24:56 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[GitHub]]></category>
<category><![CDATA[GitHub Copilot]]></category>
<category><![CDATA[Microsoft]]></category>
<category><![CDATA[Web]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48875</guid>
<description><![CDATA[Thomas Dohmke (tweet): From building mobile developer tools, to running the acquisition of GitHub alongside Nat Friedman, to becoming GitHub’s CEO and guiding us into the age of Copilot and AI, it has been the ride of a lifetime. Still, after all this time, my startup roots have begun tugging on me and I’ve decided […]]]></description>
<content:encoded><![CDATA[<p><a href="https://github.blog/news-insights/company-news/goodbye-github/">Thomas Dohmke</a> (<a href="https://x.com/ashtom/status/1954920157853172064">tweet</a>):</p>
<blockquote cite="https://github.blog/news-insights/company-news/goodbye-github/">
<p>From building mobile developer tools, to running the acquisition of GitHub alongside Nat Friedman, to becoming GitHub’s CEO and guiding us into the age of Copilot and AI, it has been the ride of a lifetime.</p>
<p>Still, after all this time, my startup roots have begun tugging on me and I’ve decided to leave GitHub to become a founder again. GitHub and its leadership team will continue its mission as part of Microsoft’s CoreAI organization, with more details shared soon.</p>
</blockquote>
<p><a href="https://www.theverge.com/news/757461/microsoft-github-thomas-dohmke-resignation-coreai-team-transition">Tom Warren</a> (<a href="https://news.ycombinator.com/item?id=44865560">Hacker News</a>):</p>
<blockquote cite="https://www.theverge.com/news/757461/microsoft-github-thomas-dohmke-resignation-coreai-team-transition"><p>GitHub has operated as a separate company ever <a href="https://www.theverge.com/2018/10/26/17954714/microsoft-github-deal-acquisition-complete">since Microsoft acquired it</a> in 2018 for $7.5 billion, but Dohmke’s departure is part of a big shakeup to the way GitHub operates. Microsoft isn’t replacing Dohmke’s CEO position, and the rest of GitHub’s leadership team will now report more directly to Microsoft’s CoreAI team.</p>
<p>[…]</p>
<p>GitHub no longer has a single leader, or CEO, and responsibility for GitHub will align more closely to the CoreAI leadership team. GitHub’s reporting structure originally changed in 2021 when former CEO Nat Friedman stepped down, and Dohmke reported up to Julia Liuson, head of Microsoft’s developer division. Liuson then started reporting to Parikh earlier this year with the formation of the CoreAI team.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2018/06/04/microsoft-acquires-github/">Microsoft Acquires GitHub</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/12/github-ceo-resigns-not-replaced/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>JSONSerialization Can Throw NSExceptions</title>
<link>https://mjtsai.com/blog/2025/08/12/jsonserialization-can-throw-nsexceptions/</link>
<comments>https://mjtsai.com/blog/2025/08/12/jsonserialization-can-throw-nsexceptions/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 12 Aug 2025 19:24:53 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Core Data]]></category>
<category><![CDATA[JSON]]></category>
<category><![CDATA[NSError]]></category>
<category><![CDATA[Objective-C]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48873</guid>
<description><![CDATA[Peter Steinberger (tweet): lol of the day: Apple’s JSONSerialization can throw NSExceptions. These cannot be captured in Swift. Gotta go back to ObjC and write a wrapper. The documentation suggests that to avoid this you can first call isValidJSONObject(). Of course, you have to remember to do this, and it adds overhead to the common […]]]></description>
<content:encoded><![CDATA[<p><a href="https://mastodon.social/@steipete/115007561701559089">Peter Steinberger</a> (<a href="https://x.com/steipete/status/1954718260584173941">tweet</a>):</p>
<blockquote cite="https://mastodon.social/@steipete/115007561701559089"><p>lol of the day: Apple’s <code>JSONSerialization</code> can throw <code>NSExceptions</code>. These cannot be captured in Swift. Gotta go back to ObjC and write a wrapper.</p></blockquote>
<p>The documentation suggests that to avoid this you can first call <code>isValidJSONObject()</code>. Of course, you have to remember to do this, and it adds overhead to the common case where the object graph <em>is</em> valid. I don’t understand why Apple can’t just return an <code>NSError</code>, as <code>NSKeyedArchiver</code> was modified to do.</p>
<p>Working around this sort of thing using a <a href="https://github.com/sindresorhus/ExceptionCatcher/blob/main/Sources/ExceptionCatcherInternal/ExceptionCatcher.m">general-purpose Objective-C wrapper</a> is in general not safe because the exception is being thrown through a Swift stack frame (from the passed-in block) before being caught in Objective-C. However, it’s fine to create a bespoke Objective-C wrapper to convert exceptions into errors for a particular API. I do this for <code>NSManagedObjectContext.save()</code>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2021/01/27/its-over-between-us-avaudioengine/">It’s Over Between Us, AVAudioEngine</a></li>
</ul>
<p id="jsonserialization-can-throw-nsexceptions-update-2025-08-13">Update (<a href="#jsonserialization-can-throw-nsexceptions-update-2025-08-13">2025-08-13</a>): <a href="https://mastodon.social/@tjw@social.lol/115018632167580819">Timothy Wood</a>:</p>
<blockquote cite="https://mastodon.social/@tjw@social.lol/115018632167580819"><p>My strongly held opinion after ~30y doing this shit is the right answer is to just crash (and make sure your crash reporting/aggregation/investigation pipeline is in order).</p><p>[…]</p><p>But once an exception is thrown through code that doesn’t expect it, all bets are off and anything could potentially be corrupted/invariants destroyed/etc. In this case, <em>saving</em> the file was what theoretically caused the exception and so your handler has to deal with possible reentrancy. But if the user manages to save their document, and mail you the info, they might feel like everything is fine now -- they clicked the buttons and did the thing -- and then continue on editing other documents in an app that’s bleeding internally.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/12/jsonserialization-can-throw-nsexceptions/feed/</wfw:commentRss>
<slash:comments>12</slash:comments>
</item>
<item>
<title>SwiftData Runtime</title>
<link>https://mjtsai.com/blog/2025/08/12/swiftdata-runtime/</link>
<comments>https://mjtsai.com/blog/2025/08/12/swiftdata-runtime/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 12 Aug 2025 19:24:48 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Core Data]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<category><![CDATA[Swift Runtime]]></category>
<category><![CDATA[SwiftData]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48871</guid>
<description><![CDATA[Richard Witherspoon: I’m working with SwiftData and trying to replicate behavior similar to what I used to do with CoreData, where I had an extension on NSManagedObjectContext that allowed me to fetch all stored objects, regardless of entity type.[…]I’m now using SwiftData with @Model types and the ModelContext, and I want to dynamically fetch all […]]]></description>
<content:encoded><![CDATA[<p><a href="https://stackoverflow.com/questions/79731020/how-can-i-retrieve-all-swiftdata-values-at-runtime">Richard Witherspoon</a>:</p>
<blockquote cite="https://stackoverflow.com/questions/79731020/how-can-i-retrieve-all-swiftdata-values-at-runtime"><p>I’m working with <code>SwiftData</code> and trying to replicate behavior similar to what I used to do with <code>CoreData</code>, where I had an extension on <code>NSManagedObjectContext</code> that allowed me to fetch all stored objects, regardless of entity type.</p><p>[…]</p><p>I’m now using <code>SwiftData</code> with <code>@Model</code> types and the <code>ModelContext</code>, and I want to dynamically fetch all objects from the store at runtime, without manually specifying each type. I understand that <code>SwiftData</code> is designed to be more type-safe and less dynamic than <code>CoreData</code>, but is there any way to accomplish this without traversing through the raw SQLite file manually?</p></blockquote>
<p>This sort of metaobject stuff is really easy to do with Core Data, using public APIs available from the very first version. Currently, with SwiftData you need a fragile <code>Mirror</code> hack to get a <code>PersistentModel</code> from a <code>Schema.Entity</code>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/05/28/dynamic-swift-predicates-in-macos-14-and-ios-17/">Dynamic Swift Predicates in macOS 14 and iOS 17</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/12/swiftdata-runtime/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>iOS 26 Developer Beta 6</title>
<link>https://mjtsai.com/blog/2025/08/11/ios-26-developer-beta-6/</link>
<comments>https://mjtsai.com/blog/2025/08/11/ios-26-developer-beta-6/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 11 Aug 2025 20:43:42 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[iOS Beta]]></category>
<category><![CDATA[Liquid Glass]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48859</guid>
<description><![CDATA[Juli Clover: Apple today provided developers with the sixth betas of iOS 26 and iPadOS 26 for testing purposes, with the updates coming a week after Apple seeded the fifth betas. The release notes don’t call out any changes in beta 6. Juli Clover: The Lock Screen clock has been updated with additional transparency, allowing […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/11/apple-seeds-ios-26-beta-6/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/11/apple-seeds-ios-26-beta-6/">
<p>Apple today provided developers with the sixth betas of iOS 26 and iPadOS 26 for testing purposes, with the updates coming a week after Apple seeded the fifth betas.</p>
</blockquote>
<p>The <a href="https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-26-release-notes">release notes</a> don’t call out any changes in beta 6.</p>
<p><a href="https://www.macrumors.com/2025/08/11/ios-26-beta-6-liquid-glass-changes/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/11/ios-26-beta-6-liquid-glass-changes/">
<p>The Lock Screen clock has been updated with additional transparency, allowing more of the background to peek through.</p>
</blockquote>
<p><a href="https://www.macrumors.com/2025/08/11/ios-26-gets-more-new-ringtones/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/11/ios-26-gets-more-new-ringtones/">
<p>In addition to the standard Reflection ringtone, there are now six variants: Buoyant, Dreamer, Tech, Pop, Reflected, and Surge.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/06/ios-26-developer-beta-5/">iOS 26 Developer Beta 5</a></li>
</ul>
<p id="ios-26-developer-beta-6-update-2025-08-12">Update (<a href="#ios-26-developer-beta-6-update-2025-08-12">2025-08-12</a>): <a href="https://x.com/steipete/status/1955233053644652894">Peter Steinberger</a>:</p>
<blockquote cite="https://x.com/steipete/status/1955233053644652894">
<p>Apple tweaked the animation speed in iOS 26 beta 6 and it fees like a new phone.</p>
</blockquote>
<p id="ios-26-developer-beta-6-update-2025-08-13">Update (<a href="#ios-26-developer-beta-6-update-2025-08-13">2025-08-13</a>): <a href="https://mastodon.social/@davewoodx/115022537780922818">Dave Wood</a>:</p>
<blockquote cite="https://mastodon.social/@davewoodx/115022537780922818"><p>Try searching for a contact now. In the phone app, it doesn’t care what ‘tab’ you select. It searches everything, and lists calls above contacts (contact results are hidden under the keyboard).</p></blockquote>
<p><a href="https://mastodon.social/@agiletortoise/115017228898751118">Greg Pierce</a>:</p>
<blockquote cite="https://mastodon.social/@agiletortoise/115017228898751118"><p>Apple’s scanning UI got the Liquid Glass treatment in beta 6 – but even better, they made the controls for color, flash, and auto-shutter much easier to use!</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/11/ios-26-developer-beta-6/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>macOS Tahoe 26 Developer Beta 6</title>
<link>https://mjtsai.com/blog/2025/08/11/macos-tahoe-26-developer-beta-6/</link>
<comments>https://mjtsai.com/blog/2025/08/11/macos-tahoe-26-developer-beta-6/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 11 Aug 2025 20:43:36 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Beta]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Migration Assistant]]></category>
<category><![CDATA[Pages.app]]></category>
<category><![CDATA[Screensaver]]></category>
<category><![CDATA[Wallpaper]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48857</guid>
<description><![CDATA[Juli Clover: Apple today provided developers with the sixth beta of macOS Tahoe 26 for testing purposes, with the update coming a week after the fifth beta. The release notes don’t call out any changes in beta 6. Previously: macOS Tahoe 26 Developer Beta 5 Update (2025-08-12): BasicAppleGuy: Apple recently added several new aerial wallpapers […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/11/apple-seeds-macos-tahoe-beta-6/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/11/apple-seeds-macos-tahoe-beta-6/">
<p>Apple today provided developers with the sixth beta of macOS Tahoe 26 for testing purposes, with the update coming a week after the fifth beta.</p>
</blockquote>
<p>The <a href="https://developer.apple.com/documentation/macos-release-notes/macos-26-release-notes">release notes</a> don’t call out any changes in beta 6.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/">macOS Tahoe 26 Developer Beta 5</a></li>
</ul>
<p id="macos-tahoe-26-developer-beta-6-update-2025-08-12">Update (<a href="#macos-tahoe-26-developer-beta-6-update-2025-08-12">2025-08-12</a>): <a href="https://basicappleguy.com/basicappleblog/tahoe-aerial-wallpapers">BasicAppleGuy</a>:</p>
<blockquote cite="https://basicappleguy.com/basicappleblog/tahoe-aerial-wallpapers">
<p>Apple recently added several new aerial wallpapers in the latest macOS Tahoe Beta as the operating system barrels towards release in early fall.</p>
</blockquote>
<p><a href="https://basicappleguy.com/basicappleblog/dynamic-tahoe-wallpapers">BasicAppleGuy</a>:</p>
<blockquote cite="https://basicappleguy.com/basicappleblog/dynamic-tahoe-wallpapers"><p>Additionally, they updated their Tahoe lakeside wallpaper with dawn, dusk, and nighttime variations. The only catch? They didn’t make them dynamic. That’s where I stepped in.</p></blockquote>
<p><a href="https://www.macrumors.com/2025/08/09/macos-tahoe-new-screen-savers/">Joe Rossignol</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/09/macos-tahoe-new-screen-savers/">
<p>macOS Tahoe includes 15 new aerial screen savers for the Mac, each panning over natural landscapes around the world.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/115016185421357323">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/115016185421357323">
<p>macOS Icon History<br />
Migration Assistant</p>
</blockquote>
<p id="macos-tahoe-26-developer-beta-6-update-2025-08-13">Update (<a href="#macos-tahoe-26-developer-beta-6-update-2025-08-13">2025-08-13</a>): <a href="https://mastodon.social/@davemark/115021531745197323">Dave Mark</a>:</p>
<blockquote cite="https://mastodon.social/@davemark/115021531745197323"><p>Kind of love this macOS 26 trash bin. </p><p>This new to Tahoe? Something I just never noticed before?</p><p>Note that the only thing in my trash was a single html doc. Guessing this pic is the same for everyone.</p><p>No matter. I dig it!</p></blockquote>
<p><a href="https://mastodon.social/@octothorpe@mastodon.online/115021616905573625">CM Harrington</a>:</p>
<blockquote cite="https://mastodon.social/@octothorpe@mastodon.online/115021616905573625">
<p>also notice all the trash is ‘floating’ at the top. The whole bin is translucent, and you can see where they just stopped.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/115022817887216872">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/115022817887216872">
<p>macOS Icon History<br />
iPhoto/Photos</p>
</blockquote>
<p id="macos-tahoe-26-developer-beta-6-update-2025-08-14">Update (<a href="#macos-tahoe-26-developer-beta-6-update-2025-08-14">2025-08-14</a>): <a href="https://mastodon.social/@marioguzman/115023727837482897">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/115023727837482897">
<p>The new Macintosh HD icon in #macOSTahoe reminds me of the 7th gen iPod nano's bottom if faced down. Except Macintosh HD has THREE headphone jack ports. lol</p>
</blockquote>
<p><a href="https://pdx.social/@patc/115024785316371503">Pat Castaldo</a>:</p>
<blockquote cite="https://pdx.social/@patc/115024785316371503"><p>I will get use to it, but man, this Liquid Glass sucks. It’s hard to read, my eyes keep looking at the toolbars for no reason and it’s slow as hell. Icons in front of every menu bar is distracting and I can’t find what I’m looking for. </p><p>It’s not fancy, it’s not the future, it just fucking sucks.</p><p>I have installed and used every Mac OS since System Software 5 on my Mac Plus, and none of them have made me sad until now. </p><p>It just throws all that away for… nothing. Nothing is gained. It doesn’t look better, it’s harder to use, and it makes all the hard work people have put into the rest of the OS invisible.</p></blockquote>
<p id="macos-tahoe-26-developer-beta-6-update-2025-08-15">Update (<a href="#macos-tahoe-26-developer-beta-6-update-2025-08-15">2025-08-15</a>): <a href="https://mastodon.social/@Gte/115028931688710659">Guy English</a>:</p>
<blockquote cite="https://mastodon.social/@Gte/115028931688710659">
<p>On macOS it would be nice to be able to drag this window around from anywhere in its content view. If you drag on the background weather view it should move the whole thing. Currently you need to drag it by an imaginary window title bar near the top. I discovered that because I know how things work. But that’ll not be obvious to most users.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/115033200191662888">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/115033200191662888">
<p>macOS Icon History<br />
Pages</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/11/macos-tahoe-26-developer-beta-6/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>History of Apple’s Developer Relations</title>
<link>https://mjtsai.com/blog/2025/08/11/history-of-apples-developer-relations/</link>
<comments>https://mjtsai.com/blog/2025/08/11/history-of-apples-developer-relations/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 11 Aug 2025 20:43:25 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[Apple Services]]></category>
<category><![CDATA[Apple Vision Pro]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[visionOS 2]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48855</guid>
<description><![CDATA[David Barnard (John Gruber): On the podcast I talk with John about the fascinating 40-year history of Apple’s developer relations, how almost going bankrupt in the 1990s shaped today’s control-focused approach, and why we might need an ‘App Store 3.0’ reset. […] As the App Store became a services giant, the partnership vibe faded. Developers […]]]></description>
<content:encoded><![CDATA[<p><a href="https://subclub.com/episode/the-past-present-and-future-of-building-on-apple-john-gruber-daring-fireball">David Barnard</a> (<a href="https://daringfireball.net/linked/2025/07/23/yours-truly-with-david-barnard-on-the-sub-club-podcast">John Gruber</a>):</p>
<blockquote cite="https://subclub.com/episode/the-past-present-and-future-of-building-on-apple-john-gruber-daring-fireball">
<p>On the podcast I talk with John about the fascinating 40-year history of Apple’s developer relations, how almost going bankrupt in the 1990s shaped today’s control-focused approach, and why we might need an ‘App Store 3.0’ reset.</p>
<p>[…]</p>
<p>As the App Store became a services giant, the partnership vibe faded. Developers went from partners to “users” of Apple’s marketplace.</p>
<p>[…]</p>
<p>Today, indie devs can pay Apple millions, while giants like Meta pay almost nothing. The fee logic and incentives don’t fit 2025.</p>
<p>[…]</p>
<p>With Apple’s senior leadership nearing retirement, now is the time to set new priorities: empower developers, invest in the ecosystem, and ensure Apple’s platforms stay vibrant for decades to come.</p>
</blockquote>
<p>There’s lots of interesting stuff here, but one point I wanted to highlight is how they talked about complexity. Apple could have just applied the App Store small business program rate automatically—it has the sales data—but perhaps they make marginally more services revenue by introducing an application and enrollment process. The antitrust compliance stuff has so far been country/region-specific, which is confusing for everyone. Instead of dragging it out and giving as little as possible in each jurisdiction, they could just introduce a new set of broadly acceptable rules that are applicable everywhere and move on to focus on other things.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/18/app-store-study-shows-90-of-what/">App Store Study Shows 90% of What?</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/27/eu-app-store-tiers-and-core-technology-commission/">EU App Store Tiers and Core Technology Commission</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/wwdc-2025-keynote/">WWDC 2025 Keynote</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/07/wwdc-2025-preview/">WWDC 2025 Preview</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/06/wwdc-2025-wish-lists/">WWDC 2025 Wish Lists</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/23/apple-turnaround/">Apple Turnaround</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/01/court-orders-apply-to-comply-with-anti-steering-injunction/">Court Orders Apple to Comply With Anti-Steering Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2025/04/09/soured/">Soured</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/14/one-year-with-the-vision-pro/">One Year With the Vision Pro</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/05/apple-sitting-on-applications-and-requests/">Apple Sitting on Applications and Requests</a></li>
<li><a href="https://mjtsai.com/blog/2022/02/16/the-asymmetry-of-app-review/">The Asymmetry of App Review</a></li>
<li><a href="https://mjtsai.com/blog/2020/12/03/enrolling-in-the-app-store-small-business-program/">Enrolling in the App Store Small Business Program</a></li>
<li><a href="https://mjtsai.com/blog/2020/11/18/app-store-small-business-program-with-15-fee/">App Store Small Business Program With 15% Fee</a></li>
</ul>
<p id="history-of-apples-developer-relations-update-2025-08-13">Update (<a href="#history-of-apples-developer-relations-update-2025-08-13">2025-08-13</a>): <a href="https://x.com/NatashaTheRobot/status/1955660539402813787">Natasha Murashev</a>:</p>
<blockquote cite="https://x.com/NatashaTheRobot/status/1955660539402813787"><p>According to customer support, apparently I was actually enrolled this whole time 😅There is just no celebratory “Welcome
to the Apple Small Business Program” email that I was expecting or any other indication except they just start taking the 15% cut instead of 30.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/11/history-of-apples-developer-relations/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Separate Icons for macOS Tahoe vs. Earlier</title>
<link>https://mjtsai.com/blog/2025/08/08/separate-icons-for-macos-tahoe-vs-earlier/</link>
<comments>https://mjtsai.com/blog/2025/08/08/separate-icons-for-macos-tahoe-vs-earlier/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 08 Aug 2025 19:14:24 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Asset Catalog (.car)]]></category>
<category><![CDATA[Icon Composer]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Xcode]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48842</guid>
<description><![CDATA[John Siracusa: Looks like Tahoe/Xcode beta 5 no longer lets me show my pre-Tahoe app icons in pre-Tahoe OSes. This is a bummer. I filed FB19437407 asking for the ability to do this. I was also looking into how to do this. I had read that you could just keep your old icon in the […]]]></description>
<content:encoded><![CDATA[<p><a href="https://mastodon.social/@siracusa/114987950012388063">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/114987950012388063">
<p>Looks like Tahoe/Xcode beta 5 no longer lets me show my pre-Tahoe app icons in pre-Tahoe OSes. This is a bummer. I filed FB19437407 asking for the ability to do this.</p>
</blockquote>
<p>I was also <a href="https://mastodon.social/@mjtsai/114988326687350451">looking into</a> how to do this. I had read that you could just keep your old icon in the <tt>.xcassets</tt> and use the same name for the new <tt>.icon</tt> file, and it would all just work: new icon on Tahoe and old icon on older versions of macOS. But I found that the old icon <a href="https://mastodon.social/@betamagic/114989602626082647">didn’t</a> make it into the built app, and even the generated <tt>.icns</tt> file for backwards compatibility was low-resolution.</p>
<p><a href="https://mas.to/@avidrissman/114989207727177911">Avi Drissman</a>:</p>
<blockquote cite="https://mas.to/@avidrissman/114989207727177911">
<p>By default, yes, <code>actool</code> will ignore <tt>.xcassets</tt> compatibility bitmaps that match the name of your app icon, and will instead substitute its own. However, if you use the super duper secret undocumented <code>--enable-icon-stack-fallback-generation=disabled</code> flag, it won’t. See <a href="https://source.chromium.org/chromium/chromium/src/+/cb9d61c26abea51d2ab51412352581a34574c8f9:tools/mac/icons/compile_car.py;l=154-164">here</a>. This worked as of db4; I really hope they didn’t break it in db5.</p>
</blockquote>
<p>This <a href="https://mastodon.social/@mjtsai/114989464001181328">did not</a> work for me with beta 5.</p>
<p><a href="https://mastodon.social/@vslavik/114993216557011235">Václav Slavík</a> found that it does work to separate names for the <tt>.iconset</tt> (for <code>CFBundleIconFile</code>) and <tt>.icon</tt> (for <code>CFBundleIconName</code>), not putting either in <tt>.xcassets</tt>, and this seemed to work for me, at least with his <a href="https://github.com/vslavik/TahoeIconsTests">test project</a>. But this approach <a href="https://mastodon.social/@siracusa/114988279380148827">didn’t work for Siracusa</a>.</p>
<p><a href="https://mastodon.social/@vslavik/114993221217469827">Václav Slavík</a>:</p>
<blockquote cite="https://mastodon.social/@vslavik/114993221217469827"><p>There’s apparently something special about app icons stored in <tt>Assets.car</tt>, it’s not just the name, and that’s what is throwing a wrench into things.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/">macOS Tahoe 26 Developer Beta 5</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/23/icon-composer-notes/">Icon Composer Notes</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/19/macos-tahoes-new-theming-system/">macOS Tahoe’s New Theming System</a></li>
</ul>
<p id="separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-09">Update (<a href="#separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-09">2025-08-09</a>): <a href="https://mastodon.social/@siracusa/114996301998175827">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/114996301998175827">
<p>The approach used in the [<a href="https://github.com/vslavik/TahoeIconsTests/tree/1447a3ef56cabec1474e23d933c2eeb003033e17">new version</a> of the] <a href="https://github.com/vslavik/TahoeIconsTests">sample project</a> referenced here did work for me.</p>
</blockquote>
<p>It <a href="https://github.com/vslavik/TahoeIconsTests/commit/1447a3ef56cabec1474e23d933c2eeb003033e17#diff-0fed183085228c4a626d20792374da4ca5be6287ab4d6dcd2942c77c3fb6ac1cR153">uses</a> a shell script to call <code>actool</code> and <code>PlistBuddy</code>.</p>
<p id="separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-11">Update (<a href="#separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-11">2025-08-11</a>): <a href="https://mastodon.social/@siracusa/114999384770435387">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/114999384770435387">
<p>Update: an app built this way is rejected by App Store Connect with the following error:</p>
<blockquote><p>ITMS-90236: Missing required icon - The asset catalog in the application bundle does not contain an icon of size 512pt x 512pt @2X.</p></blockquote>
</blockquote>
<p><a href="https://mastodon.social/@siracusa/115004905960161870">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/115004905960161870"><p>I changed the <code>actool</code> command line in the custom build phase to include the <tt>Assets.xcassets</tt> file path as the first argument (right before the existing <tt>.icon</tt> path argument) and then added the <code>--include-all-app-icons</code> option. That seemed to satisfy App Store Connect while still showing the pre-Tahoe icon on pre-Tahoe versions of macOS and the Tahoe icon on Tahoe.</p></blockquote>
<p id="separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-12">Update (<a href="#separate-icons-for-macos-tahoe-vs-earlier-update-2025-08-12">2025-08-12</a>): <a href="https://mastodon.social/@vslavik/115016258774715162">Václav Slavík</a>:</p>
<blockquote cite="https://mastodon.social/@vslavik/115016258774715162">
<p>Passing the undocumented flag plus <code>--include-all-app-icons</code> and having same-named <tt>AppIcon</tt> in <tt>Assets.xcassets</tt> seems sufficient and is much simpler. I updated the example repo.</p>
</blockquote>
<p>See also: <a href="https://mastodon.social/@jamesthomson/115005039802316921">James Thomson</a>.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/08/separate-icons-for-macos-tahoe-vs-earlier/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>“No” Part 2</title>
<link>https://mjtsai.com/blog/2025/08/08/no-part-2/</link>
<comments>https://mjtsai.com/blog/2025/08/08/no-part-2/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 08 Aug 2025 19:14:19 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 26]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48840</guid>
<description><![CDATA[Steve Troughton-Smith: “Are you merging iOS and macOS?” “…No! Of course not”Yet seven years later it is incredibly clear that there is a point of convergence coming in the very near future where iPadOS and macOS look effectively identical and run basically the same apps — and at that point, why do you need two […]]]></description>
<content:encoded><![CDATA[<p><a href="https://mastodon.social/@stroughtonsmith/114982846677664959">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114982846677664959"><p>“Are you merging iOS and macOS?” “…No! Of course not”</p><p>Yet seven years later it is incredibly clear that there is a point of convergence coming in the very near future where iPadOS and macOS look effectively identical and run basically the same apps — and at that point, why do you need two sets of everything? Yes, they both ‘feel’ different, and they draw different lines in the sand re capabilities (today). But that doesn’t mean you truly need two operating systems.</p></blockquote>
<p><a href="https://birchtree.me/blog/no-part-2/">Matt Birchler</a>:</p>
<blockquote cite="https://birchtree.me/blog/no-part-2/"><p>Yesterday <a href="https://birchtree.me/blog/no/">I wrote about</a> how macOS and iPadOS apps are really merging into one unified experience. That was a quick post, but I wanted to hit on this again with some specific examples. The message was basically that while Apple hasn’t technically “merged” the operating system, they have merged the experience of actually using apps on each platform. Maybe in the early 2010s there were distinct app experiences built for the iPad and Mac, but that ship has long sailed. In 2025, Apple wants you to make Apple apps, and the experience of using those apps on each platform is the same. Here’s some examples.</p></blockquote>
<p>It’s great that iPadOS can do more now and can also still be an older, simpler iPad if you want. But it feels like macOS has been held back for the last decade or so. The ceiling for desktop apps should be higher.</p>
<p><a href="https://mastodon.social/@maxoakland/114983022640794108">Max Oakland</a>:</p>
<blockquote cite="https://mastodon.social/@maxoakland/114983022640794108">
<p>Making them look and act the same is bad design. They should reflect the machines they run on and the ways people use them.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/">macOS Tahoe 26 Developer Beta 5</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/25/ipados-26-developer-beta-4/">iPadOS 26 Developer Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/30/assorted-notes-on-liquid-glass/">Assorted Notes on Liquid Glass</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/18/swiftui-at-wwdc-2025/">SwiftUI at WWDC 2025</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/12/apples-spin-on-ai-and-ipados-multitasking/">Apple’s Spin on AI and iPadOS Multitasking</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/ipados-26-announced/">iPadOS 26 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/13/rumored-redesign-in-ios-19-and-macos-16/">Rumored Redesign in iOS 19 and macOS 16</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/13/gemmell-is-back-to-mac/">Gemmell Is Back to Mac</a></li>
<li><a href="https://mjtsai.com/blog/2023/11/07/the-negative-impact-of-mobile-first-web-design-on-desktop/">The Negative Impact of Mobile-First Web Design on Desktop</a></li>
<li><a href="https://mjtsai.com/blog/2021/09/06/the-persistent-gravity-of-cross-platform/">The Persistent Gravity of Cross Platform</a></li>
<li><a href="https://mjtsai.com/blog/2020/06/23/ios-apps-on-macos-11/">iOS Apps on macOS 11</a></li>
<li><a href="https://mjtsai.com/blog/2019/12/16/catalyst-and-cohesion/">Catalyst and Cohesion</a></li>
<li><a href="https://mjtsai.com/blog/2019/04/23/collision-course/">Collision Course</a></li>
<li><a href="https://mjtsai.com/blog/2019/02/20/apple-to-target-combining-iphone-ipad-and-mac-apps-by-2021/">Apple to Target Combining iPhone, iPad, and Mac Apps by 2021</a></li>
</ul>
<p id="no-part-2-update-2025-08-13">Update (<a href="#no-part-2-update-2025-08-13">2025-08-13</a>): <a href="https://mastodon.social/@iKyle/115022795863090102">Kyle Howells</a>:</p>
<blockquote cite="https://mastodon.social/@iKyle/115022795863090102"><p>Apple haven’t merged macOS and iOS, but they have done what we feared and removed macOS’s separate design, giving it iPadOS’s UI design.</p><p>As the design was the main reason they should be kept separate we’ve lost lots of macOS’s advantages anyway.</p><p>Now it’s mostly just that macOS is the OS which is allowed to be more powerful and have less artificial restrictions.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/08/no-part-2/feed/</wfw:commentRss>
<slash:comments>24</slash:comments>
</item>
<item>
<title>Framework Desktop</title>
<link>https://mjtsai.com/blog/2025/08/08/framework-desktop/</link>
<comments>https://mjtsai.com/blog/2025/08/08/framework-desktop/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 08 Aug 2025 19:14:10 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Advanced Micro Devices (AMD)]]></category>
<category><![CDATA[Apple M4 Max]]></category>
<category><![CDATA[Apple M4 Pro]]></category>
<category><![CDATA[Docker]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Linux]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Ruby]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48838</guid>
<description><![CDATA[David Heinemeier Hansson: It’s a solid 40% faster than the M4 Max and 50% faster than the M4 Pro! Now some will say “that’s just because Docker is faster on Linux,” and they’re not entirely wrong. Docker runs natively on Linux, so for this test, where the MySQL/Redis/ElasticSearch data stores run in Docker while Ruby […]]]></description>
<content:encoded><![CDATA[<p><a href="https://world.hey.com/dhh/the-framework-desktop-is-a-beast-636fb4ff">David Heinemeier Hansson</a>:</p>
<blockquote cite="https://world.hey.com/dhh/the-framework-desktop-is-a-beast-636fb4ff"><p>It’s a solid 40% faster than the M4 Max and 50% faster than the M4 Pro! Now some will say “that’s just because Docker is faster on Linux,” and they’re not entirely wrong. Docker runs natively on Linux, so for this test, where the MySQL/Redis/ElasticSearch data stores run in Docker while Ruby and the app code runs natively, that’s part of the answer. Last I checked, it was about 25% of the difference.</p><p>But so what? Docker is an integral part of the workflow for tons of developers.</p><p>[…]</p><p>[Multicore performance] Basically matching the M4 Max! […] To be fair, the M4s are faster in single-core performance. Apple holds the crown there. It’s about 20%.</p><p>[…]</p><p>It gets even better when you bring price into the equation, though. The Framework Desktop with 64GB RAM + 2TB NVMe is $1,876. To get a Mac Studio with similar specs — M4 Max, 64GB RAM, 2TB NVMe — you’ll literally spend nearly twice as much at $3,299! If you go for 128GB RAM, you’ll spend $2,276 on the Framework, but $4,099 on the Mac.</p></blockquote>
<p>See also: <a href="https://www.tomshardware.com/desktops/gaming-pcs/framework-desktop-review">Andrew E. Freedman</a>.</p>
<p id="framework-desktop-update-2025-08-11">Update (<a href="#framework-desktop-update-2025-08-11">2025-08-11</a>): See also: <a href="https://news.ycombinator.com/item?id=44841262">Hacker News</a>.</p>
<p id="framework-desktop-update-2025-08-12">Update (<a href="#framework-desktop-update-2025-08-12">2025-08-12</a>): <a href="https://taoofmac.com/space/links/2025/08/10/2227">Rui Carmo</a>:</p>
<blockquote cite="https://taoofmac.com/space/links/2025/08/10/2227"><p>I’ve been wanting to get my hands on one of these for both the ability to run local AI workloads <em>and</em> silent, power-efficient operation–and now that the Linux support is coming in the prospect of running a <a href="https://taoofmac.com/space/os/linux/distributions/fedora">Fedora</a> desktop on this kind of hardware is appealing enough for me to consider dropping macOS–I’ve spent the past few years slowly hedging my platform bets, and other than <a href="https://taoofmac.com/space/apps/mail">Mail.app</a> and random compatibilty hassles, it wouldn’t be much of a change.</p><p>In the long run, APUs like this are the future for PCs of any size. Apple will of course keep improving their silicon, but the premium they charge for memory and storage makes no sense when AMD can match most of their performance for nearly half the going rate.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/08/framework-desktop/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Japanese Mobile Software Competition Act</title>
<link>https://mjtsai.com/blog/2025/08/08/japanese-mobile-software-competition-act/</link>
<comments>https://mjtsai.com/blog/2025/08/08/japanese-mobile-software-competition-act/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 08 Aug 2025 19:14:06 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[App Marketplaces]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 15]]></category>
<category><![CDATA[Japan]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Web Browser]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48836</guid>
<description><![CDATA[Marcus Mendes: Since 2020, Japan’s Fair Trade Commission has investigated Apple and Google’s dominance in the mobile market. This week, the watchdog published a series of new guidelines that the two companies must comply with, chief among them allowing third-party app stores.In a 119-page document issued this week, the Japan Fair Trade Commission established the […]]]></description>
<content:encoded><![CDATA[<p><a href="https://9to5mac.com/2025/08/01/japan-mandates-apple-must-allow-third-party-app-stores-and-payment-systems/">Marcus Mendes</a>:</p>
<blockquote cite="https://9to5mac.com/2025/08/01/japan-mandates-apple-must-allow-third-party-app-stores-and-payment-systems/"><p>Since 2020, Japan’s Fair Trade Commission has <a href="https://9to5mac.com/2020/10/19/antitrust-scrutiny-in-japan/">investigated</a> Apple and Google’s dominance in the mobile market. This week, the watchdog published a series of new guidelines that the two companies must comply with, chief among them allowing third-party app stores.</p><p>In a <a href="https://www.jftc.go.jp/file/MSCA_Guidelines_tentative_translation.pdf">119-page document</a> issued this week, the Japan Fair Trade Commission established the Mobile Software Competition Act Guidelines, which are set to come into effect on December 18.</p><p>In essence, the guidelines state that Apple and Google can’t favor their apps over third-party competitors, either by leveraging user data natively collected by the operating system, or by unfairly delaying, rejecting, or hindering competitors’ apps’ presence or visibility in their respective app stores.</p></blockquote>
<p><a href="https://open-web-advocacy.org/blog/japan-apple-must-lift-engine-ban-by-december/">Open Web Advocacy</a> (<a href="https://news.ycombinator.com/item?id=44810061">Hacker News</a>, <a href="https://www.theregister.com/2025/08/06/apples_webkit_rule_japan/">The Register</a>, <a href="https://www.macrumors.com/2025/08/07/japan-non-webkit-browsers-on-iphone/">MacRumors</a>):</p>
<blockquote cite="https://open-web-advocacy.org/blog/japan-apple-must-lift-engine-ban-by-december/"><p>Readers may recall that Japan recently passed the <a href="https://open-web-advocacy.org/blog/japan-ends-the-apple-browser-ban/">Smartphone Act</a>, officially the <em>Bill on the Promotion of Competition for Specified Software Used in Smartphones</em>. Among its most important reforms is a direct prohibition on Apple’s long-standing ban on third-party browser engines on iOS.</p><p>[…]</p><p>This clause is crucial. It means that designated providers (i.e. Apple) must not only eliminate outright bans (like <a href="https://developer.apple.com/app-store/review/guidelines/#:~:text=Apps%20that%20browse%20the%20web%20must%20use%20the%20appropriate%20WebKit%20framework%20and%20WebKit%20JavaScript.">App Store Guideline 2.5.6</a>), but must also refrain from practices that, while technically permitting browser engines, <strong>render their use impractical or commercially unviable</strong>.</p><p>[…]</p><p>The act also mandates choice screens for browsers among other items.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/15/apples-browser-engine-ban-persists-even-under-the-dma/">Apple’s Browser Engine Ban Persists, Even Under the DMA</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/18/firefox-benefits-from-browser-choice-screens/">Firefox Benefits From Browser Choice Screens</a></li>
<li><a href="https://mjtsai.com/blog/2024/06/17/japan-passes-law-to-allow-app-marketplaces/">Japan Passes Law to Allow App Marketplaces</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/26/dma-compliance-alternative-browser-engines/">DMA Compliance: Alternative Browser Engines</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/08/japanese-mobile-software-competition-act/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>Sendable, @unchecked Sendable, @Sendable, sending, and nonsending</title>
<link>https://mjtsai.com/blog/2025/08/07/sendable-unchecked-sendable-sendable-sending-and-nonsending/</link>
<comments>https://mjtsai.com/blog/2025/08/07/sendable-unchecked-sendable-sendable-sending-and-nonsending/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 07 Aug 2025 21:58:57 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Language Design]]></category>
<category><![CDATA[Swift Concurrency]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48818</guid>
<description><![CDATA[Fatbobman: Swift’s concurrency model introduces numerous keywords, some of which are similar in naming and purpose, often causing confusion among developers. This article examines several keywords related to cross-isolation domain passing in Swift concurrency: Sendable, @unchecked Sendable, @Sendable, sending, and nonsending, helping you understand their respective roles and use cases. There’s a great summary table. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://fatbobman.com/en/posts/sendable-sending-nonsending/">Fatbobman</a>:</p>
<blockquote cite="https://fatbobman.com/en/posts/sendable-sending-nonsending/">
<p>Swift’s concurrency model introduces numerous keywords, some of which are similar in naming and purpose, often causing confusion among developers. This article examines several keywords related to cross-isolation domain passing in Swift concurrency: <code>Sendable</code>, <code>@unchecked Sendable</code>, <code>@Sendable</code>, <code>sending</code>, and <code>nonsending</code>, helping you understand their respective roles and use cases.</p>
</blockquote>
<p>There’s a great <a href="https://fatbobman.com/en/posts/sendable-sending-nonsending/#summary">summary table</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/06/xcode-26-beta-5/">Xcode 26 Beta 5</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/03/swift-6-1/">Swift 6.1</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/04/swift-concurrency-glossary/">Swift Concurrency Glossary</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/25/swift-vision-improving-the-approachability-of-data-race-safety/">Swift Vision: Improving the Approachability of Data-Race Safety</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/18/swift-concurrency-proposal-index/">Swift Concurrency Proposal Index</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/07/sendable-unchecked-sendable-sendable-sending-and-nonsending/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Screens Rejected From the App Store</title>
<link>https://mjtsai.com/blog/2025/08/07/screens-rejected-from-the-app-store/</link>
<comments>https://mjtsai.com/blog/2025/08/07/screens-rejected-from-the-app-store/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 07 Aug 2025 21:58:15 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[App Store Rejection]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Screens]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48816</guid>
<description><![CDATA[Luc Vandal: I never thought Screens would get rejected for actually asking users to opt in to share anonymous statistics data. […] This has been in place for almost a year now. Mac and Vision went through right away. […] You want to be transparent to your users and your app gets rejected for it. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://mastodon.social/@vandal/114979288977279826">Luc Vandal</a>:</p>
<blockquote cite="https://mastodon.social/@vandal/114979288977279826">
<p>I never thought Screens would get rejected for actually asking users to opt in to share anonymous statistics data.</p>
<p>[…]</p>
<p>This has been in place for almost a year now. Mac and Vision went through right away.</p>
<p>[…]</p>
<p>You want to be transparent to your users and your app gets rejected for it. During that time, some apps hide stuff from their users and scam them with $19.99/week subscriptions for wallpapers. Yes, users as definitely safe on the App Store. 🤦‍♂️</p>
</blockquote>
<p>As I <a href="https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/#tea-and-the-app-store-update-2025-08-04">was saying</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2020/08/31/allowing-bug-fixes-and-challenging-the-guidelines/">Allowing Bug Fixes and Challenging the Guidelines</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/07/screens-rejected-from-the-app-store/feed/</wfw:commentRss>
<slash:comments>9</slash:comments>
</item>
<item>
<title>Apple Still Investigating Cellular MacBook</title>
<link>https://mjtsai.com/blog/2025/08/07/apple-still-investigating-cellular-macbook/</link>
<comments>https://mjtsai.com/blog/2025/08/07/apple-still-investigating-cellular-macbook/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 07 Aug 2025 21:58:09 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antenna]]></category>
<category><![CDATA[Apple C1]]></category>
<category><![CDATA[ARM Macs]]></category>
<category><![CDATA[Cellular Data]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[MacBook]]></category>
<category><![CDATA[Microsoft Surface]]></category>
<category><![CDATA[Rumor]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48814</guid>
<description><![CDATA[Tim Hardwick: Recent reports have suggested Apple is actively considering bringing cellular connectivity to the Mac lineup as early as next year, but arch rival Microsoft isn’t waiting around to find out – the company is launching its first 5G-enabled Surface laptop this month.[…]The Surface Laptop’s 5G capabilities come as Apple has begun deploying its […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/06/apple-cellular-macbook-microsoft-5g-surface/">Tim Hardwick</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/06/apple-cellular-macbook-microsoft-5g-surface/"><p>Recent reports have suggested Apple is actively considering bringing cellular connectivity to the Mac lineup as early as next year, but arch rival Microsoft isn’t waiting around to find out – the company is launching its first 5G-enabled Surface laptop this month.</p><p>[…]</p><p>The Surface Laptop’s 5G capabilities come as Apple has begun deploying its custom-built C1 modem chip in some devices.</p><p>[…]</p><p>According to a <a href="https://www.macrumors.com/2024/12/06/apple-cellular-mac-custom-modem/">December</a> report by <em>Bloomberg</em>’s Mark Gurman, Apple is “investigating” the possibility of adding a second-generation C2 modem to a future Mac as early as 2026. According to Gurman, Apple’s next-generation C2 modem will support faster mmWave technology and is expected to arrive in 2026, debuting in Apple’s iPhone 18 Pro models – with inclusion in a Mac potentially shortly after.</p></blockquote>
<p>When Apple Silicon was announced five years ago, I was excited that it could lead to a much smaller notebook, a less expensive notebook, or one with a cellular modem. So far, it’s made the existing MacBook lineup much better, but we haven’t seen any of these potential new products.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/12/apples-spin-on-ai-and-ipados-multitasking/">Apple’s Spin on AI and iPadOS Multitasking</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/19/iphone-16e/">iPhone 16e</a></li>
<li><a href="https://mjtsai.com/blog/2023/11/22/rumor-of-cellular-macbook/">Rumor of Cellular MacBook</a></li>
<li><a href="https://mjtsai.com/blog/2020/11/10/apple-silicon-the-roads-not-taken/">Apple Silicon: The Roads Not Taken</a></li>
<li><a href="https://mjtsai.com/blog/2016/03/19/why-dont-we-have-cellular-macbooks/">Why Don’t We Have Cellular MacBooks?</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/07/apple-still-investigating-cellular-macbook/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Apple Announces American Manufacturing Program</title>
<link>https://mjtsai.com/blog/2025/08/07/apple-announces-american-manufacturing-program/</link>
<comments>https://mjtsai.com/blog/2025/08/07/apple-announces-american-manufacturing-program/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 07 Aug 2025 21:56:25 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[iPhone]]></category>
<category><![CDATA[Processors]]></category>
<category><![CDATA[Samsung]]></category>
<category><![CDATA[Taiwan Semiconductor Manufacturing Company (TSMC)]]></category>
<category><![CDATA[Tim Cook]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48811</guid>
<description><![CDATA[Apple (Hacker News): Apple today announced a new $100 billion commitment to America, a significant acceleration of its U.S. investment that now totals $600 billion over the next four years. Today’s announcement includes the ambitious new American Manufacturing Program (AMP), dedicated to bringing even more of Apple’s supply chain and advanced manufacturing to the U.S. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/08/apple-increases-us-commitment-to-600-billion-usd-announces-ambitious-program/">Apple</a> (<a href="https://news.ycombinator.com/item?id=44818925">Hacker News</a>):</p>
<blockquote cite="https://www.apple.com/newsroom/2025/08/apple-increases-us-commitment-to-600-billion-usd-announces-ambitious-program/"><p>Apple today announced a new $100 billion commitment to America, a significant acceleration of its U.S. investment that now totals $600 billion over the next four years. Today’s announcement includes the ambitious new American Manufacturing Program (AMP), dedicated to bringing even more of Apple’s supply chain and advanced manufacturing to the U.S. Through AMP, Apple will increase its investment across America and incentivize global companies to manufacture even more critical components in the United States.</p><p>[…]</p><p>Apple is working with its suppliers to accelerate manufacturing in the U.S. through the new American Manufacturing Program. The first AMP partners include Corning, Coherent, GlobalWafers America (GWA), Applied Materials, Texas Instruments (TI), Samsung, GlobalFoundries, Amkor, and Broadcom. This builds on <a href="https://www.apple.com/newsroom/2025/07/apple-expands-us-supply-chain-with-500-million-usd-commitment/">Apple’s July commitment</a> to buy American-made rare earth magnets from MP Materials.</p><p>[…]</p><p>With these new partnerships, Apple is leading the creation of an end-to-end silicon supply chain in the United States, with partners in every key aspect of silicon production.</p><p>This U.S. silicon supply chain is on track to produce more than 19 billion chips for Apple products in 2025. That includes TSMC in Arizona, which is producing tens of millions of chips for Apple using one of the most advanced process technologies in America.</p></blockquote>
<p><a href="https://finance.yahoo.com/news/apple-announces-additional-100-billion-in-us-investment-following-trump-iphone-tariff-threat-210803143.html">Daniel Howley and Ben Werschkul</a>:</p>
<blockquote cite="https://finance.yahoo.com/news/apple-announces-additional-100-billion-in-us-investment-following-trump-iphone-tariff-threat-210803143.html"><p>Apple is further teaming up with Samsung to work on new chipmaking technologies at its plant in Austin, Texas, as well as with GlobalFoundries and Amkor to bring more chip manufacturing and packaging to the US, respectively.</p><p>Apple’s news comes after the Trump administration began pressuring the tech giant to manufacture its iPhone in the US, going so far as to threaten to impose a 25% tariff on the devices if the company didn’t comply.</p><p>Apple’s announcement also comes as the company prepares for a new 25% tariff on goods destined for the US from India. That’s in addition to an existing 25% levy Trump previously said he would apply to the country’s products.</p></blockquote>
<p><a href="https://apnews.com/article/apple-trump-computer-tariff-c01b5ce0265b0d294dd10b8966be4436">Josh Boak and Michael Liedtke</a>:</p>
<blockquote cite="https://apnews.com/article/apple-trump-computer-tariff-c01b5ce0265b0d294dd10b8966be4436">
<p>“We’ll be putting a tariff of approximately 100% on chips and semiconductors,” Trump said in the Oval Office while meeting with Apple CEO Tim Cook. “But if you’re building in the United States of America, there’s no charge.”</p>
</blockquote>
<p><a href="https://www.cnn.com/2025/08/07/tech/trump-india-tariffs-apple-iphone-ai">Lisa Eadicicco</a>:</p>
<blockquote cite="https://www.cnn.com/2025/08/07/tech/trump-india-tariffs-apple-iphone-ai">
<p>But smartphones are exempt from President Donald Trump’s new levies on India, marking a crucial win for the tech giant as it approaches its most important time of the year: its annual September iPhone launch followed by the holiday season. Apple will also dodge incoming new tariffs on semiconductors, since it’s committed to building iPhone components in the United States, Trump said Wednesday.</p>
</blockquote>
<p><a href="https://www.reuters.com/business/retail-consumer/trump-announces-100-billion-new-investment-pledge-apple-2025-08-06/">Andrea Shalal, Nandita Bose, and Arsheeya Bajwa</a>:</p>
<blockquote cite="https://www.reuters.com/business/retail-consumer/trump-announces-100-billion-new-investment-pledge-apple-2025-08-06/"><p>Asked if Apple could eventually build entire iPhones in the U.S., Cook noted that many components such as semiconductors, glass and Face ID modules are already made domestically, but said that final assembly will remain overseas “for a while.”</p><p>While the investment pledge is significant, analysts say the numbers align with Apple’s typical spending patterns and echo commitments made during both the Biden administration and Trump’s previous term.</p><p>[…]</p><p>Apple has a mixed track record when it comes to following through on investment promises.</p><p>In 2019, for instance, Cook toured a Texas factory with Trump that was promoted as a new manufacturing site. But the facility had been producing Apple computers since 2013 and Apple has since moved that production to Thailand.</p></blockquote>
<p><a href="https://www.theverge.com/news/737757/apple-president-donald-trump-ceo-tim-cook-glass-corning">Jay Peters</a> (<a href="https://www.youtube.com/watch?v=J6SK7lotKZQ">YouTube</a>):</p>
<blockquote cite="https://www.theverge.com/news/737757/apple-president-donald-trump-ceo-tim-cook-glass-corning"><p>At a White House press conference to discuss <a href="https://www.theverge.com/news/719929/apple-100-billion-investment-us-manufacturing-trump">Apple’s new US manufacturing plans</a>, CEO Tim Cook presented a gift to President Donald Trump: a “unique” piece of glass from iPhone glass manufacturer Corning that’s set in a 24-karat gold base.</p><p>The piece of glass is a large disc with the Apple logo cut into it. On the top of the glass, President Trump’s name is printed. On the bottom, there’s a signature that appears to be Cook’s as well as the message “Made in USA” and the year 2025. The glass was designed by a “former US Marine Corps corporal” who works at Apple, according to Cook.</p></blockquote>
<p>Symbolically, it looks like Cook just caved, as he has with China, while Apple instead fights and maliciously complies with orders from courts in the EU, the US, and around the world. But it seems like he basically offered a <a href="https://mjtsai.com/blog/2007/06/13/a-very-sweet-solution/">sweet solution</a>: investments that may have already been planned and may not end up happening, semiconductors (but not flagship processors), glass, and Face ID sensors. Building iPhones in the US this is not, and he’s not trying very hard to pretend that that will ever actually happen. Instead, look at the <a href="https://mastodon.social/@stroughtonsmith/114984042438258190">shiny object</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/02/apple-in-china/">Apple in China</a></li>
<li><a href="https://mjtsai.com/blog/2025/01/09/making-apple-s9-and-a16-in-arizona/">Making Apple S9 and A16 in Arizona</a></li>
<li><a href="https://mjtsai.com/blog/2024/12/03/pat-gelsinger-out-at-intel/">Pat Gelsinger Out at Intel</a></li>
<li><a href="https://mjtsai.com/blog/2024/09/23/intel-foundry/">Intel Foundry</a></li>
<li><a href="https://mjtsai.com/blog/2022/08/05/amd-vs-intel/">AMD vs. Intel</a></li>
<li><a href="https://mjtsai.com/blog/2007/06/13/a-very-sweet-solution/">A Very Sweet Solution</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/07/apple-announces-american-manufacturing-program/feed/</wfw:commentRss>
<slash:comments>37</slash:comments>
</item>
<item>
<title>Xcode 26 Beta 5</title>
<link>https://mjtsai.com/blog/2025/08/06/xcode-26-beta-5/</link>
<comments>https://mjtsai.com/blog/2025/08/06/xcode-26-beta-5/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 06 Aug 2025 19:10:22 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Core Data]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Swift Concurrency]]></category>
<category><![CDATA[Swift Playgrounds]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<category><![CDATA[Xcode]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48804</guid>
<description><![CDATA[Apple: Xcode 26 beta 5 requires a Mac running macOS Sequoia 15.5 or later. The download is back to being a .xip file, and there’s a slightly smaller Apple Silicon–only version. Again, the release notes don’t actually show what’s new in this build. The span property of UTF8View does not support the small string representation […]]]></description>
<content:encoded><![CDATA[<p><a href="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">Apple</a>:</p>
<blockquote cite="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">
<p>Xcode 26 beta 5 requires a Mac running macOS Sequoia 15.5 or later.</p>
</blockquote>
<p>The download is back to being a <tt>.xip</tt> file, and there’s a <a href="https://mastodon.social/@_inside/114977873771098936">slightly smaller</a> Apple Silicon–only version. Again, the release notes don’t actually show what’s new in this build.</p>
<blockquote cite="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes"><p>The <code>span</code> property of <code>UTF8View</code> does not support the small string representation in beta 1, and traps for small <code>String</code> instances. A future version of the Swift standard library will lift this restriction. (137710901)</p></blockquote>
<p>This scary warning is still there at the top, and it was looking to me like “future version” meant “after OS 26.0,” but actually it was apparently <a href="https://discuss.systems/@steve/114982349450725605">fixed</a> “a few betas ago.”</p>
<p><a href="https://mastodon.social/@bigzaphod/114982600299079318">Sean Heber</a> (<a href="https://x.com/krzyzanowskim/status/1953035654918475972">Marcin Krzyzanowski</a>, <a href="https://layer8.space/@teilweise/114983179078773061">Der Teilweise</a>):</p>
<blockquote cite="https://mastodon.social/@bigzaphod/114982600299079318">
<p>What the heck? These icons are a blurry mess in my dock and the simulator icon just looks like a black blob.</p>
</blockquote>
<p><a href="https://mastodon.social/@bigzaphod/114982540276657562">Sean Heber</a>:</p>
<blockquote cite="https://mastodon.social/@bigzaphod/114982540276657562">
<p>Holy cow.. they actually fixed this in Xcode b5?! I ran into this when I was playing around with SDL and GLFW and some other OpenGL/Metal things (checks notes...) over two years ago! Even then it had already existed for some time prior because I found a forum thread about it.</p>
</blockquote>
<p>Even though I don’t use Swift Concurrency, I had to update my Core Data code due to the changes documented for <a href="https://mjtsai.com/blog/#macos-tahoe-26-developer-beta-5-update-2025-08-06">macOS Tahoe 26 Developer Beta 5</a>.</p>
<p>First, it wants <code>NSManagedObjectContext</code> subclasses to be marked <code>@unchecked Sendable</code>, i.e. restate what they inherit.</p>
<p>Second, and more seriously, I got a ton of errors like this:</p>
<pre>'nonisolated' is not supported on lazy properties; this is an error in the Swift 6 language mode</pre>
<p>None of these errors showed line numbers, and they supposedly originated from files that don’t even have <code>lazy</code> properties. The files that do have <code>lazy</code> properties had no errors shown—or maybe there were so many copies of these same errors that the actual relevant files didn’t make it through the truncation of the long error list.</p>
<p>My first guess was that the problem is that <code>NSManagedObjectContext</code> is now <code>NS_SWIFT_NONISOLATED</code>, and one of my classes has some <code>lazy</code> <code>NSManagedObjectContext</code> properties. After all, the error seems to be saying that lazy properties can’t be <code>nonisolated</code>. Isn’t that what the <em>on</em> means? But making those properties non-<code>lazy</code> didn’t help.</p>
<p>If I read the error “backwards,” that <code>lazy</code> properties aren’t supported <em>on</em> <code>nonisolated</code> types, it makes more sense. I changed the <code>lazy</code> properties on my <code>NSManagedObjectContext</code> subclasses to IUOs, and that helped, but I don’t really understand what’s going on here. I get that <code>lazy</code> could make it hard to guarantee which thread is doing the initialization, but isn’t it already using the annotations to opt out of that checking? I only access the context’s properties from within a <code>perform</code> block, and it’s only intended to be an unofficial actor, anyway. The error seems completely irrelevant, except that if I don’t satisfy it my code won’t compile. (I don’t want to turn off <code>SWIFT_TREAT_WARNINGS_AS_ERRORS</code> or try to <a href="https://mjtsai.com/blog/2024/12/05/swift-proposal-precise-control-flags-over-compiler-warnings/">selectively suppress</a> this warning, as it will probably eventually be useful for other code.)</p>
<p>Changing to IUOs worked for one target, albeit at the cost of slower runtime performance and higher memory use for properties that often are not actually used. Then I ran into the same errors with another target. Again, Xcode couldn’t tell me which file they originated from. It turns out that <code>NSManagedObject</code> is now <code>NS_SWIFT_NONISOLATED</code>, too, so it can’t have <code>lazy</code> properties, either. Apple says that the changes are <a href="https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/">intended</a> to “resolve compatibility issues,” and that they “might introduce new warnings while building source code that violates the longstanding CoreData concurrency guidelines,” but I was not violating the guidelines!</p>
<p>This whole situation is infuriating. I don’t mind adding some annotations for Swift Concurrency, but the compiler should tell me where the errors originate from, the error should say what the actual problem is, and the language shouldn’t suddenly make my longstanding code structure illegal when I’m not even using Swift Concurrency. And this is not the WWDC build of Xcode; it’s introducing big changes in probably one of the last betas before everything ships next month.</p>
<p>When I finally got my app compiling again, I found that the <a href="https://mjtsai.com/blog/2025/07/22/xcode-26-beta-4/#xcode-26-beta-4-update-2025-08-05">weak linking bug</a> is still present in beta 5.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/">macOS Tahoe 26 Developer Beta 5</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/22/xcode-26-beta-4/">Xcode 26 Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/25/swift-vision-improving-the-approachability-of-data-race-safety/">Swift Vision: Improving the Approachability of Data-Race Safety</a></li>
<li><a href="https://mjtsai.com/blog/2024/09/20/unwanted-swift-concurrency-checking/">Unwanted Swift Concurrency Checking</a></li>
</ul>
<p id="xcode-26-beta-5-update-2025-08-07">Update (<a href="#xcode-26-beta-5-update-2025-08-07">2025-08-07</a>): I ran into a <a href="https://github.com/swiftlang/swift/issues/83597">Swift compiler crash</a> calling the <code>AudioObjectGetPropertyData()</code> API.</p>
<p id="xcode-26-beta-5-update-2025-08-11">Update (<a href="#xcode-26-beta-5-update-2025-08-11">2025-08-11</a>): <a href="https://x.com/Dimillian/status/1953821070416298057">Thomas Ricouard</a>:</p>
<blockquote cite="https://x.com/Dimillian/status/1953821070416298057">
<p>Xcode 26, with Swift 6 on by default, with a project that compile with 0 warnings will ship with that. A fucking crash when you're apparently calling a framework from the wrong thread. But no stacktrace for you, no information. This is going on for a while, can't believe it.</p>
</blockquote>
<p>I guess this has been going on for <a href="https://github.com/swiftlang/swift/issues/75453">more than a year</a>.</p>
<p id="xcode-26-beta-5-update-2025-08-14">Update (<a href="#xcode-26-beta-5-update-2025-08-14">2025-08-14</a>): <a href="https://mastodon.social/@schwa/115023335051865801">Jonathan Wight</a>:</p>
<blockquote cite="https://mastodon.social/@schwa/115023335051865801"><p>Really liking Xcode 26’s #Playground support. Very very very useful for geometry coding.</p></blockquote>
<p id="xcode-26-beta-5-update-2025-08-15">Update (<a href="#xcode-26-beta-5-update-2025-08-15">2025-08-15</a>): <a href="https://mastodon.social/@bwebster/115029370402022456">Brian Webster</a>:</p>
<blockquote cite="https://mastodon.social/@bwebster/115029370402022456"><p>If you compile a macOS app using Xcode 26 beta (I’ve tried both 4 and 5) which loads an <code>NSScrollView</code> in a <tt>.xib</tt> file, when you try to launch the built app on macOS 15 or earlier, it crashes with an exception complaining about not finding the class <code>_TtCC6AppKit14NSScrollPocketP33_EC3F85FAB7755D56E669206D2B17725B12BackdropView</code>.</p><p>I think it’s a bug in the xib compiler, which outputs a warning about this being an “unstable class name”.</p></blockquote>
<p>I swore off nibs after hitting a bunch of bugs like this. It’s frustrating having your interface baked into a file that you can no longer edit.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2016/10/18/working-without-a-nib/">Working Without a Nib</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/06/xcode-26-beta-5/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>iOS 26 Developer Beta 5</title>
<link>https://mjtsai.com/blog/2025/08/06/ios-26-developer-beta-5/</link>
<comments>https://mjtsai.com/blog/2025/08/06/ios-26-developer-beta-5/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 06 Aug 2025 19:10:19 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Camera]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[iOS Beta]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Reminders]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48802</guid>
<description><![CDATA[Juli Clover: Apple today provided developers with the fifth betas of iOS 26 and iPadOS 26 for testing purposes, with the updates coming a week after Apple seeded the fourth betas. Juli Clover: Apple is continuing to refine button placement, animations, and design in preparation for launching iOS 26 in September.[…]Apple added a toggle in […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/05/apple-seeds-ios-26-beta-5/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/05/apple-seeds-ios-26-beta-5/">
<p>Apple today provided developers with the fifth betas of iOS 26 and iPadOS 26 for testing purposes, with the updates coming a week after Apple seeded the fourth betas.</p>
</blockquote>
<p><a href="https://www.macrumors.com/2025/08/05/ios-26-beta-5-features/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/05/ios-26-beta-5-features/"><p>Apple is continuing to refine button placement, animations, and design in preparation for launching iOS 26 in September.</p><p>[…]</p><p>Apple added a toggle in the Camera app to allow users to toggle on Classic Mode, a setting that reverses the scroll direction when you swap from mode to mode.</p><p>[…]</p><p>There is now a dedicated Select button in the Mail app, instead of the button being tucked away inside of the “…” menu.</p></blockquote>
<p><a href="https://x.com/bzamayo/status/1952811795640639529">Benjamin Mayo</a>:</p>
<blockquote cite="https://x.com/bzamayo/status/1952811795640639529">
<p>Another subtle change to the tab bar’s implementation in this beta is that the glass lens actually renders a duplicate copy of the tab items. You can see here both magnified items are shown with the selected blue tint, but the actual items are unselected.</p>
</blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114977465503949614">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114977465503949614"><p>Beta 5 feels a lot better put-together than previous betas, design wise. There have been a lot of subtle changes to how Liquid Glass works to maintain the effect but reduce the pain points. I think it’s going to ship like this.</p></blockquote>
<p><a href="https://mastodon.social/@chbeer/114978359294240658">Christian Beer</a>:</p>
<blockquote cite="https://mastodon.social/@chbeer/114978359294240658"><p>Opening a menu reloads the whole SwiftUI Table and drops the selection…</p></blockquote>
<p><a href="https://ruby.social/@collin/114979298959063730">Collin Donnell</a>:</p>
<blockquote cite="https://ruby.social/@collin/114979298959063730">
<p>Why does everything bounce and have weird lighting effects? Why are all the controls so big? Why is the thing above the keyboard sometimes a search field and other times a regular text field?</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/22/ios-26-developer-beta-4/">iOS 26 Developer Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/30/assorted-notes-on-liquid-glass/">Assorted Notes on Liquid Glass</a></li>
</ul>
<p id="ios-26-developer-beta-5-update-2025-08-08">Update (<a href="#ios-26-developer-beta-5-update-2025-08-08">2025-08-08</a>): <a href="https://bzamayo.com/ios-26-camera-app-swipe-direction">Benjamin Mayo</a>:</p>
<blockquote cite="https://bzamayo.com/ios-26-camera-app-swipe-direction">
<p>What is even crazier is, in beta 5, there is a new setting for the Camera app called “Classic Mode Switching”. The sole purpose of this toggle is to reverse the scroll direction. That is, to make it again work like every other app. The fact this setting exists at all is wild to me, and even more so that the default is for that toggle to be off, suggesting that having the Camera app defy the fundamental logic of the iPhone’s direct manipulation user interface is the preferred path forward.</p>
</blockquote>
<p><a href="https://www.macrumors.com/how-to/create-new-reminder-single-tap-ios/">Tim Hardwick</a>:</p>
<blockquote cite="https://www.macrumors.com/how-to/create-new-reminder-single-tap-ios/"><p>In iOS 26, currently in beta, creating a new task for Apple’s Reminders app is now a much faster process, thanks to the introduction of a “New Reminder” control that lets you create tasks without ever opening the app.</p></blockquote>
<p><a href="https://mastodon.social/@agiletortoise/114993258681357561">Greg Pierce</a>:</p>
<blockquote cite="https://mastodon.social/@agiletortoise/114993258681357561">
<p>I’m kind of enjoying the seizure-inducing toolbar redraws when you launch most of Apple’s apps on iOS beta 5.</p>
</blockquote>
<p><a href="https://mastodon.social/@agiletortoise/114989531803041076">Greg Pierce</a>:</p>
<blockquote cite="https://mastodon.social/@agiletortoise/114989531803041076">
<p>And the Foundation Model streaming APIs changed in crashy ways somehow in beta 5 and I can’t find anything in the release notes about it. Yea! So late for basic APIs to still be changing.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/06/ios-26-developer-beta-5/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>uBlock Origin Lite for Safari</title>
<link>https://mjtsai.com/blog/2025/08/06/ublock-origin-lite-for-safari/</link>
<comments>https://mjtsai.com/blog/2025/08/06/ublock-origin-lite-for-safari/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 06 Aug 2025 19:10:12 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Safari]]></category>
<category><![CDATA[Safari Extensions]]></category>
<category><![CDATA[searh]]></category>
<category><![CDATA[uBlock Origin]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48800</guid>
<description><![CDATA[PseudorandomNoise (Hacker News): TLDR uBO Lite is available in Test Flight today for all the Cupertino OS’s Jen Simmons (Hacker News, Reddit): Over the years, I’ve heard a lot of developers & other people wish that uBlock Origin was available for Safari. Now it is! Download for Safari 18.6 and Safari 26 beta. VastTension6022: I […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.twit.community/t/ublock-origin-lite-is-getting-a-safari-port/18625">PseudorandomNoise</a> (<a href="https://news.ycombinator.com/item?id=44335664">Hacker News</a>):</p>
<blockquote cite="https://www.twit.community/t/ublock-origin-lite-is-getting-a-safari-port/18625">
<p>TLDR uBO Lite is available in Test Flight today for all the Cupertino OS’s</p>
</blockquote>
<p><a href="https://front-end.social/@jensimmons/114977366715835235">Jen Simmons</a> (<a href="https://news.ycombinator.com/item?id=44795825">Hacker News</a>, <a href="https://www.reddit.com/r/apple/comments/1michxc/ublock_origin_lite_is_now_available_on_the_app/">Reddit</a>):</p>
<blockquote cite="https://front-end.social/@jensimmons/114977366715835235">
<p>Over the years, I’ve heard a lot of developers & other people wish that uBlock Origin was available for Safari. Now it is! <a href="https://apps.apple.com/us/app/ublock-origin-lite/id6745342698">Download</a> for Safari 18.6 and Safari 26 beta.</p>
</blockquote>
<p><a href="https://www.reddit.com/r/apple/comments/1michxc/comment/n72wrp5/">VastTension6022</a>:</p>
<blockquote cite="https://www.reddit.com/r/apple/comments/1michxc/comment/n72wrp5/"><p>I searched using the exact full name, didn’t see it and assumed the store hadn’t been updated yet – but no! It was actually the sixteenth result!</p></blockquote>
<p><a href="https://news.ycombinator.com/item?id=44796042">tomalpha</a>:</p>
<blockquote cite="https://news.ycombinator.com/item?id=44796042">
<p>For the unquoted search, there are twelve different apps/items returned above it - you really have to scroll down to find it at number 13.</p>
<p>Even for the quoted search, it’s returned in fourth place.</p>
</blockquote>
<p>It was also really far down in the App Store search results for me.</p>
<p><a href="https://news.ycombinator.com/item?id=44804921">concinds</a>:</p>
<blockquote cite="https://news.ycombinator.com/item?id=44804921"><p>People should be way more upset at the fact that Safari adblocking today is still inferior to even MV3 Google Chrome. Apple’s implementation of <code>declarativeNetRequest</code> was semi-broken until the very latest iOS 18.6.</p></blockquote>
<p><a href="https://github.com/uBlockOrigin/uBOL-home/wiki/Frequently-asked-questions-(FAQ)">Raymond Hill</a>:</p>
<blockquote cite="https://github.com/uBlockOrigin/uBOL-home/wiki/Frequently-asked-questions-(FAQ)"><p>It’s very possible that the sites you visit do not require any of the <a href="#filtering-capabilities-which-cant-be-ported-to-mv3">filtering capabilities specific to uBO</a>, in which case you won’t see a difference.</p><p>Also, mind that by default there is no generic cosmetic filtering in uBOL while this occurs by default in uBO. In uBOL, you will have to raise the blocking mode to <em>Complete</em> to benefit from generic cosmetic filtering.</p><p>In general, uBOL will be less effective at dealing with <a href="https://x.com/gorhill/status/1792688494999155147">websites using anti-content blocker</a> or minimizing website breakage because many filters can’t be converted into DNR rules (see <a href="https://github.com/uBlockOrigin/uBOL-home/blob/main/chromium/log.txt">log of conversion</a> for technical details).</p><p>[…]</p><p>Because the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest">declarativeNetRequest API</a> does not support the ability to enforce rules according to the top context, i.e. the URL in the address bar, the following capabilities can’t be supported[…]</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/03/magic-lasso-adblock-5-0/">Magic Lasso Adblock 5.0</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/26/chromes-manifest-v3-and-ublock-origin/">Chrome’s Manifest V3 and uBlock Origin</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/18/safari-18-announced/">Safari 18 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2023/04/26/the-four-types-of-safari-extension/">The Four Types of Safari Extension</a></li>
<li><a href="https://mjtsai.com/blog/2019/09/26/safari-13-and-extensions/">Safari 13 and Extensions</a></li>
<li><a href="https://mjtsai.com/blog/2019/06/21/chrome-to-limit-ad-blocking-extensions/">Chrome to Limit Ad Blocking Extensions</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/06/ublock-origin-lite-for-safari/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>Disk Utility: Erase Process Has Failed</title>
<link>https://mjtsai.com/blog/2025/08/06/disk-utility-erase-process-has-failed/</link>
<comments>https://mjtsai.com/blog/2025/08/06/disk-utility-erase-process-has-failed/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 06 Aug 2025 19:09:59 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Disk Utility]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Storage]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48798</guid>
<description><![CDATA[Especially with macOS Sequoia, I get this error almost every time I connect a hard drive or SSD and try to erase it. Disk Utility reports: The calling process or user lacks the proper privileges to perform this operation The workaround is to quit and relaunch Disk Utility.]]></description>
<content:encoded><![CDATA[<p>Especially with macOS Sequoia, I get this error almost every time I connect a hard drive or SSD and try to erase it. Disk Utility reports:</p>
<blockquote><p>The calling process or user lacks the proper privileges to perform this operation</p></blockquote>
<p>The workaround is to quit and relaunch Disk Utility.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/06/disk-utility-erase-process-has-failed/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>macOS Tahoe 26 Developer Beta 5</title>
<link>https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/</link>
<comments>https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 05 Aug 2025 18:29:57 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Core Data]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Beta]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Swift Concurrency]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48784</guid>
<description><![CDATA[Juli Clover (Mr. Macintosh): Apple today provided developers with the fifth beta of macOS Tahoe 26 for testing purposes, with the update coming two weeks after the fourth beta. There are no updates to the release notes, which still say Beta 4. Mario Guzmán: THIS IS THE NEW MACINTOSH HD ICON?! WTF Previously: macOS Tahoe […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/08/05/apple-seeds-macos-tahoe-beta-5-to-developers/">Juli Clover</a> (<a href="https://mrmacintosh.com/macos-tahoe-beta-5-everything-you-need-to-know/">Mr. Macintosh</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/08/05/apple-seeds-macos-tahoe-beta-5-to-developers/">
<p>Apple today provided developers with the fifth beta of macOS Tahoe 26 for testing purposes, with the update coming two weeks after the fourth beta.</p>
</blockquote>
<p>There are <a href="https://x.com/mjtsai/status/1951059190216270054">no updates</a> to the <a href="https://developer.apple.com/documentation/macos-release-notes/macos-26-release-notes">release notes</a>, which still say Beta 4.</p>
<p><a href="https://mastodon.social/@marioguzman/114977561003194566">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114977561003194566">
<p>THIS IS THE NEW MACINTOSH HD ICON?! WTF</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/22/macos-tahoe-26-developer-beta-4/">macOS Tahoe 26 Developer Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/30/assorted-notes-on-liquid-glass/">Assorted Notes on Liquid Glass</a></li>
</ul>
<p id="macos-tahoe-26-developer-beta-5-update-2025-08-06">Update (<a href="#macos-tahoe-26-developer-beta-5-update-2025-08-06">2025-08-06</a>): The <a href="https://developer.apple.com/documentation/macos-release-notes/macos-26-release-notes">release notes</a> now say “beta 5” and call out a few changes (integrated into the list, so you have to search for them):</p>
<blockquote cite="https://developer.apple.com/documentation/macos-release-notes/macos-26-release-notes"><p>In beta 5 SDK, CoreData changed several <code>Sendable</code> annotations to resolve compatibility issues with Swift 6’s new <code>MainActor</code> default isolation feature. These changes include marking <code>NSManagedObject</code> as <code>NS_SWIFT_NONISOLATED NS_SWIFT_NONSENDABLE</code>, marking <code>NSManagedObjectContext</code> as <code>NS_SWIFT_NONISOLATED NS_SWIFT_SENDABLE</code>, and requiring <code>NS_SWIFT_SENDABLE</code> closures for the family of <code>perform</code>, <code>performBlock</code>, <code>performBlockAndWait</code> and similar methods. These changes are ABI compatible with past releases but might introduce new warnings while building source code that violates the longstanding CoreData concurrency guidelines.</p><p><code>NSManagedObject</code> are mutable reference types inextricably related to others in a graph and cannot be made <code>Sendable</code>. They are expected to be isolated to the scope of the <code>NSManagedObjectContext</code> that creates or fetches them. <code>NSManagedObjectContext</code> is a style of actor which encapsulates its own dispatch queue. While it’s impermissible to use many methods on <code>NSManagedObjectContext</code> from other threads, it is permissible to pass references around to invoke the <code>performBlock</code> family of methods, for the purpose of routing a <code>Sendable</code> closure to its managed dispatch queue. CoreData supports a user default <code>-com.apple.CoreData.ConcurrencyDebug 1</code> which can be used to enable additional assertions.</p></blockquote>
<p>I assume this <a href="https://www.donnywals.com/using-launch-arguments-for-easier-core-data-debugging/">debugging default</a> still breaks <code>NSAsynchronousFetchRequest</code> (FB8438285).</p>
<p><a href="https://www.macrumors.com/2025/08/05/macintosh-hd-macos-tahoe/">Juli Clover</a> (<a href="https://hardware.slashdot.org/story/25/08/05/2221223/rip-to-the-macintosh-hd-hard-drive-icon-2000-2025">Slashdot</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/08/05/macintosh-hd-macos-tahoe/">
<p>Apple has been updating some classic Mac icons during the macOS Tahoe beta, upsetting some longtime Mac users who prefer the original look.</p>
</blockquote>
<p><a href="https://x.com/ClassicII_MrMac/status/1952805847576527226">Mr. Macintosh</a>:</p>
<blockquote cite="https://x.com/ClassicII_MrMac/status/1952805847576527226">
<p>RIP Macintosh HD icon (2001-2025) 🪦💐</p>
</blockquote>
<p><a href="https://duck.haus/@joesteel/114978125935825343">Joe Rosensteel</a>:</p>
<blockquote cite="https://duck.haus/@joesteel/114978125935825343">
<p>An external SSD enclosure that resembles a Samsung T7 but with offset port and vent holes like a Mophie power bank. It makes more sense than a naked hard drive because people always need external storage for their Macs that ship with almost none and can’t house any internal drives anyway. Bold move to put the Apple logo on it though.</p>
</blockquote>
<p>Making it look like an SSD is fine, but why make it look like an <em>external</em> SSD? Anyway, the main problem is that <a href="https://mastodon.online/@octothorpe/114978554729765083">it</a> <a href="https://mastodon.social/@leebennett/114979038672609574">isn’t</a> <a href="https://x.com/flarup/status/1952871915112284673">drawn</a> <a href="https://x.com/DamienPetrilli/status/1953122990519906656">well</a>. The <a href="https://mastodon.social/@nicklockwood/114981015250406041">perspective</a> looks wrong and is very off-putting. They did the same thing with the new icon for mounted disk images.</p>
<p><a href="https://pxlnv.com/linklog/tahoe-macintosh-hd-icon/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/tahoe-macintosh-hd-icon/">
<p>I want to put a finer point on the problem with this icon: it is not a mere aesthetic preference or a reaction to change, but a simple acknowledgement that this icon is not good. It has a generic quality, a lack of personality. The perspective does not make sense, either. It is just a sad grey box without any connection to literal data storage on a modern Mac, the “Macintosh HD” label beside it on the Desktop, or any object in the real world.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/114982213630020070">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/114982213630020070">
<p>macOS Icon History<br />
Preview</p>
</blockquote>
<p><a href="https://x.com/krzyzanowskim/status/1952891526734069785">Marcin Krzyzanowski</a>:</p>
<blockquote cite="https://x.com/krzyzanowskim/status/1952891526734069785"><p>these small things that makes the beta 5 (already) feels half baked. the basic controls have broken layout.</p></blockquote>
<p><a href="https://mastodon.social/@lapcatsoftware/114977408929624587">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114977408929624587">
<p>They’ve glassed up the video play button in Safari.</p>
</blockquote>
<p><a href="https://mastodon.social/@colincornaby/114978908010608132">Colin Cornaby</a>:</p>
<blockquote cite="https://mastodon.social/@colincornaby/114978908010608132">
<p>I real curious to see what Apple pro apps like Logic and Final Cut do with Liquid Glass.</p>
</blockquote>
<p><a href="https://mastodon.social/@isaiah/114980735000908516">Isaiah Carew</a>:</p>
<blockquote cite="https://mastodon.social/@isaiah/114980735000908516">
<p>i continue to believe that OS 26 is being designed by people that hate computers and don’t understand the people use them.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/11/25/swift-vision-improving-the-approachability-of-data-race-safety/">Swift Vision: Improving the Approachability of Data-Race Safety</a></li>
</ul>
<p id="macos-tahoe-26-developer-beta-5-update-2025-08-08">Update (<a href="#macos-tahoe-26-developer-beta-5-update-2025-08-08">2025-08-08</a>): <a href="https://mastodon.social/@stroughtonsmith/114987419416210088">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114987419416210088"><p>I guess it shouldn’t be surprising, but with macOS 26 we have finally squandered the last of the ‘free’ graphics performance uplift offered by the M1 chip. Window server has a hard time maintaining 60fps at 4K for moving a single Finder window around. Let’s hope some of that improves in future betas, but I’m not holding my breath</p></blockquote>
<p><a href="https://mastodon.social/@agiletortoise/114984386872032223">Greg Pierce</a>:</p>
<blockquote cite="https://mastodon.social/@agiletortoise/114984386872032223">
<p>There are some weird and worrisome problems with beta 5, at least on Mac.</p>
<p>The App Store version of Drafts crashes on launch on macOS 26b5, getting stuck in recursive layout loop.</p>
<p>I worked around that crash, and can build-and-run on 26b5 and 15.5, no problem – but if I upload that build to TestFlight, it works fine on 26b5, but crashes on launch with a different runtime issue on 15.5.</p>
</blockquote>
<p><a href="https://pdx.social/@louie/114989689416984046">Louis Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114989689416984046">
<p>One good feature in macOS 26 is the ability to change color for all folders on your computer. I’m rocking that Classic Mac light indigo color right now. ☺️</p>
</blockquote>
<p><a href="https://pdx.social/@siracusa@mastodon.social/114990556198264532">John Siracusa</a>:</p>
<blockquote cite="https://pdx.social/@siracusa@mastodon.social/114990556198264532">
<p>I like that Labels in the Finder now change the color of the whole folder (like they used to in classic Mac OS)…except in the Dock, where all folders are always the same color. (FB18696288)</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/114993532340469737">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/114993532340469737">
<p>macOS Icon History<br />
Mission Control</p>
</blockquote>
<p><a href="https://x.com/flarup/status/1953186365367017822">Michael Flarup</a> has a comparison of the old and new drive icons.</p>
<p><a href="https://pdx.social/@louie/114990123597994835">Louis Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114990123597994835">
<p>The [window corner] mess Apple created cannot be overstated. Truly.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/05/macos-tahoe-26-developer-beta-5/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>Apple: The First 50 Years (Forthcoming)</title>
<link>https://mjtsai.com/blog/2025/08/05/apple-the-first-50-years-forthcoming/</link>
<comments>https://mjtsai.com/blog/2025/08/05/apple-the-first-50-years-forthcoming/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 05 Aug 2025 18:29:49 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Anniversary]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Book]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[History]]></category>
<category><![CDATA[Steve Jobs]]></category>
<category><![CDATA[Tim Cook]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48782</guid>
<description><![CDATA[David Pogue (tweet): In time for Apple’s 50th anniversary, “CBS Sunday Morning” correspondent David Pogue tells the iconic company’s entire life story: how it was born, nearly died, was born again under Steve Jobs, and became, under CEO Tim Cook, one of the most valuable companies in the world. The 600-page book features 360 full-color […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.applefirst50.com/">David Pogue</a> (<a href="https://x.com/Pogue/status/1951409549916643385">tweet</a>):</p>
<blockquote cite="https://www.applefirst50.com/">
<p>In time for Apple’s 50th anniversary, “CBS Sunday Morning” correspondent David Pogue tells the iconic company’s entire life story: how it was born, nearly died, was born again under Steve Jobs, and became, under CEO Tim Cook, one of the most valuable companies in the world.</p>
<p>The 600-page book features 360 full-color photos, new facts that correct the record and illuminate Apple’s subversive culture, and 150 fresh interviews with the legendary figures who shaped Apple into what it is today.</p>
</blockquote>
<p>We have to wait until March, but I bet it’s going to be great.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/12/02/microsoft-at-50/">Microsoft at 50</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/24/steve-jobs-objects-of-our-life/">Steve Jobs: Objects of Our Life</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/24/the-mac-at-40/">The Mac at 40</a></li>
<li><a href="https://mjtsai.com/blog/2021/10/05/celebrating-steve-jobs/">Celebrating Steve Jobs</a></li>
<li><a href="https://mjtsai.com/blog/2021/02/25/steve-jobs-stories-2/">Steve Jobs Stories</a></li>
<li><a href="https://mjtsai.com/blog/2018/09/18/an-oral-history-of-apples-infinite-loop/">An Oral History of Apple’s Infinite Loop</a></li>
<li><a href="https://mjtsai.com/blog/2012/02/15/walter-isaacsons-steve-jobs/">Walter Isaacson’s ‘Steve Jobs’</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/05/apple-the-first-50-years-forthcoming/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>SwiftUI DocumentGroups Are Terribly Limited</title>
<link>https://mjtsai.com/blog/2025/08/05/swiftui-documentgroups-are-terribly-limited/</link>
<comments>https://mjtsai.com/blog/2025/08/05/swiftui-documentgroups-are-terribly-limited/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 05 Aug 2025 18:29:30 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 26]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[SwiftUI]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48780</guid>
<description><![CDATA[Christian Tietze: This is how little you need to get started[…][…]What the system does is provide a launch scene for you when you only declare a DocumentGroup in your SwiftUI.App.body. You can customize this by making the launch scene yourself. WWDC24 “Evolve Your Document Launch Experience” contains examples that at least offer to style what’s […]]]></description>
<content:encoded><![CDATA[<p><a href="https://christiantietze.de/posts/2025/07/swiftui-documentgroups-limited/">Christian Tietze</a>:</p>
<blockquote cite="https://christiantietze.de/posts/2025/07/swiftui-documentgroups-limited/"><p>This is how little you need to get started[…]</p><p>[…]</p><p>What the system does is provide a launch scene for you when you only declare a <code>DocumentGroup</code> in your <code>SwiftUI.App.body</code>. You can customize this by making the launch scene yourself. <a href="https://wwdcnotes.com/documentation/wwdcnotes/wwdc24-10132-evolve-your-document-launch-experience/">WWDC24 “Evolve Your Document Launch Experience”</a> contains examples that at least offer to style what’s above the document picker.</p><p>[…]</p><p>So I believe they settled for: throw, and we ignore it; but throw immediately on button press, which means throw twice real quick, then you get an alert, because something’s broken.</p><p>[…]</p><p><code>Scene</code>s cannot contain conditionals, the <a href="https://developer.apple.com/documentation/swiftui/scenebuilder">SceneBuilder</a> does not support this. That means there’s no way to have an app offer different scenes depending on whether or not in-app purchases have been made.</p></blockquote>
<p><a href="https://mastodon.social/@timac/114953551228488193">Alexandre Colucci</a>:</p>
<blockquote cite="https://mastodon.social/@timac/114953551228488193">
<p>It baffles my mind that SwiftUI DocumentGroup still lacks the ability to programmatically create or open documents in response to external triggers like Quick Actions, Quick Look, Widgets, or the Files app.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/18/swiftui-at-wwdc-2025/">SwiftUI at WWDC 2025</a></li>
</ul>
<p id="swiftui-documentgroups-are-terribly-limited-update-2025-08-06">Update (<a href="#swiftui-documentgroups-are-terribly-limited-update-2025-08-06">2025-08-06</a>): <a href="https://x.com/gingerbeardman/status/1952849116444410138">Matt Sephton</a>:</p>
<blockquote cite="https://x.com/gingerbeardman/status/1952849116444410138"><p>I’m currently banging my head against this in my forthcoming pixel art app. Horrible.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/05/swiftui-documentgroups-are-terribly-limited/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>Google Loses Appeal Against Epic</title>
<link>https://mjtsai.com/blog/2025/08/05/google-loses-appeal-against-epic/</link>
<comments>https://mjtsai.com/blog/2025/08/05/google-loses-appeal-against-epic/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 05 Aug 2025 18:29:16 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Android]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[Epic Games]]></category>
<category><![CDATA[Fortnite]]></category>
<category><![CDATA[Google Play Store]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48778</guid>
<description><![CDATA[Mike Scarcella (MacRumors, Slashdot): The San Francisco-based 9th U.S. Circuit Court of Appeals, in a unanimous ruling, rejected, claims from Google that the trial judge made legal errors in the antitrust case that unfairly benefited “Fortnite” maker Epic Games, which filed the lawsuit in 2020.[…]U.S. District Judge James Donato in San Francisco ordered Google in […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.reuters.com/legal/litigation/google-loses-us-appeal-over-app-store-reforms-epic-games-case-2025-07-31/">Mike Scarcella</a> (<a href="https://www.macrumors.com/2025/07/31/epic-games-google-victory/">MacRumors</a>, <a href="https://tech.slashdot.org/story/25/07/31/1846249/google-loses-epic-games-appeal-must-open-app-store-to-rivals">Slashdot</a>):</p>
<blockquote cite="https://www.reuters.com/legal/litigation/google-loses-us-appeal-over-app-store-reforms-epic-games-case-2025-07-31/"><p>The San Francisco-based 9th U.S. Circuit Court of Appeals, in a unanimous ruling, <a href="https://fingfx.thomsonreuters.com/gfx/legaldocs/zjpqoyxnnpx/Epic%20-%20Google%20-%20CA9%20-%2020250731.pdf">rejected</a>, claims from Google that the trial judge made legal errors in the antitrust case that unfairly benefited “Fortnite” maker Epic Games, which filed the lawsuit in 2020.</p><p>[…]</p><p>U.S. District Judge James Donato in San Francisco <a href="https://www.reuters.com/technology/us-judge-orders-google-open-up-app-store-competition-2024-10-07/">ordered Google in October</a> to restore competition by allowing users to download rival app stores within its Play store and by making Play’s app catalog available to those competitors, among other reforms.</p></blockquote>
<p>This seems to go much further than what Apple’s been ordered to do.</p>
<p><a href="https://x.com/TimSweeneyEpic/status/1950962683387261359">Tim Sweeney</a>:</p>
<blockquote cite="https://x.com/TimSweeneyEpic/status/1950962683387261359">
<p>Total victory in the Epic v Google appeal!</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/22/microsoft-supports-epic-against-apples-appeal/">Microsoft Supports Epic Against Apple’s Appeal</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/21/fortnite-returns-to-us-app-store/">Fortnite Returns to US App Store</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/19/epic-files-motion-to-enforce-injunction/">Epic Files Motion to Enforce Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/12/apple-appeals-epic-anti-steering-injunction/">Apple Appeals Epic Anti-Steering Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2023/12/13/epic-wins-antitrust-case-with-google/">Epic Wins Antitrust Case With Google</a></li>
<li><a href="https://mjtsai.com/blog/2020/08/17/epic-sues-over-google-play-store-too/">Epic Sues Over Google Play Store, Too</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/05/google-loses-appeal-against-epic/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>SuperDuper 4.0 Beta</title>
<link>https://mjtsai.com/blog/2025/08/04/superduper-4-0-beta/</link>
<comments>https://mjtsai.com/blog/2025/08/04/superduper-4-0-beta/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 04 Aug 2025 19:57:15 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Backup]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Spotlight]]></category>
<category><![CDATA[SuperDuper]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48766</guid>
<description><![CDATA[Dave Nanian: Our new trace capability showed quite clearly that the folder we were working on was~/Pictures/Photos Library.photoslibrary/database/search/Spotlight/SpotlightKnowledgeEvents/index.V2/journals/12/cs_defaultAnd that’s a folder I don’t have. When the user navigated to it at first, he said it was “empty”…which was weird. But later, he noticed that there was a spinner at the bottom of the Finder window. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.shirtpocket.com/blog/index.php/shadedgrey/v40_beta_1_now_available/">Dave Nanian</a>:</p>
<blockquote cite="https://www.shirtpocket.com/blog/index.php/shadedgrey/v40_beta_1_now_available/"><p>Our new <a href="https://www.shirtpocket.com/blog/index.php/shadedgrey/comments/wrapping_up_v310/">trace capability</a> showed quite clearly that the folder we were working on was</p><pre>~/Pictures/Photos Library.photoslibrary/database/search/Spotlight/SpotlightKnowledgeEvents/index.V2/journals/12/cs_default</pre><p>And that’s a folder I don’t have. When the user navigated to it at first, he said it was “empty”…which was weird. But later, he noticed that there was a spinner at the bottom of the Finder window. I asked him to wait, and >24 hours later, he finally got a list of files.</p><p><strong>6,166,838 of them.</strong></p><p>That’s right. 6,166,838 files. Generated by Spotlight. In one folder. Growing daily.</p></blockquote>
<p>This version adds Tahoe compatibility, but not Liquid Glass:</p>
<blockquote cite="https://www.shirtpocket.com/blog/index.php/shadedgrey/v40_beta_1_now_available/"><p>There are some controls in SuperDuper (such as the Copy Now button with the snapshot selector) that don’t render well in the new, ass-ified theme. Apple’s own use of a similar control (the PDF selector in the Print menu) looks better when it’s not the default button (because the blobs aren’t weird and oversized), but you can see things going wrong when you click on the pop-up, where the highlight exceeds the button size, has a “waist”, etc.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/21/spotlight-indexing-running-wild/">Spotlight Indexing Running Wild</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/27/superduper-3-10-beta-works-around-asr-bug/">SuperDuper 3.10 Beta Works Around asr Bug</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/04/superduper-4-0-beta/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Logging Privacy Shenanigans</title>
<link>https://mjtsai.com/blog/2025/08/04/logging-privacy-shenanigans/</link>
<comments>https://mjtsai.com/blog/2025/08/04/logging-privacy-shenanigans/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 04 Aug 2025 19:57:10 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Debugging]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[os_log]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Programming]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48764</guid>
<description><![CDATA[Peter Steinberger: If you’ve ever tried debugging a macOS app using the unified logging system, you’ve probably encountered the dreaded <private> redaction. Your carefully crafted log messages turn into cryptic puzzles where the most important debugging information is hidden. […] You don’t need to use .mobileconfig files – you can simply drop plist files directly […]]]></description>
<content:encoded><![CDATA[<p><a href="https://steipete.me/posts/2025/logging-privacy-shenanigans">Peter Steinberger</a>:</p>
<blockquote cite="https://steipete.me/posts/2025/logging-privacy-shenanigans">
<p>If you’ve ever tried debugging a macOS app using the unified logging system, you’ve probably encountered the dreaded <code><private></code> redaction. Your carefully crafted log messages turn into cryptic puzzles where the most important debugging information is hidden.</p>
<p>[…]</p>
<p>You don’t need to use <tt>.mobileconfig</tt> files – you can simply drop plist files directly into <tt>/Library/Preferences/Logging/Subsystems/</tt>. This is actually what happens when you install a configuration profile anyway.</p>
<p>[…]</p>
<p>The configuration only affects <strong>new</strong> log entries.</p>
<p>[…]</p>
<p>If you prefer a GUI approach or need to deploy settings across multiple machines, you can still use configuration profiles[…]</p>
</blockquote>
<p>See also: <a href="https://eclecticlight.co/2023/03/08/removing-privacy-censorship-from-the-log/">Howard Oakley</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/30/why-some-apps-sometimes-launch-extremely-slowly/">Why Some Apps Sometimes Launch Extremely Slowly</a></li>
<li><a href="https://mjtsai.com/blog/2019/11/21/catalinas-log-cant-be-unprivatised/">Catalina’s Log Can’t Be Unprivatised</a></li>
<li><a href="https://mjtsai.com/blog/2016/10/27/sierra-log-littering/">Sierra Log Littering</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/04/logging-privacy-shenanigans/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Device Added to Your Account</title>
<link>https://mjtsai.com/blog/2025/08/04/device-added-to-your-account/</link>
<comments>https://mjtsai.com/blog/2025/08/04/device-added-to-your-account/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 04 Aug 2025 19:57:05 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple ID]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[FaceTime]]></category>
<category><![CDATA[iMessage]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Software Update]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48762</guid>
<description><![CDATA[Riccardo Mori: Whenever I revive one of these devices, if it’s still able to access iCloud and other Apple ID-related services, I get a notification on all my other Apple devices that a certain device has now access to FaceTime and iMessage. The wording in this notification has changed for the worse in more recent […]]]></description>
<content:encoded><![CDATA[<p><a href="https://morrick.me/archives/10006">Riccardo Mori</a>:</p>
<blockquote cite="https://morrick.me/archives/10006">
<p>Whenever I revive one of these devices, if it’s still able to access iCloud and other Apple ID-related services, I get a notification on all my other Apple devices that a certain device has now access to FaceTime and iMessage.</p>
<p>The wording in this notification has changed for the worse in more recent versions of Mac OS and iOS/iPadOS.</p>
<p>[…]</p>
<p>[With the previous wording] I can immediately recognise which Mac (or iOS device) it is because the notification itself is telling me its name. And yes, to be perfectly pedant, this should generally be a non-issue because such notification is expected after signing in on a recently-revived Mac. But the notification doesn’t appear <em>immediately afterwards;</em> there is always some delay, and there have been times in the past where I saw this warning pop up on my iPhone while I was out and about, and caught me slightly unawares. Given the vagueness of the new wording, I did stop in my tracks and — since it wasn’t a good time to fiddle with my phone — I rushed to find a quiet spot to enter Settings and check my devices. The device list took a long time to finally load, and while I waited I recalled I had recharged my 11-inch 2013 MacBook Air the previous evening, so the warning was probably about that sign-in.</p>
<p>[…]</p>
<p>Some may argue that the fact that the new wording for such warning ‘makes you look’ and check is a sign of better security and better UI. But I don’t agree, and the reason is that people very quickly learn to dismiss any warning that has become predictable and annoying.</p>
</blockquote>
<p>To me the worst parts are:</p>
<ul>
<li>Even if you go to Settings it doesn’t show you which device is the new one.</li>
<li>The alert doesn’t actually mean that the the device was <em>added</em> in the user sense. Most of the time the device was already in my account, but a software update or something meant that Apple needed to do some kind of key refresh. It feels like I’m being interrupted for an implementation detail.</li>
<li>The alert often arrives very late or only on a device that I rarely use, rather than on the one I was actively using at the time the other device was “added.”</li>
</ul>
<p><a href="https://mastodon.social/@grishka/114609328244934944">Gregory</a>:</p>
<blockquote cite="https://mastodon.social/@grishka/114609328244934944"><p>the problem is deeper. It’s that this is a modal. It demands your attention right this moment. It stands in your way when you’re clearly in the middle of something else.</p><p>These kinds of in-your-face attention-diverting modals are a pet peeve of mine. And I absolutely don’t understand how Apple — the company that always prides itself on its UX prowess, and that is endlessly imitated — could be fine with this for as long as iOS has existed.</p><p>it could’ve been a notification. It could’ve been an email. It could’ve been any number of things that allow the user to deal with it on their own time[…]</p></blockquote>
<p>Doesn’t the transient interruption make it more likely to be ignored?</p>
<p><a href="https://martianbase.net/@mackuba/114954306540758689">Kuba Suder</a> (<a href="https://bsky.app/profile/mackuba.eu/post/3lvdyxub6ck2u">Bluesky</a>):</p>
<blockquote cite="https://martianbase.net/@mackuba/114954306540758689"><p>No Apple, I had this device for <em>9 years</em>, I just turned it on first time in a couple of months, come on, you surely recognize it? 🙄</p><p>Every fucking time I turn on any device I don’t use everyday.</p></blockquote>
<p><a href="https://mastodon.social/@lapcatsoftware/114937763696165525">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114937763696165525">
<p>I got this after updating to macOS 15.6, but I didn’t update Xcode.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/07/the-signal-chat-leak-and-the-nsa/#:~:text=Would%20iOS%20ever%20look%20up%20Goldberg's%20name,get%20these%20all%20the%20time%2C%20and%20they">The Signal Chat Leak and the NSA</a></li>
<li><a href="https://mjtsai.com/blog/2023/11/13/a-picture-is-worth-a-thousand-permissions-requests/">A Picture Is Worth a Thousand Permissions Requests</a></li>
<li><a href="https://mjtsai.com/blog/2022/07/28/ventura-notifies-user-of-new-login-items/">Ventura Notifies User of New Login Items</a></li>
<li><a href="https://mjtsai.com/blog/2019/07/31/the-alert-hammer/">The Alert Hammer</a></li>
</ul>
<p id="device-added-to-your-account-update-2025-08-06">Update (<a href="#device-added-to-your-account-update-2025-08-06">2025-08-06</a>): <a href="https://pxlnv.com/linklog/device-added/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/device-added/"><p>It is usually because of, as Tsai writes, a software update or perhaps adding a travel SIM, so it is poorly confirming something I already know in an interruptive and ambiguous way.</p><p>[…]</p><p>What do I do now? That is rhetorical; I understand I would search it. (I also asked Siri on iOS 26 — you know, <a href="https://mjtsai.com/blog/2025/04/10/siri-product-knowledge/">the one with the product knowledge</a> — and it, too, searched Google.) But what does a normal person do now? This is scary and unhelpful, yet the user interface says in the same breath it might be irrelevant.</p><p>It reminds me a little of the <a href="https://pxlnv.com/linklog/two-factor-authentication-location/">often-wrong map</a> in the dialog box for two-factor authentication. These are features ostensibly to promote greater security but they only erode users’ awareness if they are not designed with more precision and care.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/04/device-added-to-your-account/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>AccuWeather to Discontinue Free API</title>
<link>https://mjtsai.com/blog/2025/08/04/accuweather-to-discontinue-free-api/</link>
<comments>https://mjtsai.com/blog/2025/08/04/accuweather-to-discontinue-free-api/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 04 Aug 2025 19:56:53 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[AccuWeather]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Sunset]]></category>
<category><![CDATA[Weather]]></category>
<category><![CDATA[Web API]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48760</guid>
<description><![CDATA[AccuWeather (via Hacker News): AccuWeather’s current Free Limited Trials for Core Weather and MinuteCast® will be retired with the new portal launch. […] Once your trial ends, you can keep building with our affordable Starter package, which offers essential API access at a competitive monthly rate. It doesn’t say what the new plans are. Previously: Weather […]]]></description>
<content:encoded><![CDATA[<p><a href="https://developer.accuweather.com/new-portal">AccuWeather</a> (via <a href="https://news.ycombinator.com/item?id=44663003">Hacker News</a>):</p>
<blockquote cite="https://developer.accuweather.com/new-portal">
<p>AccuWeather’s current Free Limited Trials for Core Weather and MinuteCast® will be retired with the new portal launch.</p>
<p>[…]</p>
<p>Once your trial ends, you can keep building with our affordable Starter package, which offers essential API access at a competitive monthly rate.</p>
</blockquote>
<p>It doesn’t say what the new plans are.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2023/01/27/weather-machine/">Weather Machine</a></li>
<li><a href="https://mjtsai.com/blog/2022/09/21/forecastadvisor/">ForecastAdvisor</a></li>
<li><a href="https://mjtsai.com/blog/2022/06/08/weatherkit/">WeatherKit</a></li>
<li><a href="https://mjtsai.com/blog/2020/08/20/weather-apps-after-dark-sky/">Weather Apps, After Dark Sky</a></li>
<li><a href="https://mjtsai.com/blog/2020/03/31/apple-buys-dark-sky/">Apple Buys Dark Sky</a></li>
<li><a href="https://mjtsai.com/blog/2017/08/23/accuweather-caught-sending-user-location-data-even-when-location-sharing-is-off/">AccuWeather Caught Sending User Location Data, Even When Location Sharing Is Off</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/04/accuweather-to-discontinue-free-api/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Apple’s Q3 2025 Results</title>
<link>https://mjtsai.com/blog/2025/08/01/apples-q3-2025-results/</link>
<comments>https://mjtsai.com/blog/2025/08/01/apples-q3-2025-results/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 01 Aug 2025 20:27:57 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Apple Intelligence]]></category>
<category><![CDATA[Apple Quarterly Results]]></category>
<category><![CDATA[Apple Services]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[China]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iPhone 16]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Tim Cook]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48747</guid>
<description><![CDATA[Apple (transcript, MacRumors): The Company posted quarterly revenue of $94.0 billion, up 10 percent year over year, and quarterly diluted earnings per share of $1.57, up 12 percent year over year. “Today Apple is proud to report a June quarter revenue record with double-digit growth in iPhone, Mac and Services and growth around the world, […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/07/apple-reports-third-quarter-results/">Apple</a> (<a href="https://sixcolors.com/post/2025/07/this-is-tim-transcript-of-apples-q3-2025-financial-call/">transcript</a>, <a href="https://www.macrumors.com/2025/07/31/apple-3q-2025-earnings/">MacRumors</a>):</p>
<blockquote cite="https://www.apple.com/newsroom/2025/07/apple-reports-third-quarter-results/">
<p>The Company posted quarterly revenue of $94.0 billion, up 10 percent year over year, and quarterly diluted earnings per share of $1.57, up 12 percent year over year.</p>
<p>“Today Apple is proud to report a June quarter revenue record with double-digit growth in iPhone, Mac and Services and growth around the world, in every geographic segment,” said Tim Cook, Apple’s CEO.</p>
</blockquote>
<p><a href="https://sixcolors.com/post/2025/07/apple-q3-2025-results-and-charts-95b-revenue/">Jason Snell</a> (<a href="https://sixcolors.com/member-podcast/2025/07/apple-q3-2025-results-reactions/">podcast</a>):</p>
<blockquote cite="https://sixcolors.com/post/2025/07/apple-q3-2025-results-and-charts-95b-revenue/">
<p>Mac revenue was up 15%, iPhone revenue up 13%, and Services revenue up 13%. The Wearables/Home/Accessories category was down 9% and iPad revenue down 8%.</p>
</blockquote>
<p><a href="https://sixcolors.com/post/2025/07/apple-accelerates-the-roadmap-and-ratchets-its-revenue/">Jason Snell</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/07/apple-accelerates-the-roadmap-and-ratchets-its-revenue/">
<p>Apple is so big and has so many customers that it just slowly gets larger and larger. Every quarter, Apple trumpets the increase in its global installed base of devices, and this quarter was no different. Every quarter, Apple cherry-picks some specific stats about new buyers that boggle the mind—over half of this quarter’s iPad and Apple Watch buyers were buying their first one of those products?!</p>
<p>[…]</p>
<p>For all the hand-wringing about Apple’s long-term fate in the Chinese market, Cook took time out to point out that “the MacBook Air was the top-selling laptop model in all of China, and the Mac Mini was the top-selling desktop model in all of China.”</p>
<p>[…]</p>
<p>Apple is “significantly” increasing what it spends on AI, as well as taking people internally and re-tasking them.</p>
</blockquote>
<p><a href="https://mastodon.social/@lapcatsoftware/114950285026571937">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114950285026571937">
<p>I wonder if Mac mini is the top selling desktop model in the world?</p>
</blockquote>
<p><a href="https://www.macrumors.com/2025/07/31/apple-q3-sales-tariff-boost/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/31/apple-q3-sales-tariff-boost/"><p>Speaking to <em><a href="https://www.reuters.com/world/asia-pacific/apple-crushes-wall-street-expectations-iphone-sales-soar-2025-07-31">Reuters</a></em>, Cook said that approximately one percentage point of Apple’s 10 percent sales growth in Q3 2025 can be attributed to customers buying more products to get ahead of tariffs.</p></blockquote>
<p><a href="https://www.macrumors.com/2025/07/31/iphone-16-more-popular-than-iphone-15/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/31/iphone-16-more-popular-than-iphone-15/">
<p>Speaking to <em><a href="https://www.cnbc.com/2025/07/31/apple-aapl-q3-earnings-report-2025.html">CNBC</a></em>, Apple CEO <a href="https://www.macrumors.com/guide/tim-cook/">Tim Cook</a> said that iPhone revenue was up because the <a href="https://www.macrumors.com/roundup/iphone-16/">iPhone 16</a> turned out to be more popular with consumers than the <a href="https://www.macrumors.com/roundup/iphone-15/">iPhone 15</a> was during the same time period last year.</p>
</blockquote>
<p>I think the iPhone 15 was the one that didn’t get a new processor and didn’t support Apple Intelligence.</p>
<p><a href="https://www.macrumors.com/2025/08/01/apple-earnings-call-references-google-search-deal/">Joe Rossignol</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/01/apple-earnings-call-references-google-search-deal/"><p>Specifically, Apple’s CFO Kevan Parekh said that the company’s September quarter revenue outlook was contingent on Apple’s revenue-sharing agreement with Google continuing. As noted <a href="https://sixcolors.com/post/2025/07/apple-accelerates-the-roadmap-and-ratchets-its-revenue/">by Jason Snell at <em>Six Colors</em></a>, this is seemingly the first time Apple has directly referred to the threat of losing this revenue within its prepared remarks.</p></blockquote>
<p><a href="https://pxlnv.com/linklog/cook-era/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/cook-era/">
<p>On 16 September 1997, Steve Jobs <a href="https://www.wired.com/2010/09/0916jobs-out-in-apple/">became interim CEO</a> of Apple. <a href="https://www.wolframalpha.com/input?i=number+of+days+between+16+september+1997+and+24+august+2011">5,090 days later</a>, he <a href="https://www.apple.com/newsroom/2011/08/24Steve-Jobs-Resigns-as-CEO-of-Apple/">handed the reins</a> to Tim Cook, weeks before he died.</p>
<p>5,090 days after 24 August 2011 <a href="https://www.wolframalpha.com/input?i=5090+days+after+24+august+2011">is today</a>. The Cook era is now as long as the Jobs renaissance era.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/02/apples-q2-2025-results/">Apple’s Q2 2025 Results</a></li>
<li><a href="https://mjtsai.com/blog/2024/12/27/apple-to-defend-google-revenue-sharing-agreement/">Apple to Defend Google Revenue Sharing Agreement</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/05/apples-q3-2024-results/">Apple’s Q3 2024 Results</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/01/apples-q3-2025-results/feed/</wfw:commentRss>
<slash:comments>10</slash:comments>
</item>
<item>
<title>Proton Pass and Proton Authenticator</title>
<link>https://mjtsai.com/blog/2025/08/01/proton-pass-and-proton-authenticator/</link>
<comments>https://mjtsai.com/blog/2025/08/01/proton-pass-and-proton-authenticator/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 01 Aug 2025 20:27:11 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Android]]></category>
<category><![CDATA[Android App]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[iOS Apps on macOS]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Open Source]]></category>
<category><![CDATA[Passwords]]></category>
<category><![CDATA[Proton]]></category>
<category><![CDATA[Proton Pass]]></category>
<category><![CDATA[Safari Extensions]]></category>
<category><![CDATA[Security]]></category>
<category><![CDATA[Two-Factor Authentication (2FA)]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48743</guid>
<description><![CDATA[Romain Dillet (2023, Hacker News): Proton, the Geneva, Switzerland-based company behind the end-to-end encrypted email service Proton Mail, as well as Proton VPN, Proton Drive and Proton Calendar, is announcing a brand new product today. And it’s a password manager called Proton Pass.Like other Proton products, the company is insisting on the privacy and security […]]]></description>
<content:encoded><![CDATA[<p><a href="https://techcrunch.com/2023/04/20/proton-announces-proton-pass-a-password-manager/">Romain Dillet</a> (2023, <a href="https://news.ycombinator.com/item?id=35638902">Hacker News</a>):</p>
<blockquote cite="https://techcrunch.com/2023/04/20/proton-announces-proton-pass-a-password-manager/"><p>Proton, the Geneva, Switzerland-based company behind the end-to-end encrypted email service Proton Mail, as well as Proton VPN, Proton Drive and Proton Calendar, is announcing a brand new product today. And it’s a password manager called <a href="https://proton.me/pass">Proton Pass</a>.</p><p>Like other Proton products, the company is insisting on the privacy and security features of this new password manager. Everything you store in Proton Pass is end-to-end encrypted, including passwords (obviously), email addresses, URLs and notes.</p></blockquote>
<p><a href="https://proton.me/blog/proton-pass-all-devices">Son Nguyen Kim</a> (2024, <a href="https://www.macrumors.com/2024/06/06/proton-pass-password-manager/">MacRumors</a>):</p>
<blockquote cite="https://proton.me/blog/proton-pass-all-devices"><p>Today, we’re excited to announce the launch of the <strong>Proton Pass macOS app</strong> and the <strong>Proton Pass Linux app</strong>. One of the most popular requests from the Proton community was a standalone desktop app, which is now available on every major platform — Windows, macOS, Linux, Android, iOS and iPadOS, and Chrome OS (via our Android app). </p><p>As a companion to the Proton Pass macOS app, we’re also pleased to announce the standalone native <strong>Safari browser extension</strong>. This extension offers enhanced convenience and security for everyone that uses macOS’s default browser. Unlike Safari’s default password manager, Proton Pass allows you to sync your logins across multiple different browsers and devices, ensuring consistent access across all platforms.</p></blockquote>
<p><a href="https://proton.me/blog/authenticator-app">Son Nguyen Kim</a> (<a href="https://www.macrumors.com/2025/07/31/proton-releases-new-two-factor-authentication-app/">MacRumors</a>, <a href="https://talk.tidbits.com/t/proton-authenticator-for-2fa/31615/1">TidBITS-Talk</a>, <a href="https://news.ycombinator.com/item?id=44754670">Hacker News</a>):</p>
<blockquote cite="https://proton.me/blog/authenticator-app">
<p>Today we’re introducing Proton Authenticator, a free 2FA app that gives you more flexibility than other authenticators, along with strong encryption from a trusted team. Proton Authenticator is open source like all our apps, available for every device (including desktop!), and lets you import all your existing 2FA tokens in seconds.</p>
<p>Proton Authenticator is available now for free on iOS, Android, macOS, Windows, and Linux.</p>
</blockquote>
<p>The <a href="https://apps.apple.com/us/app/proton-authenticator/id6741758667">App Store description</a> says:</p>
<blockquote cite="https://apps.apple.com/us/app/proton-authenticator/id6741758667"><p>Effortless Import: Migrate from Google Authenticator, Authy, or any other app in seconds.</p></blockquote>
<p>But this doesn’t seem to include Apple Passwords <em>or</em> 1Password.</p>
<p>Last year, Proton also introduced their <a href="https://www.engadget.com/proton-launches-its-own-version-of-google-docs-100044471.html?guccounter=1">own</a> <a href="https://www.macrumors.com/2024/07/03/proton-launches-encrypted-google-docs/">version</a> <a href="https://news.ycombinator.com/item?id=40864914">of</a> Google Docs, with a <a href="https://proton.me/blog/proton-standard-notes-join-forces">notes</a> <a href="https://news.ycombinator.com/item?id=39988912">app</a> forthcoming. So they seem to be doing the opposite of Dropbox.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/01/dropbox-discontinues-passwords-app/">Dropbox Discontinues Passwords App</a></li>
<li><a href="https://mjtsai.com/blog/2025/08/01/nsautofillrequirestextcontenttypeforonetimecodeonmac/">NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/20/apple-previews-passkeys-credential-exchange/">Apple Previews Passkeys Credential Exchange</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/19/apple-passwords-app-in-sequoia-and-ios-18/">Apple Passwords App in Sequoia and iOS 18</a></li>
<li><a href="https://mjtsai.com/blog/2021/07/09/migrating-2fa-codes-from-authy-to-icloud-keychain/">Migrating 2FA Codes From Authy to iCloud Keychain</a></li>
</ul>
<p id="proton-pass-and-proton-authenticator-update-2025-08-08">Update (<a href="#proton-pass-and-proton-authenticator-update-2025-08-08">2025-08-08</a>): <a href="https://tidbits.com/2025/08/07/appbits-proton-authenticator-takes-on-2fa-apps/">Adam Engst</a>:</p>
<blockquote cite="https://tidbits.com/2025/08/07/appbits-proton-authenticator-takes-on-2fa-apps/">
<p>However, for Authy and Microsoft Authenticator, Proton Authenticator just indicates that they don’t offer export options, so there’s no way to import from them. Why include them in the interface when there’s no chance they could work?</p>
<p>Missing from the import list are 1Password and Apple’s Passwords. 1Password seems like an understandable omission, since I see no way of extracting the two-factor authentication seed. However, Apple’s Passwords does allow copying of a setup URL that contains a <code>secret</code> attribute you can paste in when manually creating a Proton Authenticator account.</p>
<p>[…]</p>
<p>When used within the Apple ecosystem, Proton Authenticator lets you sync accounts via iCloud, which is easier than Authy’s separate account. A Proton account is necessary if you want to sync across platforms.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/01/proton-pass-and-proton-authenticator/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>Dropbox Discontinues Passwords App</title>
<link>https://mjtsai.com/blog/2025/08/01/dropbox-discontinues-passwords-app/</link>
<comments>https://mjtsai.com/blog/2025/08/01/dropbox-discontinues-passwords-app/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 01 Aug 2025 20:27:00 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Dropbox]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Passwords]]></category>
<category><![CDATA[Sunset]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48741</guid>
<description><![CDATA[Dropbox (Hacker News, TidBITS-Talk, MacRumors, Slashdot): As part of our efforts to focus on enhancing other features in our core product, Dropbox Passwords will be discontinued on October 28, 2025.We recommend transferring your passwords to another password manager application such as 1Password—a highly trusted and secure password manager. Good that they are focusing on the […]]]></description>
<content:encoded><![CDATA[<p><a href="https://help.dropbox.com/en-us/installs/dropbox-passwords-discontinuation">Dropbox</a> (<a href="https://news.ycombinator.com/item?id=44727653">Hacker News</a>, <a href="https://talk.tidbits.com/t/dropbox-passwords-is-shutting-down/31614">TidBITS-Talk</a>, <a href="https://www.macrumors.com/2025/07/31/dropbox-passwords-shutting-down/">MacRumors</a>, <a href="https://it.slashdot.org/story/25/07/30/1814253/dropbox-pulls-the-plug-on-password-manager">Slashdot</a>):</p>
<blockquote cite="https://help.dropbox.com/en-us/installs/dropbox-passwords-discontinuation"><p>As part of our efforts to focus on enhancing other features in our core product, Dropbox Passwords will be discontinued on October 28, 2025.</p><p>We recommend transferring your passwords to another password manager application such as <a href="https://1password.com/">1Password</a>—a highly trusted and secure password manager.</p></blockquote>
<p>Good that they are focusing on the core product—it needs work and I haven’t found their side projects compelling—but only one-month notice before the app stops working and three months before the data are deleted is not great.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/08/01/proton-pass-and-proton-authenticator/">Proton Pass and Proton Authenticator</a></li>
<li><a href="https://mjtsai.com/blog/2022/05/03/1password-8-for-mac/">1Password 8 for Mac</a></li>
<li><a href="https://mjtsai.com/blog/2021/03/16/dropbox-passwords/">Dropbox Passwords</a></li>
<li><a href="https://mjtsai.com/blog/2019/06/13/meet-the-new-dropbox/">Meet the New Dropbox</a></li>
<li><a href="https://mjtsai.com/blog/2017/10/03/evolving-the-dropbox-brand/">Evolving the Dropbox Brand</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/01/dropbox-discontinues-passwords-app/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac</title>
<link>https://mjtsai.com/blog/2025/08/01/nsautofillrequirestextcontenttypeforonetimecodeonmac/</link>
<comments>https://mjtsai.com/blog/2025/08/01/nsautofillrequirestextcontenttypeforonetimecodeonmac/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 01 Aug 2025 20:26:20 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Cocoa]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Security]]></category>
<category><![CDATA[Short Message Service (SMS)]]></category>
<category><![CDATA[Two-Factor Authentication (2FA)]]></category>
<category><![CDATA[Web Browser]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48739</guid>
<description><![CDATA[Ricky Mondello: As you’ve undoubtedly heard by now, macOS Tahoe brings Security Code AutoFill of delivered codes (via Messages and Mail) to all Mac apps, including web browsers, without text field content type annotations. This matches the iOS behavior since iOS 12.We’ve published some documentation about this new behavior, as well as how Mac apps […]]]></description>
<content:encoded><![CDATA[<p><a href="https://hachyderm.io/@rmondello/114937340699239807">Ricky Mondello</a>:</p>
<blockquote cite="https://hachyderm.io/@rmondello/114937340699239807"><p>As you’ve undoubtedly heard by now, macOS Tahoe brings Security Code AutoFill of delivered codes (via Messages and Mail) to <em>all</em> Mac apps, including web browsers, without text field content type annotations. This matches the iOS behavior since iOS 12.</p><p>We’ve published some <a href="https://developer.apple.com/documentation/bundleresources/information-property-list/nsautofillrequirestextcontenttypeforonetimecodeonmac">documentation</a> about this new behavior, as well as how Mac apps can opt out of being eligible for one-time codes (without annotating fields) via a new <tt>Info.plist</tt> key.</p></blockquote>
<p>I don’t really understand why this is opt-out, since it seems like it isn’t relevant to 99% of the text fields on my Mac. Are the expectations so low about apps that would benefit doing the work to opt-in? However, it’s <em>great</em> news that this system is being opened up to third-party browsers and apps.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2019/10/21/safari-security-code-autofill/">Safari Security Code AutoFill</a></li>
</ul>
<p id="nsautofillrequirestextcontenttypeforonetimecodeonmac-update-2025-08-05">Update (<a href="#nsautofillrequirestextcontenttypeforonetimecodeonmac-update-2025-08-05">2025-08-05</a>): <a href="https://mastodon.social/@robinkunde@hachyderm.io/114956784443112032">Robin Kunde</a>:</p>
<blockquote cite="https://mastodon.social/@robinkunde@hachyderm.io/114956784443112032">
<p>I’m a little confused by Ricky’s post. IMO 2FA autofill in apps was always opt-in since you had to designate a content type for it to work.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/08/01/nsautofillrequirestextcontenttypeforonetimecodeonmac/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Tea and the App Store</title>
<link>https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/</link>
<comments>https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 31 Jul 2025 20:46:52 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Android]]></category>
<category><![CDATA[Android App]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[Breach]]></category>
<category><![CDATA[Dating Apps]]></category>
<category><![CDATA[Google Play Store]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Law Enforcement]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Privacy Nutrition Labels]]></category>
<category><![CDATA[Tea]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48723</guid>
<description><![CDATA[John Gruber (Mastodon, Hacker News): I might be forgetting or unaware of previous similar situations, but I can’t recall anything like this before, where an app riddled with outrageous security/privacy vulnerabilities remains virally popular. A Hacker News thread from earlier today debates why the app is even still available on the App Store. So is […]]]></description>
<content:encoded><![CDATA[<p><a href="https://daringfireball.net/2025/07/tea_number_3_app_store">John Gruber</a> (<a href="https://mastodon.social/@daringfireball/114943576189083154">Mastodon</a>, <a href="https://news.ycombinator.com/item?id=44732995">Hacker News</a>):</p>
<blockquote cite="https://daringfireball.net/2025/07/tea_number_3_app_store">
<p>I might be forgetting or unaware of previous similar situations, but I can’t recall anything like this before, where an app riddled with <a href="https://daringfireball.net/linked/2025/07/28/tea-breach-worsens">outrageous security/privacy vulnerabilities</a> remains virally popular. A Hacker News thread from earlier today <a href="https://news.ycombinator.com/item?id=44732995">debates why the app is even still available on the App Store</a>.</p>
<p>So is it Apple’s place to yank the app? It feels wrong to me that Apple should completely remove Tea from the App Store, but it’s also true that one of Apple’s fundamental pitches for the App Store — and the App Store’s exclusivity for app distribution in most of the world — is that iOS users can trust any and all apps in the App Store because they’re vetted by Apple. But here’s Tea, sitting at #3, providing a service that many woman want, and the entire thing is shockingly untrustworthy. (I fully expect more vulnerabilities to be found and exploited.)</p>
<p>[…]</p>
<p>I strongly suspect that while Google hasn’t removed Tea from the Play Store, that they’ve delisted it from discovery other than by searching for it by name or following a direct link to its listing. That both jibes with what I’m seeing on the Play Store top lists, and strikes me as a thoughtful balance between the responsibilities of an app store provider.</p>
</blockquote>
<p>Apple’s <a href="https://developer.apple.com/app-store/review/guidelines/">guidelines</a>:</p>
<blockquote cite="https://developer.apple.com/app-store/review/guidelines/"><p>Protecting user privacy is paramount in the Apple ecosystem, and you should use care when handling personal data to ensure you’ve complied with <a href="https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy">privacy best practices</a>, applicable laws, and the terms of the <a href="https://developer.apple.com/support/terms/">Apple Developer Program License Agreement</a>, not to mention customer expectations.</p><p>[…]</p><p>All apps must include a link to their privacy policy in the App Store Connect metadata field and within the app in an easily accessible manner.</p><p>[…]</p><p>Explain its data retention/deletion policies and describe how a user can revoke consent and/or request deletion of the user’s data.</p></blockquote>
<p><a href="https://www.teaforwomen.com/privacy">Tea’s privacy policy</a>:</p>
<blockquote cite="https://www.teaforwomen.com/privacy"><p>We retain personal information we collect from You where we have an ongoing legitimate business need to do so (for example, to provide you with a service you have requested or to comply with applicable legal, tax, or accounting requirements). When we have no ongoing legitimate business need to process personal information, we will either delete or anonymize it or, if this is not possible (for example, because personal information has been stored in backup archives), then we will securely store personal information and isolate it from any further processing until deletion is possible.</p></blockquote>
<p><a href="https://www.teaforwomen.com/cyberincident">Tea</a>:</p>
<blockquote cite="https://www.teaforwomen.com/cyberincident">
<p>Your data privacy is of the utmost importance to us. We are taking all necessary measures to strengthen our security posture and ensure that no further data is exposed.</p>
<p>[…]</p>
<p>This data was originally archived in compliance with law enforcement requirements related to cyber-bullying prevention. At this time, we have no evidence to suggest that photos can be linked to specific users within the app.</p>
</blockquote>
<p>This last sentence turned out to be false.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/28/uk-online-safety-act/">UK Online Safety Act</a></li>
</ul>
<p id="tea-and-the-app-store-update-2025-08-04">Update (<a href="#tea-and-the-app-store-update-2025-08-04">2025-08-04</a>): <a href="https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/#comments">Sören</a>:</p>
<blockquote cite="https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/#comments"><p>I mean, hang on. We <em>do</em> have those privacy nutrition labels on the App Store, and here’s what Tea claims[…]</p><p>That’s it. They claim they collect your e-mail address, for tracking and ID-linking purposes.</p><p>Evidently, that’s untrue especially for those unlucky enough to submit photos of their driving licenses and believing in good faith that Tea would delete them. Not only were they collected; they were (of obvious reasons) linked to the accounts, which in turn meant that people could easily create a <em>map</em> of users. Location data! (Not to mention, of course, real names, ages, …)</p></blockquote>
<p>It seems like the main benefit of Privacy Nutrition Labels is as a checklist to help good developers be more thoughtful about which information they really need to collect. That’s fine, but I’m not sure it moves the needle much. Then you have incompetent and unscrupulous developers who submit false labels, which Apple couldn’t really verify even if it wanted it, so they basically launder Apple’s reputation to lull customers into a false sense of security. What’s the argument that the net effect of the labels is positive? That the bad actors were going to be bad anyway and people don’t read/trust the labels and so aren’t swayed by them?</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2021/02/22/google-vs-ios-app-privacy-labels/">Google vs. iOS App Privacy Labels</a></li>
<li><a href="https://mjtsai.com/blog/2021/02/01/misleading-and-inaccurate-ios-privacy-labels/">Misleading and Inaccurate iOS Privacy Labels</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/31/tea-and-the-app-store/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>Sploitlight</title>
<link>https://mjtsai.com/blog/2025/07/31/sploitlight/</link>
<comments>https://mjtsai.com/blog/2025/07/31/sploitlight/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 31 Jul 2025 20:46:43 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Intelligence]]></category>
<category><![CDATA[Exploit]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Spotlight]]></category>
<category><![CDATA[Transparency Consent and Control (TCC)]]></category>
<category><![CDATA[Uniform Type Identifier]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48721</guid>
<description><![CDATA[Microsoft Threat Intelligence (MacRumors): Microsoft Threat Intelligence has discovered a macOS vulnerability that could allow attackers to steal private data of files normally protected by Transparency, Consent, and Control (TCC), such as files in the Downloads folder, as well as caches utilized by Apple Intelligence. While similar to prior TCC bypasses like HM-Surf and powerdir, […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.microsoft.com/en-us/security/blog/2025/07/28/sploitlight-analyzing-a-spotlight-based-macos-tcc-vulnerability/">Microsoft Threat Intelligence</a> (<a href="https://www.macrumors.com/2025/07/28/microsoft-macos-spotlight-vulnerability/">MacRumors</a>):</p>
<blockquote cite="https://www.microsoft.com/en-us/security/blog/2025/07/28/sploitlight-analyzing-a-spotlight-based-macos-tcc-vulnerability/"><p>Microsoft Threat Intelligence has discovered a macOS vulnerability that could allow attackers to steal private data of files normally protected by Transparency, Consent, and Control (TCC), such as files in the <em>Downloads</em> folder, as well as caches utilized by Apple Intelligence. While similar to prior TCC bypasses like <a href="https://www.microsoft.com/security/blog/2024/10/17/new-macos-vulnerability-hm-surf-could-lead-to-unauthorized-data-access/">HM-Surf</a> and <a href="https://www.microsoft.com/security/blog/2022/01/10/new-macos-vulnerability-powerdir-could-lead-to-unauthorized-user-data-access/">powerdir</a>, the implications of this vulnerability, which we refer to as “Sploitlight” for its use of Spotlight plugins, are more severe due to its ability to extract and leak sensitive information cached by Apple Intelligence, such as precise geolocation data, photo and video metadata, face and person recognition data, search history and user preferences, and more. These risks are further complicated and heightened by the remote linking capability between iCloud accounts, meaning an attacker with access to a user’s macOS device could also exploit the vulnerability to determine remote information of other devices linked to the same iCloud account.</p><p>[…]</p><p>On modern macOS systems, Spotlight plugins are not even permitted to read or write any file other than the one being scanned. However, we have concluded that this is insufficient, as there are multiple ways for attackers to exfiltrate the file’s contents.</p><p>[…]</p><p>Change the bundle’s <em>Info.plist</em> and <em>schema.xml</em> files to declare the file types they wish to leak in <a href="https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_intro/understand_utis_intro.html">UTI</a> form. Since we assume an attacker runs locally, this is always possible to resolve, even for dynamic types.</p><p>Copy the bundle into <em>~/Library/Spotlight</em> directory. Note the bundle does not need to be signed at all.</p></blockquote>
<p><a href="https://www.bleepingcomputer.com/news/security/microsoft-macos-sploitlight-flaw-leaks-apple-intelligence-data/">Sergiu Gatlan</a>:</p>
<blockquote cite="https://www.bleepingcomputer.com/news/security/microsoft-macos-sploitlight-flaw-leaks-apple-intelligence-data/"><p>In recent years, Microsoft security researchers have found multiple other severe macOS vulnerabilities, including a SIP bypass <a href="https://www.bleepingcomputer.com/news/security/microsoft-shrootless-bug-lets-hackers-install-macos-rootkits/">dubbed ‘Shrootless</a>’ (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-30892">CVE-2021-30892</a>), reported in 2021, which enables attackers to install rootkits on compromised Macs.</p><p>More recently, they discovered a SIP bypass <a href="https://www.bleepingcomputer.com/news/security/microsoft-finds-macos-bug-that-lets-hackers-bypass-sip-root-restrictions/">dubbed ‘Migraine’</a> (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32369">CVE-2023-32369</a>) and a security flaw <a href="https://www.bleepingcomputer.com/news/security/microsoft-finds-macos-bug-that-lets-malware-bypass-security-checks/">named Achilles(</a><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42821">CVE-2022-42821</a>), which can be exploited to install malware using untrusted apps that bypass Gatekeeper execution restrictions.</p><p>Last year, they reported <a href="https://www.bleepingcomputer.com/news/security/microsoft-macos-bug-lets-hackers-install-malicious-kernel-drivers/">another SIP bypass</a> flaw (<a href="https://nvd.nist.gov/vuln/detail/CVE-2024-44243">CVE-2024-44243</a>) that lets threat actors deploy malicious kernel drivers by loading third-party kernel extensions.</p></blockquote>
<p><a href="https://x.com/theevilbit/status/1949874621227884638">Csaba Fitzl</a>:</p>
<blockquote cite="https://x.com/theevilbit/status/1949874621227884638"><p>Apple failed to fix this so many times. I first reported this back in macOS Big Sur, and it’s literally detailed in my EXP-312 course in “Bypass TCC via Spotlight Importer Plugins”</p></blockquote>
<p><a href="https://x.com/theevilbit/status/1949874979476066608">Csaba Fitzl</a>:</p>
<blockquote cite="https://x.com/theevilbit/status/1949874979476066608"><p>Then I reported it again and was fixed as CVE-2024-54533.</p><p>Looks like it still wasn’t fixed properly.</p></blockquote>
<p>See also: <a href="https://eclecticlight.co/2025/07/30/a-deeper-dive-into-spotlight-indexes/">Howard Oakley</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/10/21/tcc-and-gatekeeper-bypasses/">TCC and Gatekeeper Bypasses</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/31/sploitlight/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>iCloud Backups Lawsuit</title>
<link>https://mjtsai.com/blog/2025/07/30/icloud-backups-lawsuit/</link>
<comments>https://mjtsai.com/blog/2025/07/30/icloud-backups-lawsuit/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 30 Jul 2025 18:32:14 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[Backup]]></category>
<category><![CDATA[iCloud]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48716</guid>
<description><![CDATA[Hartley Charlton (Gamboa v. Apple PDF): Apple will face a proposed class action lawsuit in California federal court over allegations that iCloud unlawfully monopolizes iPhone users’ access to core device backups, following a judge’s decision to deny the company’s motion to dismiss the case (via Reuters). I wonder if this is the wrong Reuters link, […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/06/18/apple-hit-with-lawsuit-over-icloud-backups/">Hartley Charlton</a> (<a href="https://fingfx.thomsonreuters.com/gfx/legaldocs/egvblzznnvq/Gamboa%20v%20Apple%20-%20cloud%20storage%20-%2020250616.pdf">Gamboa v. Apple PDF</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/06/18/apple-hit-with-lawsuit-over-icloud-backups/"><p>Apple will face a proposed class action lawsuit in California federal court over allegations that iCloud unlawfully monopolizes iPhone users’ access to core device backups, following a judge’s decision to deny the company’s motion to dismiss the case (via <a href="https://www.reuters.com/sustainability/boards-policy-regulation/apple-beats-us-appeal-claiming-it-shortchanged-customers-icloud-storage-2025-07-23/">Reuters</a>).</p></blockquote>
<p>I wonder if this is the wrong Reuters link, because it seems to be about whether a customer upgrading to the 200 GB iCloud plan should expect 200 GB <em>more</em> storage, e.g. 205 GB total.</p>
<blockquote cite="https://www.macrumors.com/2025/06/18/apple-hit-with-lawsuit-over-icloud-backups/"><p>The lawsuit was originally filed in March 2024 and alleges that Apple effectively forces consumers to use iCloud for backing up iPhone data while restricting third-party cloud services from providing comparable functionality, with wired backups being the only other option.</p><p>While Apple permits third-party services to back up user data such as photos, videos, and documents, the company does not allow them to access certain system-level items, including device settings, app configurations, and encrypted keychains.</p></blockquote><p>This seems misleading—isn’t <em>nearly all</em> data aside from the system media libraries unavailable to backup apps?</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/01/23/ios-and-icloud-keychain-are-hostile-to-backups/">iOS and iCloud Keychain Are Hostile to Backups</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/12/dont-let-me-go-and-icloud-storage-tiers/">“Don’t Let Me Go” and iCloud Storage Tiers</a></li>
<li><a href="https://mjtsai.com/blog/2023/01/20/local-ios-backups-repeatedly-prompt-for-passcode/">Local iOS Backups Repeatedly Prompt for Passcode</a></li>
<li><a href="https://mjtsai.com/blog/2021/06/18/why-doesnt-icloud-warn-before-deleting-backups/">Why Doesn’t iCloud Warn Before Deleting Backups?</a></li>
<li><a href="https://mjtsai.com/blog/2020/07/22/local-ios-backups-without-a-mac/">Local iOS Backups Without a Mac</a></li>
<li><a href="https://mjtsai.com/blog/2020/06/11/icloud-backups-deleted-after-180-days/">iCloud Backups Deleted After 180 Days</a></li>
<li><a href="https://mjtsai.com/blog/2016/02/25/use-itunes-not-icloud-to-back-up-your-iphone/">Use iTunes, Not iCloud, to Back Up Your iPhone</a></li>
<li><a href="https://mjtsai.com/blog/2015/02/06/theres-no-ios-backup-feature/">There’s No iOS Backup Feature</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/30/icloud-backups-lawsuit/feed/</wfw:commentRss>
<slash:comments>10</slash:comments>
</item>
<item>
<title>Sound Therapy</title>
<link>https://mjtsai.com/blog/2025/07/30/sound-therapy/</link>
<comments>https://mjtsai.com/blog/2025/07/30/sound-therapy/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 30 Jul 2025 18:32:12 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Music]]></category>
<category><![CDATA[Audio]]></category>
<category><![CDATA[Health]]></category>
<category><![CDATA[Music]]></category>
<category><![CDATA[Science]]></category>
<category><![CDATA[Sleep]]></category>
<category><![CDATA[Working]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48714</guid>
<description><![CDATA[Apple: Apple Music is joining forces with Universal Music Group (UMG) to introduce Sound Therapy, an innovative audio wellness collection designed to help listeners attain clearer focus, deeper relaxation, and better sleep. […] Available exclusively on Apple Music, Sound Therapy blends songs subscribers already know and love with special sound waves designed to enhance users’ […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/05/universal-music-group-and-apple-music-announce-sound-therapy/">Apple</a>:</p>
<blockquote cite="https://www.apple.com/newsroom/2025/05/universal-music-group-and-apple-music-announce-sound-therapy/">
<p>Apple Music is joining forces with Universal Music Group (UMG) to introduce Sound Therapy, an innovative audio wellness collection designed to help listeners attain clearer focus, deeper relaxation, and better sleep.</p>
<p>[…]</p>
<p>Available exclusively on Apple Music, Sound Therapy blends songs subscribers already know and love with special sound waves designed to enhance users’ daily routines, while retaining the artist’s original vision. Backed by scientific research and powered by UMG’s proprietary audio technologies, Sound Therapy harnesses the power of sound waves, psychoacoustics, and cognitive science to help listeners relax or focus the mind.</p>
<p>[…]</p>
<p>Sound Therapy features three categories: Focus, Relax, and Sleep. Songs have been enhanced with auditory beats or colored noise to help encourage specific brain responses. Gamma waves and white noise — a whoosh-like combination of every sound frequency — may help with focusing; theta waves could aid in relaxation; and delta waves and pink noise — a deeper, gentler variation akin to rain or wind — might assist in achieving better sleep.</p>
</blockquote>
<p>It’s obvious that music can be relaxing, but beyond that I’m <a href="https://bsky.app/profile/kirkville.com/post/3lp2tsah7gs2e">skeptical</a>. These ideas have been around for a while. I’ve <a href="https://www.brain.fm">tried</a> a few implementations over the years and found them unhelpful and sometimes actively annoying. But a lot of people do seem to like them…</p>
<p><a href="https://www.macstories.net/news/hands-on-with-sound-therapy-on-apple-music/">Devon Dundee</a>:</p>
<blockquote cite="https://www.macstories.net/news/hands-on-with-sound-therapy-on-apple-music/">
<p>I’ve always been envious of people who can listen to music while they work. For whatever reason, music-listening activates a part of my brain that pulls me away from the task at hand. My mind really wants to focus on the lyrics, the style, the mix – all distractions from whatever it is I’m currently trying to do. It just doesn’t work for me.</p>
<p>[…]</p>
<p>I’ve listened to a sampling of songs from all three sections of the Sound Therapy library to get a feel for it. Relaxation was the one I was least skeptical about because humans have known for millennia that music has the power to soothe, and the songs I tried from that section certainly had a relaxing effect on me. I listened to some of the sleep tracks before bed, and they seemed conducive to getting me in a restful state, though it will take more time and testing to know for sure whether the feature has an actual impact on my quality of sleep.</p>
<p>The aspect of Sound Therapy that I found most convincing, though, was the section dedicated to focus. I really didn’t think I’d listen to much of it because I get so easily distracted by music while I work, but I queued up a selection of songs, hit play, and got to work. To my surprise, I didn’t find my attention being pulled away by what I was hearing. I was actually able to focus on the work I was doing and enjoy some nice music at the same time. I can’t say for sure that it was any particular frequency or rhythm that did it, but it felt like the songs actually were helping me stay in the zone. That’s an experience I’ve never had before.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/07/ios-18-4-ambient-music/">iOS 18.4: Ambient Music</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/30/sound-therapy/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>macOS 15.6</title>
<link>https://mjtsai.com/blog/2025/07/29/macos-15-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/macos-15-6/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:19:14 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[DFU Mode]]></category>
<category><![CDATA[Google Chrome]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[macOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48703</guid>
<description><![CDATA[Juli Clover (release notes, security, enterprise, developer, full installer, IPSW): According to Apple’s release notes, the update provides important bug fixes and security updates. See also: Howard Oakley and Mr. Macintosh. Previously: macOS 15.5 Update (2025-07-30): Howard Oakley: macOS Sequoia 15.6 is likely to be the last scheduled general update before Sequoia enters its two […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/29/apple-releases-macos-sequoia-15-6/">Juli Clover</a> (<a href="https://support.apple.com/en-us/120283">release notes</a>, <a href="https://support.apple.com/en-us/124149">security</a>, <a href="https://support.apple.com/en-us/121011">enterprise</a>, <a href="https://developer.apple.com/documentation/macos-release-notes/macos-15_6-release-notes">developer</a>, <a href="https://swcdn.apple.com/content/downloads/05/14/082-08661-A_R3LJXRMIED/4ifxu7v20f45p4qectnt7r52qwt9vuzfw1/InstallAssistant.pkg">full installer</a>, <a href="https://updates.cdn-apple.com/2025SummerFCS/fullrestores/082-08674/51294E4D-A273-44BE-A280-A69FC347FB87/UniversalMac_15.6_24G84_Restore.ipsw">IPSW</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/07/29/apple-releases-macos-sequoia-15-6/"><p>According to Apple’s release notes, the update provides important bug fixes and security updates.</p></blockquote>
<p>See also: <a href="https://eclecticlight.co/2025/07/29/apple-has-released-macos-15-6-sequoia-update-and-14-7-7-13-7-7/">Howard Oakley</a> and <a href="https://mrmacintosh.com/macos-sequoia-15-6-update-everything-you-need-to-know/">Mr. Macintosh</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/macos-15-5/">macOS 15.5</a></li>
</ul>
<p id="macos-15-6-update-2025-07-30">Update (<a href="#macos-15-6-update-2025-07-30">2025-07-30</a>): <a href="https://eclecticlight.co/2025/07/29/what-has-changed-in-macos-sequoia-15-6/">Howard Oakley</a>:</p>
<blockquote cite="https://eclecticlight.co/2025/07/29/what-has-changed-in-macos-sequoia-15-6/"><p>macOS Sequoia 15.6 is likely to be the last scheduled general update before Sequoia enters its two years of security-only support, with the release of macOS 26 Tahoe most probably in September. It’s notable for the number of security fixes it delivers, about 81 in all, some of which look very serious, although Apple hasn’t reported that it’s aware of any of them being exploited in the wild.</p><p>[…]</p><p>There is a single entry in Apple’s <a href="https://developer.apple.com/documentation/macos-release-notes/macos-15_6-release-notes">developer release notes</a>, possibly the most important of all. This reports that 15.6 fixes a bug in which “Finder and Apple Configurator may be unable to successfully restore some devices from DFU mode.” I don’t understand why that never made it to notes intended for the public.</p></blockquote>
<p id="macos-15-6-update-2025-07-31">Update (<a href="#macos-15-6-update-2025-07-31">2025-07-31</a>): <a href="https://www.macrumors.com/2025/07/30/ios-18-6-chrome-zero-day-fix/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/30/ios-18-6-chrome-zero-day-fix/"><p>The iOS 18.6, iPadOS 18.6, and <a href="https://www.macrumors.com/roundup/macos-sequoia/">macOS Sequoia</a> 15.6 updates that Apple released yesterday address a major zero-day attack that targeted Chrome users, according to <em><a href="https://www.bleepingcomputer.com/news/security/apple-patches-security-flaw-exploited-in-chrome-zero-day-attacks/">Bleeping Computer</a></em>.</p><p>[…]</p><p>The flaw could allow remote attackers to execute arbitrary code using HTML pages created for that purpose, escaping Chrome’s sandboxing.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/29/ios-18-6-and-ipados-18-6/">iOS 18.6 and iPadOS 18.6</a></li>
</ul>
<p id="macos-15-6-update-2025-08-08">Update (<a href="#macos-15-6-update-2025-08-08">2025-08-08</a>): <a href="https://eclecticlight.co/2025/08/08/macos-sequoia-end-of-cycle-report/">Howard Oakley</a>:</p>
<blockquote cite="https://eclecticlight.co/2025/08/08/macos-sequoia-end-of-cycle-report/">
<p>With the next scheduled update to macOS Sequoia likely to be released in September or October, macOS 15.6 officially marks the end of its year-long cycle of full support. This article looks at its updates and how it has changed.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/macos-15-6/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>macOS 14.7.7 and macOS 13.7.7</title>
<link>https://mjtsai.com/blog/2025/07/29/macos-14-7-7-and-macos-13-7-7/</link>
<comments>https://mjtsai.com/blog/2025/07/29/macos-14-7-7-and-macos-13-7-7/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:19:08 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 13 Ventura]]></category>
<category><![CDATA[macOS 14 Sonoma]]></category>
<category><![CDATA[macOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48701</guid>
<description><![CDATA[macOS 14.7.7 (full installer, security): This update provides important security fixes and is recommended for all users. macOS 13.7.7 (full installer, security): [Not yet listed, but presumably:] This update provides important security fixes and is recommended for all users. Previously: macOS 14.7.6 and macOS 13.7.6 Update (2025-08-05): I tried to install macOS 13.7.7 on an […]]]></description>
<content:encoded><![CDATA[<p><a href="https://support.apple.com/en-us/109035">macOS 14.7.7</a> (<a href="https://swcdn.apple.com/content/downloads/03/49/082-85709-A_OVYS4G5L94/y1wfe9zpaqu9mjnl3zjtq41n0qtb21kvcs/InstallAssistant.pkg">full installer</a>, <a href="https://support.apple.com/en-us/124150">security</a>):</p>
<blockquote cite="https://support.apple.com/en-us/109035"><p>This update provides important security fixes and is recommended for all users.</p></blockquote>
<p><a href="https://support.apple.com/en-us/106337">macOS 13.7.7</a> (<a href="https://swcdn.apple.com/content/downloads/12/28/082-87267-A_WGJHPIPC6Q/e982ujmntb0d6l44kjd20dc5thmk1ynorw/InstallAssistant.pkg">full installer</a>, <a href="https://support.apple.com/en-us/124151">security</a>):</p>
<blockquote cite="https://support.apple.com/en-us/106337">
<p>[Not yet listed, but presumably:] This update provides important security fixes and is recommended for all users.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/macos-14-7-6-and-macos-13-7-6/">macOS 14.7.6 and macOS 13.7.6</a></li>
</ul>
<p id="macos-14-7-7-and-macos-13-7-7-update-2025-08-05">Update (<a href="#macos-14-7-7-and-macos-13-7-7-update-2025-08-05">2025-08-05</a>): I tried to install macOS 13.7.7 on an Intel MacBook Air, and it insisted on doing some sort of firmware update first. During the 13.7.7 installation on an external drive, it went into a boot loop where it would spend a long time stuck at the progress bar (back screen, no apple), then finally <a href="https://mjtsai.com/blog/2020/12/23/the-big-sur-sneeze/">sneeze</a>, reboot, and repeat. I reformatted the external drive and tried to install macOS 13.0.0, but now that gets stuck in a boot loop, too. <a href="https://support.apple.com/en-us/102605">Resetting the SMC</a> didn’t help.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/macos-14-7-7-and-macos-13-7-7/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>iOS 18.6 and iPadOS 18.6</title>
<link>https://mjtsai.com/blog/2025/07/29/ios-18-6-and-ipados-18-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/ios-18-6-and-ipados-18-6/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:18:24 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Marketplaces]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[European Union]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS Release]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 18]]></category>
<category><![CDATA[iPadOS Release]]></category>
<category><![CDATA[Photos.app]]></category>
<category><![CDATA[Web Distribution of iOS Apps]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48697</guid>
<description><![CDATA[Juli Clover (no iOS/iPadOS release notes, security, enterprise, developer): iOS 18.6 addresses a Photos-related bug that could prevent users from being able to share memory movies in the Photos app.[…]The iOS and iPadOS 18.6 updates also bring changes to the App Store rules in the European Union. EU iPhone and iPad users will see a […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/29/apple-releases-ios-18-6/">Juli Clover</a> (no <a href="https://support.apple.com/en-us/121161">iOS</a>/<a href="https://support.apple.com/en-us/121162">iPadOS</a> release notes, <a href="https://support.apple.com/en-us/124147">security</a>, <a href="https://support.apple.com/en-us/121158">enterprise</a>, <a href="https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-18_6-release-notes">developer</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/07/29/apple-releases-ios-18-6/"><p>iOS 18.6 addresses a Photos-related bug that could prevent users from being able to share memory movies in the Photos app.</p><p>[…]</p><p>The iOS and iPadOS 18.6 updates also bring changes to the App Store rules in the European Union. EU iPhone and iPad users will see a new interface for installing alternative app marketplaces or apps from a developer’s website.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/ios-18-5-and-ipados-18-5/">iOS 18.5 and iPadOS 18.5</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/ios-18-6-and-ipados-18-6/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>watchOS 11.6</title>
<link>https://mjtsai.com/blog/2025/07/29/watchos-11-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/watchos-11-6/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:16:20 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[watchOS]]></category>
<category><![CDATA[watchOS 11]]></category>
<category><![CDATA[watchOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48695</guid>
<description><![CDATA[Juli Clover (no release notes, security, developer): The watchOS 11.6 update focuses on bug fixes and security improvements, with no new features included. Previously: watchOS 11.5]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/29/apple-releases-watchos-11-6/">Juli Clover</a> (no <a href="https://support.apple.com/en-us/121163">release notes</a>, <a href="https://support.apple.com/en-us/124155">security</a>, <a href="https://developer.apple.com/documentation/watchos-release-notes/watchos-11_6-release-notes">developer</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/07/29/apple-releases-watchos-11-6/">
<p>The watchOS 11.6 update focuses on bug fixes and security improvements, with no new features included.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/watchos-11-5/">watchOS 11.5</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/watchos-11-6/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>tvOS 18.6</title>
<link>https://mjtsai.com/blog/2025/07/29/tvos-18-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/tvos-18-6/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:15:46 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[tvOS]]></category>
<category><![CDATA[tvOS 18]]></category>
<category><![CDATA[tvOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48692</guid>
<description><![CDATA[Juli Clover (release notes, security, developer): Apple today released tvOS 18.6, the latest version of the tvOS operating system. Previously: tvOS 18.5]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/29/apple-releases-tvos-18-6/">Juli Clover</a> (<a href="https://support.apple.com/en-us/106336">release notes</a>, <a href="https://support.apple.com/en-us/124153">security</a>, <a href="https://developer.apple.com/documentation/tvos-release-notes/tvos-18_6-release-notes">developer</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/07/29/apple-releases-tvos-18-6/">
<p>Apple today released tvOS 18.6, the latest version of the tvOS operating system.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/tvos-18-5/">tvOS 18.5</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/tvos-18-6/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>visionOS 2.6</title>
<link>https://mjtsai.com/blog/2025/07/29/visionos-2-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/visionos-2-6/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:15:41 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[visionOS]]></category>
<category><![CDATA[visionOS 2]]></category>
<category><![CDATA[visionOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48690</guid>
<description><![CDATA[Juli Clover (no release notes, security, no enterprise, developer): visionOS 2.6 focuses on bug fixes and under-the-hood improvements. There are no new features in the update. Previously: visionOS 2.5]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/29/apple-releases-visionos-2-6/">Juli Clover</a> (no <a href="https://support.apple.com/en-us/121164">release notes</a>, <a href="https://support.apple.com/en-us/124154">security</a>, no <a href="https://support.apple.com/en-us/121160">enterprise</a>, <a href="https://developer.apple.com/documentation/visionos-release-notes/visionos-2_6-release-notes">developer</a>):</p>
<blockquote cite="https://www.macrumors.com/2025/07/29/apple-releases-visionos-2-6/">
<p>visionOS 2.6 focuses on bug fixes and under-the-hood improvements. There are no new features in the update.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/visionos-2-5/">visionOS 2.5</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/visionos-2-6/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>audioOS 18.6</title>
<link>https://mjtsai.com/blog/2025/07/29/audioos-18-6/</link>
<comments>https://mjtsai.com/blog/2025/07/29/audioos-18-6/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 29 Jul 2025 19:15:29 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[audioOS]]></category>
<category><![CDATA[audioOS 18]]></category>
<category><![CDATA[audioOS Release]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48688</guid>
<description><![CDATA[Apple’s page isn’t showing the update, but my HomePod says it’s available and “includes performance and stability improvements.” Previously: audioOS 18.5]]></description>
<content:encoded><![CDATA[<p><a href="https://support.apple.com/en-us/108045">Apple’s page</a> isn’t showing the update, but my HomePod says it’s available and “includes performance and stability improvements.”</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/13/audioos-18-5/">audioOS 18.5</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/29/audioos-18-6/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>UK Online Safety Act</title>
<link>https://mjtsai.com/blog/2025/07/28/uk-online-safety-act/</link>
<comments>https://mjtsai.com/blog/2025/07/28/uk-online-safety-act/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 28 Jul 2025 18:12:33 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Bluesky]]></category>
<category><![CDATA[Children]]></category>
<category><![CDATA[Discord]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Reddit]]></category>
<category><![CDATA[Signal]]></category>
<category><![CDATA[Twitter]]></category>
<category><![CDATA[United Kingdom]]></category>
<category><![CDATA[Virtual Private Network (VPN)]]></category>
<category><![CDATA[Web]]></category>
<category><![CDATA[WhatsApp]]></category>
<category><![CDATA[Wikipedia]]></category>
<category><![CDATA[Xbox]]></category>
<category><![CDATA[YouTube]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48671</guid>
<description><![CDATA[EFF: The U.K. Parliament has passed the Online Safety Bill (OSB), which says it will make the U.K. “the safest place” in the world to be online. In reality, the OSB will lead to a much more censored, locked-down internet for British users. The bill could empower the government to undermine not just the privacy […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.eff.org/pages/uk-online-safety-bill-massive-threat-online-privacy-security-and-speech">EFF</a>:</p>
<blockquote cite="https://www.eff.org/pages/uk-online-safety-bill-massive-threat-online-privacy-security-and-speech">
<p>The U.K. Parliament <a href="https://www.reuters.com/world/uk/uks-online-safety-bill-passed-by-parliament-2023-09-19/">has passed the Online Safety Bill</a> (OSB), which says it will make the U.K. “the safest place” in the world to be online. In reality, the OSB will lead to a much more censored, locked-down internet for British users. The bill could empower the government to undermine not just the privacy and security of U.K. residents, but <a href="https://www.eff.org/deeplinks/2021/08/if-you-build-it-they-will-come-apple-has-opened-backdoor-increased-surveillance">internet users worldwide</a>.</p>
</blockquote>
<p><a href="https://www.trustlab.com/post/the-differences-between-the-online-safety-act-the-digital-services-act">Trust and Safety Laboratory</a>:</p>
<blockquote cite="https://www.trustlab.com/post/the-differences-between-the-online-safety-act-the-digital-services-act">
<p>Both the European Union’s Digital Services Act (DSA) and the United Kingdom’s Online Safety Act (OSA) aim to strike a balance between fostering innovation and safeguarding the internet for generations to come.</p>
</blockquote>
<p><a href="https://www.stuff.tv/features/i-just-proved-im-an-adult-online-and-im-torn-about-what-that-really-means/">Craig Grannell</a> (<a href="https://mastodon.social/@craiggrannell/114919130088307647">Mastodon</a>):</p>
<blockquote cite="https://www.stuff.tv/features/i-just-proved-im-an-adult-online-and-im-torn-about-what-that-really-means/">
<p>I just received an email confirming I’ve successfully verified I’m an adult. Exciting! Except no, because age verification is now going to be a regular thing for me. Why? Because the UK Online Safety Act went into effect on 25 July. And this isn’t just something affecting the land of tea, crumpets and queues. Governments worldwide are implementing similar measures to prevent minors from accessing high-risk and age-inappropriate content.</p>
<p>[…]</p>
<p>Bluesky became the canary in the age-verification coal mine, warning Brits they’d soon lose access to DMs and 18+ content. Brits went bonkers (well, they tutted, which for a Brit is tantamount to furious rage), unaware <em>all</em> sites must comply or risk massive fines.</p>
<p>[…]</p>
<p>Even though the UK’s implementation is barely a day old as I write this, we’re already seeing signs of overreach. Far more than porn is being locked behind verification walls, including LGBTQ+ subreddits and subjects deemed ‘inappropriate’ for ideological reasons, such as sex ed.</p>
<p>[…]</p>
<p>There are privacy and surveillance concerns. Forcing people to register for accounts begins the process of eliminating online anonymity – a genuine danger to some. It expands scope for wider surveillance. So we’ll have to trust companies won’t retain, misuse or monetise deeply personal data. Which, given historical precedent, makes me wonder how long it’ll take to get from “we’ll remove your personal age verification details within seven days” to a data breach revealing countless people’s selfies and most personal browsing histories.</p>
</blockquote>
<p><a href="https://bsky.app/profile/kirkville.com/post/3luubfhd7i223">Kirk McElhearn</a>:</p>
<blockquote cite="https://bsky.app/profile/kirkville.com/post/3luubfhd7i223">
<p>The UK government has set up a system where people must upload an ID or a selfie to American corporations. There is nothing preventing these companies from storing the data, and the data will eventually get hacked. There are better ways to do this.</p>
</blockquote>
<p>He links to a <a href="https://petition.parliament.uk/petitions/722903">petition</a> to repeal the Act.</p>
<p><a href="https://pxlnv.com/linklog/uk-age-verification/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/uk-age-verification/">
<p>This article is headlined “Around 6,000 Porn Sites Start Checking Ages in U.K.”, yet in this — the first paragraph — the reporters acknowledge these are “sites allowing porn” not “porn sites”.</p>
<p>[…]</p>
<p>When we are talking about large platforms like Discord and Reddit, there is a meaningful difference between describing them as “porn sites” and “sites allowing porn”.</p>
<p>Apps for Bluesky, Discord, Grindr, Reddit, and X are all available on the App Store, where they all have “16+” ratings, and the Play Store, where they have a “Mature 17+” rating with the exception of Discord’s “Teen” rating. These platforms are in a position to provide privacy-protecting age gating and, I think, they ought to do so with APIs also available to third-party stores.</p>
<p>The age verification mandated by this British law, however, is worrisome, especially if it becomes a model for <a href="https://www.parl.ca/LegisInfo/en/bill/45-1/s-209">similar laws elsewhere</a>. The process may be done by a third-party service and can <a href="https://www.wired.com/story/the-age-checked-internet-has-arrived/#:~:text=Standard%20age%20verification%20is%20done%20by%20uploading%20a%20form%20of%20government%20identification%20and%20a%20selfie%2C%20using%20a%20digital%20identity%20service%2C%20or%20submitting%20credit%20records%20or%20other%20financial%20documentation.">require sensitive information</a>. These services may be <a href="https://www.yoti.com/business/age-verification/">specialized</a>, meaning they may have better security and privacy protections, but it still means handing over identification to some service a user probably does not recognize.</p>
</blockquote>
<p><a href="https://x.com/protonvpn/status/1948773319148245334">Proton VPN</a> (<a href="https://news.ycombinator.com/item?id=44706653">Hacker</a> <a href="https://news.ycombinator.com/item?id=44709905">News</a>):</p>
<blockquote cite="https://x.com/protonvpn/status/1948773319148245334">
<p>Just a few minutes after the Online Safety Act went into effect last night, Proton VPN signups originating in the UK surged by more than 1,400%.</p>
<p>Unlike previous surges, this one is sustained, and is significantly higher than when France lost access to adult content.</p>
</blockquote>
<p><a href="https://www.theverge.com/analysis/713773/uk-online-safety-act-age-verification-bypass-vpn">Jess Weatherbed</a> (<a href="https://news.ycombinator.com/item?id=44692897">Hacker News</a>):</p>
<blockquote cite="https://www.theverge.com/analysis/713773/uk-online-safety-act-age-verification-bypass-vpn"><p>Several of the age checkers I’ve seen offer similar options: users can either choose to confirm their age by uploading bank card information, an image of their government-issued ID, or a selfie used to estimate their age.</p><p>It’s unclear if those selfie options could be spoofed by simply getting an older-looking friend to complete to process.</p><p>[…]</p><p>If the spike in Brits <a href="https://trends.google.com/trends/explore?date=now%207-d&geo=GB&q=vpn&hl=en">searching for the term “VPN” on Google</a> is any indication, word of the loophole is spreading fast.</p></blockquote>
<p><a href="https://x.com/ChrisMid/status/1948770778586988641">Chris Middleton</a>:</p>
<blockquote cite="https://x.com/ChrisMid/status/1948770778586988641">
<p>The Act pressures encrypted apps like WhatsApp and Signal to monitor user chats for illegal content, which experts say could require breaking end-to-end encryption.</p>
<p>[…]</p>
<p>The law covers any site that allows users to share or interact. That includes forums, messaging apps, cloud services, open-source platforms, even Wikipedia.</p>
<p>[…]</p>
<p>Criminals will use VPNs, encrypted tools, and the dark web. The Act does nothing to stop that.</p>
<p>Meanwhile, everyone else will be surveilled, censored, and blocked.</p>
</blockquote>
<p><a href="https://wikimediafoundation.org/news/2025/07/17/wikimedia-foundation-challenges-uk-online-safety-act-regulations/">Wikimedia Foundation</a> (<a href="https://x.com/evolvepolitics/status/1949092733026496841">Evolve Politics</a>):</p>
<blockquote cite="https://wikimediafoundation.org/news/2025/07/17/wikimedia-foundation-challenges-uk-online-safety-act-regulations/"><p>The Wikimedia Foundation, the non-profit that operates Wikipedia and other <a href="https://wikimediafoundation.org/our-work/wikimedia-projects/">Wikimedia projects</a>, announced its legal challenge earlier this year, arguing that the regulations endanger Wikipedia and the global community of volunteer contributors who create the information on the site.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/28/updated-age-ratings-in-app-store-connect/">Updated Age Ratings in App Store Connect</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/21/uk-backing-down-on-apple-encryption-backdoor/">UK Backing Down on Apple Encryption Backdoor</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/19/digital-services-act-and-thierry-breton-vs-twitter/">Digital Services Act and Thierry Breton vs. Twitter</a></li>
<li><a href="https://mjtsai.com/blog/2024/06/04/proposed-eu-chat-control/">Proposed EU Chat Control</a></li>
<li><a href="https://mjtsai.com/blog/2023/08/24/u-k-proposal-to-weaken-messaging-security/">UK Proposal to Weaken Messaging Security</a></li>
</ul>
<p id="uk-online-safety-act-update-2025-07-29">Update (<a href="#uk-online-safety-act-update-2025-07-29">2025-07-29</a>): <a href="https://www.theguardian.com/technology/2025/jul/24/what-are-the-new-uk-online-safety-rules-and-how-will-they-be-enforced">Dan Milmo and Robert Booth</a>:</p>
<blockquote cite="https://www.theguardian.com/technology/2025/jul/24/what-are-the-new-uk-online-safety-rules-and-how-will-they-be-enforced">
<p>Reddit started checking ages last week for its forums and threads which include mature content. It is using technology made by a company called Persona, which verifies age through an uploaded selfie or a photo of government ID. Reddit does not have access to the photos but stores the verification status to avoid users having to repeat the process too often.</p>
</blockquote>
<p>The <a href="https://www.gov.uk/government/publications/online-safety-act-explainer/online-safety-act-explainer">UK government</a> has more information about which content will be regulated:</p>
<blockquote cite="https://www.gov.uk/government/publications/online-safety-act-explainer/online-safety-act-explainer"><p>The kinds of illegal content and activity that platforms need to protect users from are set out in the Act, and this includes content relating to:</p><ul><li>child sexual abuse </li><li>controlling or coercive behaviour </li><li>extreme sexual violence </li><li>extreme pornography </li><li>fraud</li><li>racially or religiously aggravated public order offences </li><li>inciting violence </li><li>illegal immigration and people smuggling </li><li>promoting or facilitating suicide </li><li>intimate image abuse</li><li>selling illegal drugs or weapons </li><li>sexual exploitation </li><li>terrorism </li></ul></blockquote>
<p>Since these fall under the <a href="https://en.wikipedia.org/wiki/Censorship_in_the_United_Kingdom">Illegal</a> <a href="https://en.wikipedia.org/wiki/Hate_speech_laws_in_the_United_Kingdom">category</a>, it sounds like they will be blocked entirely, rather than being subject to age verification. Presumably there will be a combination of algorithms, AI, and human reporting/review, but I have not seen the details.</p>
<p><a href="https://www.gov.uk/government/publications/online-safety-act-explainer/online-safety-act-explainer#how-the-act-tackles-misinformation-and-disinformation">Also</a>:</p>
<blockquote cite="https://www.gov.uk/government/publications/online-safety-act-explainer/online-safety-act-explainer#how-the-act-tackles-misinformation-and-disinformation">
<p>Companies must also assess whether their service is likely to be accessed by children and, if so deliver additional protections for them. This includes protections against in-scope mis- and disinformation.</p>
</blockquote>
<p>“Scope” seems to mean the scope of the Act itself, which is very <a href="https://www.eversheds-sutherland.com/en/czech-republic/insights/u-ks-online-safety-act-what-service-providers-need-to-know">broad</a>. I guess Ofcom gets to decide what the truth is.</p>
<p><a href="https://www.404media.co/uk-users-need-to-post-selfie-or-photo-id-to-view-reddits-r-israelcrimes-r-ukrainewarfootage/">Emanuel Maiberg</a>:</p>
<blockquote cite="https://www.404media.co/uk-users-need-to-post-selfie-or-photo-id-to-view-reddits-r-israelcrimes-r-ukrainewarfootage/">
<p>Several Reddit communities dedicated to sharing news and media from conflicts around the world now require users in the UK to submit a photo ID or selfie in order to prove they are old enough to view “mature” content.</p>
</blockquote>
<p>Via <a href="https://pxlnv.com/linklog/war-media-subreddits-age-verification/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/war-media-subreddits-age-verification/">
<p>Contrary to the beliefs of one moderator of one of these subreddits, this does not seem to be motivated by burying evidence of the atrocities of war. This is the <a href="https://pxlnv.com/linklog/uk-age-verification/">predictable overreach</a> of Reddit choosing to require age verification to view any “not safe for work” subreddit, because of course Reddit is not going to be sensitive to context. It is not right; it is what is <em>least expensive</em> because it requires little additional moderation or underlying technical changes. Reddit could implement different types of NSFW labelling, but that also increases its risk of legal liability if something is improperly labelled.</p>
</blockquote>
<p>See also: <a href="https://www.theverge.com/news/714458/microsoft-xbox-age-verification-uk-social-features">Xbox</a> and <a href="https://www.theverge.com/news/715343/youtube-age-estimation-ai-minor-account-restrictions">YouTube</a>.</p>
<p><a href="https://mas.to/@carnage4life/114933741793197419">Dare Obasanjo</a>:</p>
<blockquote cite="https://mas.to/@carnage4life/114933741793197419">
<p>The scary thing about the data breach of the Tea app where people’s government IDs were leaked is that multiple governments are passing laws requiring people to provide their ID to random apps and websites to prove they’re 18.</p>
</blockquote>
<p>See also: <a href="https://daringfireball.net/linked/2025/07/28/tea-breach-worsens">John Gruber</a>.</p>
<p id="uk-online-safety-act-update-2025-08-11">Update (<a href="#uk-online-safety-act-update-2025-08-11">2025-08-11</a>): <a href="https://wikimediafoundation.org/news/2025/08/11/wikimedia-foundation-challenges-uk-online-safety-act-regulations/">Wikimedia Foundation</a> (via <a href="https://news.ycombinator.com/item?id=44863487">Hacker News</a>):</p>
<blockquote cite="https://wikimediafoundation.org/news/2025/08/11/wikimedia-foundation-challenges-uk-online-safety-act-regulations/"><p>On Monday, 11 August, the High Court of Justice dismissed the Wikimedia Foundation’s <a href="https://medium.com/wikimedia-policy/wikipedias-nonprofit-host-brings-legal-challenge-to-new-online-safety-act-osa-regulations-0f9153102f29">challenge to the UK’s Online Safety Act</a> (OSA) Categorisation Regulations. While the decision does not provide the immediate legal protections for Wikipedia that we hoped for, the Court’s ruling emphasized the responsibility of <a href="https://www.ofcom.org.uk/">Ofcom</a> and the UK government to ensure Wikipedia is protected as the OSA is implemented. </p><p>[…]</p><p>In order to achieve that outcome, he suggested that Ofcom may need to find a particularly flexible interpretation of the rules in question, or that the rules themselves may need amendment in Parliament.</p><p>[…]</p><p>The Foundation will continue to seek solutions to protect Wikipedia and the rights of its users as the OSA continues to be implemented.</p></blockquote>
<p id="uk-online-safety-act-update-2025-08-13">Update (<a href="#uk-online-safety-act-update-2025-08-13">2025-08-13</a>): <a href="https://www.blocked.org.uk/osa-blocks">The Blocked Project</a> (via <a href="https://news.ycombinator.com/item?id=44885295">Hacker News</a>):</p>
<blockquote cite="https://www.blocked.org.uk/osa-blocks">
<p>Tell us about a site that is shutting down or restricting access to UK users as a result of the Online Safety Act</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/28/uk-online-safety-act/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Updated Age Ratings in App Store Connect</title>
<link>https://mjtsai.com/blog/2025/07/28/updated-age-ratings-in-app-store-connect/</link>
<comments>https://mjtsai.com/blog/2025/07/28/updated-age-ratings-in-app-store-connect/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 28 Jul 2025 18:11:30 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[Children]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iTunes Connect]]></category>
<category><![CDATA[Mac App Store]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48669</guid>
<description><![CDATA[Apple (MacRumors): The age rating system for apps and games has been updated in order to provide people with more granular age ratings. We’ve also introduced new age rating questions to help identify sensitive content in your app and added the ability to set a higher rating to reflect your app’s minimum age requirement. […] […]]]></description>
<content:encoded><![CDATA[<p><a href="https://developer.apple.com/news/?id=ks775ehf">Apple</a> (<a href="https://www.macrumors.com/2025/07/25/apple-overhauls-app-store-age-ratings/">MacRumors</a>):</p>
<blockquote cite="https://developer.apple.com/news/?id=ks775ehf">
<p>The age rating system for apps and games has been updated in order to provide people with more granular age ratings. We’ve also introduced new age rating questions to help identify sensitive content in your app and added the ability to set a higher rating to reflect your app’s minimum age requirement.</p>
<p>[…]</p>
<p>We’ve introduced a new set of required questions to the ratings questionnaire for all apps.</p>
<p>[…]</p>
<p>Please provide responses to the updated age rating questions for each of your apps by January 31, 2026, to avoid an interruption when submitting your app updates in App Store Connect.</p>
</blockquote>
<p>When I log into App Store Connect, it shows a banner that says, “Age Ratings Are Changing,” but there seems to be <a href="https://mastodon.social/@lapcatsoftware/114910832989755955">no way</a> to actually answer the questions for my apps. Maybe you have the opportunity to do this <a href="https://mastodon.social/@betamagic/114913483375144057">when submitting a new version</a>, but Apple’s guidance above implies that they want you to answer the questions before that.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/23/tim-cook-opposes-app-store-age-verification-bill/">Tim Cook Opposes App Store Age Verification Bill</a></li>
<li><a href="https://mjtsai.com/blog/2014/12/12/papers-please-and-app-content-ratings/">Papers, Please and App Content Ratings</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/28/updated-age-ratings-in-app-store-connect/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>iPadOS 26 Developer Beta 4</title>
<link>https://mjtsai.com/blog/2025/07/25/ipados-26-developer-beta-4/</link>
<comments>https://mjtsai.com/blog/2025/07/25/ipados-26-developer-beta-4/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 25 Jul 2025 15:54:25 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Accessibility]]></category>
<category><![CDATA[iOS Multitasking]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 26]]></category>
<category><![CDATA[iPadOS Beta]]></category>
<category><![CDATA[Liquid Glass]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48655</guid>
<description><![CDATA[Jason Snell: It’s like a weight has been lifted from the soul of the iPad. It remains a very nice device to use in full-screen mode with all the simplicity attendant to that mode, or via a single tap it can turn into a multi-window, multitasking device that’s appropriate for the Mac-class hardware underpinning today’s […]]]></description>
<content:encoded><![CDATA[<p><a href="https://sixcolors.com/post/2025/07/first-look-ipados-26-public-beta/">Jason Snell</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/07/first-look-ipados-26-public-beta/">
<p>It’s like a weight has been lifted from the soul of the iPad. It remains a very nice device to use in full-screen mode with all the simplicity attendant to that mode, or via a single tap it can turn into a multi-window, multitasking device that’s appropriate for the Mac-class hardware underpinning today’s iPads. The iPad no longer feels like it’s trying to live up to the promise of being the Future of Computing; with iPadOS 26, it’s more comfortable being itself.</p>
<p>[…]</p>
<p>On the iPad, it’s a real jumble. Some stuff looks cool, while other stuff is unreadable. For the most part, the new design didn’t hinder my use of iPadOS 26, and given those shifting sands I’m going to withhold my most withering design criticisms for a later time. But, yeah… Apple either needs to figure this thing out, and fast, or it should just frost all the glass for release and keep working on it in the background until it finds a more usable solution.</p>
<p>[…]</p>
<p>iPadOS 26 will be remembered as the update where Apple declared bankruptcy on all its previous attempts to do windowing and multitasking on the iPad, and released an entirely new windowing system that has been unabashedly inspired by the Mac.[…] I admit to forgetting more than once that I was using iPadOS when it was attached to my Studio Display. […] It’s really a flexible set of controls that works well whether you’re using a keyboard and trackpad or your fingers. […] And if you don’t want to use windowing on your iPad? Well, the feature is turned on and off with a single button in Control Center.</p>
<p>[…]</p>
<p>The improvements to Files, support for background recording, and the new background tasks Live Activities are somewhat small changes on their own, but assembled together they create an iPad that just feels more ready for professional productivity tasks.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/">appleOS 26 Public Betas</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/08/ipados-26-developer-beta-3/">iPadOS 26 Developer Beta 3</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/07/menu-bar-madness-in-macos-26-and-ipados-26/">Menu Bar Madness in macOS 26 and iPadOS 26</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/01/ipados-windows-mess-up-data-saving/">iPadOS Windows Mess Up Data Saving</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/30/assorted-notes-on-liquid-glass/">Assorted Notes on Liquid Glass</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/25/ipados-26-audio-and-video-capture/">iPadOS 26 Audio and Video Capture</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/12/apples-spin-on-ai-and-ipados-multitasking/">Apple’s Spin on AI and iPadOS Multitasking</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/ipados-26-announced/">iPadOS 26 Announced</a></li>
</ul>
<p id="ipados-26-developer-beta-4-update-2025-07-28">Update (<a href="#ipados-26-developer-beta-4-update-2025-07-28">2025-07-28</a>): <a href="https://taoofmac.com/space/blog/2025/07/25/2200">Rui Carmo</a>:</p>
<blockquote cite="https://taoofmac.com/space/blog/2025/07/25/2200">
<p>Seriously, I don’t know what Apple was thinking, but this is a regression in usability that I haven’t seen since the early days of iOS.</p>
<p>[…]</p>
<p>Everything feels <em>much slower</em> (and this is an M1 Pro)</p>
<p>Even trying to turn off animations didn’t help (“reduce motion” doesn’t do anything for window animation delays, and turning on cross-fades <em>really</em> shows that Apple has the animations set too slow)</p>
<p>[…]</p>
<p>It’s not really about Liquid Glass, but more about the blatant and gratuitous waste of screen real estate across the board. And I am really afraid that this is going to be the new normal, especially since I’m seeing similar things in macOS Tahoe– and if there is one thing that I like in macOS, it is that it has had (until Sonoma, at least, where title bars got too fat for comfort) a decent balance between aesthetics and efficient use of screen real estate.</p>
</blockquote>
<p><a href="https://www.fastcompany.com/91373393/ipados-26-public-beta">Harry McCracken</a>:</p>
<blockquote cite="https://www.fastcompany.com/91373393/ipados-26-public-beta"><p>However, as someone who’s <a href="https://www.technologizer.com/2011/12/05/how-the-ipad-2-became-my-favorite-computer/index.html">used an iPad as my main computer</a> for almost 14 years, I can’t join the chorus of unbridled enthusiasm for iPadOS 26’s embrace of Mac conventions such as floating, overlapping windows and a menu bar at the top of the screen. Apple may well be making the right decision to please the largest pool of people who want to get work done on its tablet. But it’s also moving decisively away from some of the philosophies that attracted me to the platform in the first place, and I’m trepidatious about where that might lead.</p></blockquote>
<p><a href="https://spyglass.org/mac-jr/">M.G. Siegler</a>:</p>
<blockquote cite="https://spyglass.org/mac-jr/"><p>To that end, my key takeaway and thought is sort of a funny one: my god, Apple has made a Mac Jr.</p><p>That sounds derisive. And it sort of is! I don’t hate the experience by any means, but it seems sort of funny what Apple has done to iPadOS to avoid <a href="https://spyglass.org/macos-on-the-ipad/">letting the iPad boot macOS</a>. It’s now this pretty weird hybrid operating system that feels like it exists between iOS and macOS. It’s still a bit more iOS than macOS, but it’s pretty close to the halfway point with iPadOS 26…</p></blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114916256402862086">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114916256402862086"><p>iPad may already be fifteen years old, but iPadOS 26 feels like the first day of the rest of its life — in a way no previous software update has been. A Rubicon has been crossed.</p></blockquote>
<p><a href="https://bsky.app/profile/mackuba.eu/post/3luyc5i6fqs24">Kuba Suder</a>:</p>
<blockquote cite="https://bsky.app/profile/mackuba.eu/post/3luyc5i6fqs24"><p>The iPad multitasking is one of the few things in the new appleOSes that I’m really excited about, this looks so good!</p></blockquote>
<p>See also: <a href="https://www.macrumors.com/review/ipados-26/">Juli Clover</a>.</p>
<p id="ipados-26-developer-beta-4-update-2025-07-29">Update (<a href="#ipados-26-developer-beta-4-update-2025-07-29">2025-07-29</a>): <a href="https://mastodon.social/@craiggrannell/114937322672278819">Craig Grannell</a>:</p>
<blockquote cite="https://mastodon.social/@craiggrannell/114937322672278819">
<p>iPadOS 26 no longer crossfades switching between full-screen apps. Instead, it zooms. I’ve sent feedback, but, y’know, this was the original vestibular accessibility sin, way back in <em>iOS 7</em>. Does no one test these things?</p>
</blockquote>
<p id="ipados-26-developer-beta-4-update-2025-08-01">Update (<a href="#ipados-26-developer-beta-4-update-2025-08-01">2025-08-01</a>): <a href="https://www.macstories.net/stories/ipados-hello-its-good-to-be-back/">Federico Viticci</a> (<a href="https://mastodon.macstories.net/@viticci/114948353986627248">Mastodon</a>):</p>
<blockquote cite="https://www.macstories.net/stories/ipados-hello-its-good-to-be-back/"><p>Actually using iPadOS 26, however, has far exceeded my expectations – which pushed me to completely rethink my desk setup (<a href="https://www.macstories.net/news/macstories-setups-update-fresh-approaches-wi-fi-upgrades-and-handhelds/">again</a>) and the apps I use around the iPad Pro and iPadOS 26.</p><p>[…]</p><p>After a month spent using iPadOS 26, I can say this: while this update doesn’t turn iPadOS into macOS and there continue to be notable advantages to the Mac platform, iPadOS 26 is a <strong>monumental release</strong> for the iPad that finally shows a vision for what a new breed of modular desktop operating system should be. iPadOS 26 succeeds in the challenging task of preserving the iPad’s intuitive nature while unlocking tremendous functionality for advanced users, who are no longer penalized for attempting to use an iPad as a laptop replacement. In fact, thanks to iPadOS 26, I think the laptop analogy isn’t even that apt <a href="https://www.youtube.com/watch?v=AphNalSmvlk&pp=ygUFbWtiaGTSBwkJxwkBhyohjO8%3D">anymore</a>. The new iPadOS transforms the device into the hybrid, modular type of computer <a href="https://www.macstories.net/stories/modular-computer/">I’ve long wanted to see Apple formally embrace</a>.</p>
<p>[…]</p>
<p>The reality is that despite its dozens of improvements, iPadOS 26 is not a miracle update that suddenly turns iPadOS into a 1:1 match for macOS. The reason is simple: while Apple can control the operating system and change it however they like, they cannot control the third-party app ecosystem and magically ensure that all the apps you can use on a Mac are now available on iPad as well.</p></blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114953485922400279">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114953485922400279"><p>I didn’t realize how much I rely on the menu bar in iPadOS 26 until I tried using an iPad using an older version of the OS again 😨 It’s like the entire functionality of the app has been stripped away and stashed in nooks and crannies.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/25/ipados-26-developer-beta-4/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>The Illusion of Thinking</title>
<link>https://mjtsai.com/blog/2025/07/25/the-illusion-of-thinking/</link>
<comments>https://mjtsai.com/blog/2025/07/25/the-illusion-of-thinking/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 25 Jul 2025 15:54:19 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[Claude]]></category>
<category><![CDATA[CS Theory]]></category>
<category><![CDATA[DeepSeek]]></category>
<category><![CDATA[Google Gemini/Bard]]></category>
<category><![CDATA[Math]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48653</guid>
<description><![CDATA[Apple (PDF): Recent generations of frontier language models have introduced Large Reasoning Models (LRMs) that generate detailed thinking processes before providing answers. While these models demonstrate improved performance on reasoning benchmarks, their fundamental capabilities, scaling properties, and limitations remain insufficiently understood. Current evaluations primarily focus on established mathematical and coding benchmarks, emphasizing final answer accuracy. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://machinelearning.apple.com/research/illusion-of-thinking">Apple</a> (<a href="https://ml-site.cdn-apple.com/papers/the-illusion-of-thinking.pdf">PDF</a>):</p>
<blockquote cite="https://machinelearning.apple.com/research/illusion-of-thinking">
<p>Recent generations of frontier language models have introduced Large Reasoning Models (LRMs) that generate detailed thinking processes before providing answers. While these models demonstrate improved performance on reasoning benchmarks, their fundamental capabilities, scaling properties, and limitations remain insufficiently understood. Current evaluations primarily focus on established mathematical and coding benchmarks, emphasizing final answer accuracy. However, this evaluation paradigm often suffers from data contamination and does not provide insights into the reasoning traces’ structure and quality. In this work, we systematically investigate these gaps with the help of controllable puzzle environments that allow precise manipulation of compositional complexity while maintaining consistent logical structures. This setup enables the analysis of not only final answers but also the internal reasoning traces, offering insights into how LRMs “think”. Through extensive experimentation across diverse puzzles, we show that frontier LRMs face a complete accuracy collapse beyond certain complexities.</p>
</blockquote>
<p><a href="https://daringfireball.net/linked/2025/06/08/apple-research-lrms">John Gruber</a>:</p>
<blockquote cite="https://daringfireball.net/linked/2025/06/08/apple-research-lrms">
<p>My basic understanding after a skim is that the paper shows, or at least strongly suggests, that LRMs don’t “reason” at all. They just use vastly more complex pattern-matching than LLMs. The result is that LRMs effectively overthink on simple problems, outperform LLMs on mid-complexity puzzles, and fail in the same exact way LLMs do on high-complexity tasks and puzzles.</p>
</blockquote>
<p><a href="https://duncan.dev/link/illusion-of-thinking">Duncan Davidson</a>:</p>
<blockquote cite="https://duncan.dev/link/illusion-of-thinking">
<p>Of course, this doesn’t change the usefulness of these models, but better understanding how they work — and which models are good for which tasks — is essential for using them well.</p>
</blockquote>
<p><a href="https://arxiv.org/html/2506.09250v1">Anthropic and Open Philanthropy</a> (<a href="https://arxiv.org/pdf/2506.09250v1">PDF</a>, via <a href="https://9to5mac.com/2025/06/13/new-paper-pushes-back-on-apples-llm-reasoning-collapse-study/">Marcus Mendes</a>):</p>
<blockquote cite="https://arxiv.org/html/2506.09250v1">
<p>We demonstrate that their findings primarily reflect experimental design limitations rather than fundamental reasoning failures.</p>
<p>[…]</p>
<p>When we control for these experimental artifacts, by requesting generating functions instead of exhaustive move lists, preliminary experiments across multiple models indicate high accuracy on Tower of Hanoi instances previously reported as complete failures.</p>
</blockquote>
<p><a href="https://mastodon.social/@colincornaby/114678595130951433">Colin Cornaby</a>:</p>
<blockquote cite="https://mastodon.social/@colincornaby/114678595130951433"><p>It’s kind of hilarious how the response to Apple’s AI reasoning paper was “well sure but it works great if you remove the reasoning from the reasoning test.”</p></blockquote>
<p><a href="https://garymarcus.substack.com/p/seven-replies-to-the-viral-apple">Gary Marcus</a> (via <a href="https://news.ycombinator.com/item?id=44278403">Hacker News</a>):</p>
<blockquote cite="https://garymarcus.substack.com/p/seven-replies-to-the-viral-apple"><p><a href="https://open.substack.com/pub/garymarcus/p/a-knockout-blow-for-llms?r=8tdk6&utm_campaign=post&utm_medium=web&showWelcomeOnShare=false">My own post here laying out the Apple paper in historical and scientific context </a>was so popular that well over 150,000 people read it, biggest in this newsletter’s history. <em>The Guardian</em> published an adaptation of my post (“<a href="https://www.theguardian.com/commentisfree/2025/jun/10/billion-dollar-ai-puzzle-break-down">When billion-dollar AIs break down over puzzles a child can do, it’s time to rethink the hype</a>“) The editor tells me readers spent a long time reading it, notably longer than usual, as if people really wanted to understand the arguments in detail. (The ACM computer science society is reposting the essay, too, and <a href="https://legrandcontinent.eu/fr/2025/06/10/ia-llm-marcus/">there is now a French version as well</a>).</p><p>Tons of GenAI optimists took cracks at the Apple paper (see below), and it is worth considering their arguments. Overall I have seen roughly seven different efforts at rebuttal, ranging from nitpicking and ad hominem to the genuinely clever. Most (not all) are based on grains of truth, but are any of them actually compelling?</p>
<p>[…]</p>
<p>If people like Sam Altman are sweating, it’s because they should. The Apple paper is yet another clear sign that scaling is not the answer; for once, people are paying attention.</p></blockquote>
<p><a href="https://simonwillison.net/2025/Jun/15/viral-apple-reasoning-paper/">Simon Willison</a>:</p>
<blockquote cite="https://simonwillison.net/2025/Jun/15/viral-apple-reasoning-paper/"><p>Gary rebuts those rebuttals, but given that his previous headline concerning this paper was <a href="https://garymarcus.substack.com/p/a-knockout-blow-for-llms">a knockout blow for LLMs?</a> it’s not surprising that he finds those arguments unconvincing.</p><p>[…]</p><p>And therein lies my disagreement. I’m not interested in whether or not LLMs are the “road to AGI”. I continue to care only about whether they have useful applications today, once you’ve understood their limitations.</p><p>Reasoning LLMs are a relatively new and interesting twist on the genre. They are demonstrably able to solve a whole bunch of problems that previous LLMs were unable to handle, hence why we’ve seen <a href="https://simonwillison.net/tags/llm-reasoning/">a rush of new models</a> from OpenAI and Anthropic and Gemini and DeepSeek and Qwen and Mistral.</p><p>They get even more interesting when you <a href="https://simonwillison.net/2025/Jun/6/six-months-in-llms/#ai-worlds-fair-2025-43.jpeg">combine them with tools</a>.</p><p>They’re already useful to me today, whether or not they can reliably solve the Tower of Hanoi or River Crossing puzzles.</p></blockquote>
<p><a href="https://deepmind.google/discover/blog/advanced-version-of-gemini-with-deep-think-officially-achieves-gold-medal-standard-at-the-international-mathematical-olympiad/">Google</a>:</p>
<blockquote cite="https://deepmind.google/discover/blog/advanced-version-of-gemini-with-deep-think-officially-achieves-gold-medal-standard-at-the-international-mathematical-olympiad/"><p>The International Mathematical Olympiad (“IMO”) is the world’s most prestigious competition for young mathematicians, and has been held annually since 1959. Each country taking part is represented by six elite, pre-university mathematicians who compete to solve six exceptionally difficult problems in algebra, combinatorics, geometry, and number theory. Medals are awarded to the top half of contestants, with approximately 8% receiving a prestigious gold medal.</p><p>[…]</p><p>An advanced version of Gemini <a href="https://blog.google/technology/google-deepmind/google-gemini-updates-io-2025/#deep-think">Deep Think</a> solved five out of the six IMO problems perfectly, earning 35 total points, and achieving gold-medal level performance.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/18/study-on-ai-coding-tools/">Study on AI Coding Tools</a></li>
<li><a href="https://mjtsai.com/blog/2025/04/14/google-is-winning-on-every-ai-front/">Google Is Winning on Every AI Front</a></li>
<li><a href="https://mjtsai.com/blog/2025/04/14/llama-gaming-ai-benchmarks/">LLaMA Gaming AI Benchmarks</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/12/apple-delays-more-personalized-siri-apple-intelligence-features/">Apple Delays “More Personalized Siri” Apple Intelligence Features</a></li>
<li><a href="https://mjtsai.com/blog/2024/10/15/understanding-the-limitations-of-mathematical-reasoning-in-large-language-models/">Understanding the Limitations of Mathematical Reasoning in Large Language Models</a></li>
<li><a href="https://mjtsai.com/blog/2023/03/15/gpt-4/">GPT-4</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/25/the-illusion-of-thinking/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>appleOS 26 Public Betas</title>
<link>https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/</link>
<comments>https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 24 Jul 2025 19:38:51 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[iOS Beta]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 26]]></category>
<category><![CDATA[iPadOS Beta]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Beta]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[watchOS]]></category>
<category><![CDATA[watchOS Beta]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48642</guid>
<description><![CDATA[Juli Clover: Apple is allowing members of its public beta testing program to download and install iOS 26 and iPadOS 26 starting today. You can sign up for the public betas on Apple’s beta website. The first public beta features the same content as the fourth developer beta that came out earlier this week, though […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/24/apple-seeds-ios-26-public-beta/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/24/apple-seeds-ios-26-public-beta/"><p>Apple is allowing members of its public beta testing program to download and install iOS 26 and iPadOS 26 starting today. You can sign up for the public betas on <a href="https://beta.apple.com/">Apple’s beta website</a>. The first public beta features the same content as the fourth developer beta that came out earlier this week, though there is a new fourth beta available for developers as well.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/22/macos-tahoe-26-developer-beta-4/">macOS Tahoe 26 Developer Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/22/ios-26-developer-beta-4/">iOS 26 Developer Beta 4</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/08/ipados-26-developer-beta-3/">iPadOS 26 Developer Beta 3</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/30/assorted-notes-on-liquid-glass/">Assorted Notes on Liquid Glass</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/16/macos-15-sequoia-public-beta/">macOS 15 Sequoia Public Beta</a></li>
</ul>
<p id="appleos-26-public-betas-update-2025-07-25">Update (<a href="#appleos-26-public-betas-update-2025-07-25">2025-07-25</a>): See also: <a href="https://tidbits.com/2025/07/24/apple-opens-public-betas-for-macos-26-tahoe-ios-26-ipados-26-watchos-26-tvos-26-and-homepod-software-26/">TidBITS</a>, <a href="https://arstechnica.com/gadgets/2025/07/public-betas-of-ios-26-macos-26-ipados-26-and-other-oses-now-available/">ArsTechnica</a>, <a href="https://apple.slashdot.org/story/25/07/24/205229/apple-releases-public-betas-of-its-new-software-updates-with-liquid-glass">Slashdot</a>, <a href="https://pxlnv.com/linklog/public-beta-26/">Nick Heer</a>.</p>
<p><a href="https://mastodon.social/@stroughtonsmith/114909502704623627">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114909502704623627">
<p>As a user, the Public Beta builds are mostly fine. Very livable.</p>
<p>As a developer, these builds are a train wreck, and beta 5 can’t come soon enough</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/25/ipados-26-developer-beta-4/">iPadOS 26 Developer Beta 4</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>ICEBlock, an iOS Exclusive</title>
<link>https://mjtsai.com/blog/2025/07/24/iceblock-an-ios-exclusive/</link>
<comments>https://mjtsai.com/blog/2025/07/24/iceblock-an-ios-exclusive/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 24 Jul 2025 19:19:58 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Review]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[China]]></category>
<category><![CDATA[Department of Justice (DOJ)]]></category>
<category><![CDATA[GPS]]></category>
<category><![CDATA[ICEBlock]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Law Enforcement]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Push Notifications]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48630</guid>
<description><![CDATA[John Gruber (Mastodon, Hacker News): The ICEBlock app is interesting in and of itself (and from my tire-kicking test drive, appears to be a well-crafted and designed app), as will be Apple’s response if (when?) the Trump administration takes offense to the app’s existence. Back in 2019, kowtowing to tacit demands from China, Apple removed […]]]></description>
<content:encoded><![CDATA[<p><a href="https://daringfireball.net/2025/07/iceblock">John Gruber</a> (<a href="https://mastodon.social/@daringfireball/114909122547414457">Mastodon</a>, <a href="https://news.ycombinator.com/item?id=44445646">Hacker News</a>):</p>
<blockquote cite="https://daringfireball.net/2025/07/iceblock">
<p>The ICEBlock app is interesting in and of itself (and from my tire-kicking test drive, appears to be a well-crafted and designed app), as will be Apple’s response if (when?) the Trump administration takes offense to the app’s existence. Back in 2019, kowtowing to tacit demands from China, <a href="https://daringfireball.net/linked/2019/10/10/apple-pulls-hkmaps">Apple removed from the App Store an app called HKmap.live</a> which helped pro-democracy activists in Hong Kong know the location of police and protest activity. The app broke no Hong Kong laws, but <a href="https://www.npr.org/2019/10/10/768841864/after-china-objects-apple-removes-app-used-by-hong-kong-protesters">scared the thin-skinned skittish lickspittles in the Chinese Communist Party</a>.</p>
</blockquote>
<p>Apple first <a href="https://mjtsai.com/blog/2019/10/03/hkmap-live-rejected-from-the-app-store/">rejected</a> HKmap.live, on the grounds that it “allowed users to evade law enforcement.” That seems to be pretty much what ICEBlock is meant to do, too. I don’t think there was ever a <a href="https://developer.apple.com/app-store/review/guidelines/">written rule</a> about this, however. The closest I see is rule 1.4.4, which says that “Apps may only display DUI checkpoints that are published by law enforcement agencies[…].”</p>
<p>HKmap argued that the app <em>could</em> be used for evading law enforcement, but that it was really to help people “note locations” and that it wasn’t for <em>the user</em> to avoid police but to avoid dangerous situations caused by <em>other people</em> clashing with police.</p>
<p>I don’t like these types of arguments. You built a hammer, and it could be used to build a house or to vandalize, and there’s a certain ratio of use (assuming that could be calculated) where it becomes bannable?</p>
<p>Anyway, <a href="https://www.iceblock.app">ICEBlock</a> is saying something similar. Officially, it’s not for <em>evading</em> ICE but to “stay informed” and to help <em>report</em> “civil rights abuses.”</p>
<p>Apple ended up approving HKmap.live without citing why it changed its mind. Speculation at the time was that the initial reviewer was just wrong.</p>
<p>But then, a few weeks later, Apple <a href="https://mjtsai.com/blog/2019/10/25/hkmap-live-removed-from-the-app-store/">removed HKmap.live</a> from the App Store, saying that it had “endangered law enforcement and residents.” Again, this is a terrible place to be as a developer: it’s not enough to follow the local laws and the written guidelines from Apple, but your app’s fate hinges on whether Apple determines that it <em>endangers</em> people? Of course, there was no attempt to balance this against the number of people it <em>protected</em>. But the real reason was probably political pressure, anyway.</p>
<p>It will be interesting to see what Apple does here. Presumably, if Congress or certain states passed a targeted law—e.g. radar detectors are commonly restricted and outright illegal in Virginia and DC—Apple would follow it. But so far all I’ve seen are vague claims from the administration that the app is already illegal—I guess on the grounds that it constitutes abetting/harboring—and it’s unclear how much Apple has been pressured.</p>
<blockquote cite="https://daringfireball.net/2025/07/iceblock">
<p>One defense from Apple regarding HKmap.live, however, was that the iOS app was a thin wrapper around the website, and website remained fully functional and could be saved to an iPhone user’s home screen.</p>
</blockquote>
<p>This always seemed to me like a legal case decided on a procedural issue to avoid ruling on the merits.</p>
<blockquote cite="https://daringfireball.net/2025/07/iceblock">
<p>To deliver push notifications on Android, the developers claim they would need to maintain a database of device IDs, create a user account system to manage those device IDs, and all of that server-stored data would be susceptible to law enforcement subpoenas and pro-ICE red hat hackers. […] Only iOS supports the security and privacy features for ICEBlock to offer what it does, the way it does.</p>
</blockquote>
<p>But doesn’t the database still exist with iOS, and it could just be subpoenaed from Apple? Apple doesn’t want to break the security of its own devices, but it’s always cooperated with law enforcement to share cloud data that it does have.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/02/apple-in-china/">Apple in China</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/19/apple-removes-messaging-apps-from-chinese-app-store/">Apple Removes Messaging Apps From Chinese App Store</a></li>
<li><a href="https://mjtsai.com/blog/2022/11/11/airdrop-everyone-limit-in-china/">AirDrop “Everyone” Limit in China</a></li>
<li><a href="https://mjtsai.com/blog/2019/10/25/hkmap-live-removed-from-the-app-store/">HKmap Live Removed From the App Store</a></li>
<li><a href="https://mjtsai.com/blog/2019/10/03/hkmap-live-rejected-from-the-app-store/">HKmap Live Rejected From the App Store</a></li>
<li><a href="https://mjtsai.com/blog/2017/07/31/apple-pulls-vpn-apps-from-china-app-store/">Apple Pulls VPN Apps From China App Store</a></li>
<li><a href="https://mjtsai.com/blog/2017/01/05/apple-removes-new-york-times-apps-from-chinese-app-store/">Apple Removes New York Times Apps From Chinese App Store</a></li>
</ul>
<p id="iceblock-an-ios-exclusive-update-2025-07-28">Update (<a href="#iceblock-an-ios-exclusive-update-2025-07-28">2025-07-28</a>): <a href="https://www.theverge.com/cyber-security/707116/iceblock-data-privacy-security-android-version">Dominic Preston</a> (via <a href="https://www.schneier.com/blog/archives/2025/07/security-vulnerabilities-in-iceblock.html">Bruce Schneier</a>):</p>
<blockquote cite="https://www.theverge.com/cyber-security/707116/iceblock-data-privacy-security-android-version">
<p>The developer of ICEBlock, an iOS app for anonymously reporting sightings of US Immigration and Customs Enforcement (ICE) officials, promises that it “ensures user privacy by storing no personal data.” But that claim has come under scrutiny. ICEBlock creator Joshua Aaron has been accused of <a href="https://bsky.app/profile/grapheneos.org/post/3lt2prfb2vk2r">making false promises</a> regarding user anonymity and privacy, <a href="https://bsky.app/profile/grapheneos.org/post/3lsyeugohk22v">being “misguided”</a> about the privacy offered by iOS, and of <a href="https://bsky.app/profile/blankwillbur.bsky.social/post/3lt2pwwgfts2r">being an Apple fanboy</a>. The issue isn’t what ICEBlock stores. It’s about what it could accidentally reveal through its tight integration with iOS.</p>
<p>[…]</p>
<p>The developers of GrapheneOS, an open-source, privacy-focused take on Android, <a href="https://bsky.app/profile/grapheneos.org/post/3lt2prfb2vk2r">took to BlueSky</a> to accuse ICEBlock of “spreading misinformation about Android” by describing it as less private than iOS. The developers said that ICEBlock ignores data kept by Apple itself and claims it “provides complete anonymity when it doesn’t.”</p>
<p>[…]</p>
<p>Apple maintains a database of which devices and accounts have installed a given app, and Carlos Anso from GrapheneOS told me that it likely also tracks device registrations for push notifications. For either ICEBlock’s iOS app or a hypothetical Android app, law enforcement could demand information directly from the company, cutting ICEBlock out of the loop.</p>
</blockquote>
<p><a href="https://daringfireball.net/linked/2025/07/26/iceblock-trust-apple">John Gruber</a> (<a href="https://mastodon.social/@daringfireball/114921402717252444">Mastodon</a>):</p>
<blockquote cite="https://daringfireball.net/linked/2025/07/26/iceblock-trust-apple">
<p>As far as we know, ICEBlock is as private as possible while still enabling push notifications, and a hypothetical Android version couldn’t be as private. But that privacy does depend on trust in Apple.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/24/iceblock-an-ios-exclusive/feed/</wfw:commentRss>
<slash:comments>20</slash:comments>
</item>
<item>
<title>AppleCare One</title>
<link>https://mjtsai.com/blog/2025/07/24/applecare-one/</link>
<comments>https://mjtsai.com/blog/2025/07/24/applecare-one/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 24 Jul 2025 19:19:49 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Services]]></category>
<category><![CDATA[Apple Vision Pro]]></category>
<category><![CDATA[Apple Watch]]></category>
<category><![CDATA[AppleCare]]></category>
<category><![CDATA[Best Buy]]></category>
<category><![CDATA[Financial]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[iPad]]></category>
<category><![CDATA[iPhone]]></category>
<category><![CDATA[Mac]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48628</guid>
<description><![CDATA[Apple (MacRumors, Hacker News, Reddit, Slashdot): For just $19.99 per month, customers can protect up to three products in one plan, with the option to add more at any time for $5.99 per month for each device. With AppleCare One, customers receive one-stop service and support from Apple experts across all of the Apple products […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/07/apple-introduces-applecare-one-streamlining-coverage-into-a-single-plan/">Apple</a> (<a href="https://www.macrumors.com/2025/07/23/apple-announces-applecare-one/">MacRumors</a>, <a href="https://news.ycombinator.com/item?id=44658547">Hacker News</a>, <a href="https://www.reddit.com/r/apple/comments/1m77je8/apple_introduces_applecare_one_streamlining/">Reddit</a>, <a href="https://apple.slashdot.org/story/25/07/23/1445216/applecare-one-lets-users-insure-multiple-apple-devices-for-1999-accepts-four-year-old-hardware">Slashdot</a>):</p>
<blockquote cite="https://www.apple.com/newsroom/2025/07/apple-introduces-applecare-one-streamlining-coverage-into-a-single-plan/">
<p>For just $19.99 per month, customers can protect up to three products in one plan, with the option to add more at any time for $5.99 per month for each device. With AppleCare One, customers receive one-stop service and support from Apple experts across all of the Apple products in their plan for simple, affordable peace of mind.</p>
<p>[…]</p>
<p>AppleCare One includes all of the benefits that come with AppleCare+, including unlimited repairs for accidents like drops and spills, 24/7 priority support from Apple experts, quick and convenient Apple-certified service, and battery coverage. AppleCare One also expands theft and loss protection beyond iPhone to also cover iPad and Apple Watch.</p>
</blockquote>
<p>It’s been about 12 years since I bought an AppleCare policy, and in all the years before that and since I don’t recall ever having a hardware problem that was outside of the original (included) warranty period but inside of the AppleCare period. So, to me, this doesn’t seem like a great deal, but I guess it’s a really simple way to get piece of mind. I could see it making sense if you want to take advantage of Apple now offering coverage for devices for more than three years or if you’re worried about theft or loss.</p>
<p><a href="https://www.macstories.net/news/applecare-one-unifies-device-coverage-into-a-single-monthly-plan/">John Voorhees</a>:</p>
<blockquote cite="https://www.macstories.net/news/applecare-one-unifies-device-coverage-into-a-single-monthly-plan/">
<p>Customers can also add existing devices to the new program that are up to four years old (or one year for headphones) if they are in good condition. That’s a big change from the usual 60 days from the date of purchase that customers have had to purchase AppleCare in the past.</p>
</blockquote>
<p><a href="https://appleinsider.com/inside/applecare/vs/applecare-vs-applecare-one-warranty-services-compared">Malcolm Owen</a>:</p>
<blockquote cite="https://appleinsider.com/inside/applecare/vs/applecare-vs-applecare-one-warranty-services-compared"><p>While AppleCare+ with Theft and Loss covers two claims per year for one device, AppleCare One will go up to a total of three claims per year.</p><p>This does reduce the total number of claims to the equivalent of one per device under AppleCare One versus three separate AppleCare+ plans, but it seems like a reasonable change.</p><p>[…]</p><p>There is one massive outlier in the Apple products list when it comes to AppleCare One: The Apple Vision Pro.</p><p>Normally, the Apple Vision Pro costs $24.99 per month for AppleCare+. This is $5 per month more than AppleCare One’s monthly fee.</p></blockquote>
<p><a href="https://sixcolors.com/post/2025/07/apple-announces-applecare-one-a-device-coverage-bundle-program/">Dan Moren</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/07/apple-announces-applecare-one-a-device-coverage-bundle-program/">
<p>But is the bundle cost effective? Apple says in its release that “a customer can enroll their iPhone, iPad, and Apple Watch, and save up to $11 a month over enrolling in separate AppleCare+ plans for each device.”</p>
<p>Which…yes, they <em>could</em>. But herein lies the fine print, because in many cases it depends on what model devices you have; as always, AppleCare costs vary depending on how expensive the device is.</p>
<p>[…]</p>
<p>One lingering question involves the iPhone Upgrade Program, which already includes AppleCare+ coverage as part of its subscription fee. It’s unclear exactly how that works with AppleCare One, though I’ve reached out to Apple to ask.</p>
</blockquote>
<p><a href="https://adamchandler.me/blog/2025/07/23/applecare-one-versus-best-buy-total/">Adam Chandler</a>:</p>
<blockquote cite="https://adamchandler.me/blog/2025/07/23/applecare-one-versus-best-buy-total/">
<p>I’ll return and advocate for households like ours to just do BestBuy Total for $179 a year! Every one of those devices I listed above had 2 years of coverage paid for by BestBuy for the first 2 years and, via Best Buy’s account management area, I can attach monthly coverage to any device that is about to hit the end of the 2-years-free mark. I did that for my Apple Watch Ultra and iPad Pro M1 for a month or two until those devices were replaced. We’re on 2 year upgrades for iPhone, Apple Watch and AirPods so those don’t need anything beyond 2 years and we’re on 3-4 years for MacBooks which is why I switched to a $149 a year plan directly with Apple to continue coverage until those devices are replaced.</p>
<p>[…]</p>
<p>I also would like to say that Apple is rewriting history a bit by pretending that annual, 2-year and 3-year plans never existed because those were a good deal comparatively. Today, it’s $399 to cover a MacBook Pro 16″ M4 Max for 3-years, $149 for 1 year and $14.99 a month or $540 to cover for 3 years if you’re paying monthly. The 3-year plan is only $11 a month but Apple isn’t going to tell you that. They’re going to show you $14.99 for MacBook Pro and $13.99 for iPhone and pretend like they’re doing you a favor. You can still attach AppleCare 2 and 3 year plans to a device you bought by calling Apple’s hotline or chatting with them. They just don’t show you those plans or mention them to you in retail stores.</p>
</blockquote>
<p>And the monthly rates are not locked in—they could increase.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/02/03/applecare-only-as-a-subscription/">AppleCare+ Only As a Subscription</a></li>
<li><a href="https://mjtsai.com/blog/2023/10/26/apple-services-price-hikes/">Apple Services Price Hikes</a></li>
<li><a href="https://mjtsai.com/blog/2022/09/08/applecare-unlimited-repairs/">AppleCare+ Unlimited Repairs</a></li>
<li><a href="https://mjtsai.com/blog/2021/11/29/mac-upgrade-program/">Mac Upgrade Program</a></li>
<li><a href="https://mjtsai.com/blog/2020/09/15/apple-one/">Apple One</a></li>
<li><a href="https://mjtsai.com/blog/2015/09/11/getting-a-new-iphone/">Getting a New iPhone</a></li>
</ul>
<p id="applecare-one-update-2025-07-25">Update (<a href="#applecare-one-update-2025-07-25">2025-07-25</a>): <a href="https://www.macrumors.com/2025/07/25/applecare-one-iphone-upgrade-program/">Joe Rossignol</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/25/applecare-one-iphone-upgrade-program/">
<p>A quick addendum to the all-new AppleCare One plan that debuted this week: it is compatible with Apple's iPhone Upgrade Program in the United States.</p>
<p>iPhone Upgrade Program members receive AppleCare+ with Theft and Loss coverage as part of their monthly payment, but they can switch to AppleCare One if they prefer.</p>
</blockquote>
<p><a href="https://schwarztech.net/articles/mathing-out-applecare-one">Eric Schwarz</a>:</p>
<blockquote cite="https://schwarztech.net/articles/mathing-out-applecare-one">
<p>In my case, it would cost $5.68/month more to move these four devices to AppleCare One, but it would add theft and loss coverage across the board except for my MacBook (none of my devices have it currently.) In some ways, moving devices to have this would be a pretty good value, basically adding a form of insurance for theft and loss for $60/year.</p>
<p>[…]</p>
<p>On the other hand, for my long-term plans, I intend on dropping AppleCare+ on my MacBook next summer when it turns four and probably dropping it on my iPhone eventually, just due to value dropping the likelihood of me upgrading in the next year to two, as well.</p>
<p>[…]</p>
<p>I think that’s the toughest calculation about things like AppleCare, especially on older devices that feel like a reliable, known quantity. You’re spending a portion of the device’s value every year as it’s dropping in value in hopes that if something catastrophic happened, you’d be covered. However, as devices age, you may be better off setting money aside towards something newer (such as my idea of a Mac mini.)</p>
</blockquote>
<p id="applecare-one-update-2025-07-29">Update (<a href="#applecare-one-update-2025-07-29">2025-07-29</a>): <a href="https://tidbits.com/2025/07/28/apple-unveils-applecare-one-for-multiple-device-protection/">Adam Engst</a>:</p>
<blockquote cite="https://tidbits.com/2025/07/28/apple-unveils-applecare-one-for-multiple-device-protection/">
<p>While AppleCare One simplifies device protection, it’s essential to remember that, overall, extended warranties benefit the companies offering them more than the customers buying them. Apple wouldn’t be introducing AppleCare One if it didn’t expect the program to increase its Services revenue well beyond what it pays out in AppleCare coverage. If you can afford to repair or replace a broken or lost device, self-insuring is often a more financially prudent option.</p>
<p>That said, AppleCare One could make sense if you:</p>
<ul>
<li>Prefer the peace of mind of being able to have damaged or lost devices fixed or replaced for a relatively low service fee</li>
<li>Own multiple devices with high AppleCare+ costs</li>
<li>Have older devices that you’d like to protect</li>
<li>Prefer predictable monthly payments over unexpected repair or replacement costs</li>
</ul>
<p>[…]</p>
<p>I’ve developed a set of policies surrounding AppleCare for myself and anyone who asks me for recommendations[…]</p>
</blockquote>
<p id="applecare-one-update-2025-08-05">Update (<a href="#applecare-one-update-2025-08-05">2025-08-05</a>): <a href="https://mastodon.social/@b3ll/114973477347457551">Adam Bell</a>:</p>
<blockquote cite="https://mastodon.social/@b3ll/114973477347457551"><p>Signed up for AppleCare One, and tried to add my MacBook, but it wouldn’t let me.</p><p>After calling Apple Support, they noted that since I bought this MacBook (and its AppleCare) by trading in another MacBook, it is not eligible to be added to AppleCare One.</p><p>Apparently purchases made from trade-ins are illegible.</p></blockquote>
<p id="applecare-one-update-2025-08-12">Update (<a href="#applecare-one-update-2025-08-12">2025-08-12</a>): <a href="https://adamchandler.me/blog/2025/08/11/an-update-on-applecare-one-versus-best-buy-total/">Adam Chandler</a>:</p>
<blockquote cite="https://adamchandler.me/blog/2025/08/11/an-update-on-applecare-one-versus-best-buy-total/"><p>Since my post, someone has put together, “<a href="https://icare-calculator.vercel.app">iCare —  AppleCare Plan Calculator</a>” which lets you determine whether you could benefit from AppleCare One.</p><p>[…]</p><p>Best case, that’s $766.32 a year to cover all of my devices through Apple.</p><p>Alternatively, I can just pay Best Buy $179 a year for the same coverage.</p><p>There’s one big caveat, BestBuy only covers my devices for 2 years from purchase date and AppleCare One is basically forever (up until vintage status) and you can add devices you purchased up to 4 years ago with an inspection at the Apple Store[…]</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/24/applecare-one/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>Selecting Text in Messages.app</title>
<link>https://mjtsai.com/blog/2025/07/24/selecting-text-in-messages-app/</link>
<comments>https://mjtsai.com/blog/2025/07/24/selecting-text-in-messages-app/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 24 Jul 2025 19:19:41 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Messages.app]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48626</guid>
<description><![CDATA[Joe Rossignol: A new “Select” option in the Messages app on iOS 26 lets you select and copy a portion of text within a message bubble in a conversation.On earlier iOS versions, you can only copy an entire message bubble. Finally. And how about selecting multiple bubbles at once? My other pet peeve is that […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/06/21/five-ios-26-features-you-might-have-missed/">Joe Rossignol</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/06/21/five-ios-26-features-you-might-have-missed/"><p>A new “Select” option in the Messages app on iOS 26 lets you select and copy a portion of text within a message bubble in a conversation.</p><p>On earlier iOS versions, you can only copy an entire message bubble.</p></blockquote>
<p>Finally. And how about selecting multiple bubbles at once?</p>
<p>My other pet peeve is that on macOS you can’t start a selection by clicking in the whitespace between the bubbles.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/10/ios-26-announced/">iOS 26 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2024/03/05/keyboard-control-of-messages-app/">Keyboard Control of Messages.app</a></li>
<li><a href="https://mjtsai.com/blog/2020/02/10/ios-13-cursor-placement-and-text-selection/">iOS 13 Cursor Placement and Text Selection</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/24/selecting-text-in-messages-app/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Ways SwiftData’s ModelContainer Can Error on Creation</title>
<link>https://mjtsai.com/blog/2025/07/23/ways-swiftdatas-modelcontainer-can-error-on-creation/</link>
<comments>https://mjtsai.com/blog/2025/07/23/ways-swiftdatas-modelcontainer-can-error-on-creation/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 23 Jul 2025 17:11:19 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Core Data]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[NSError]]></category>
<category><![CDATA[Swift Programming Language]]></category>
<category><![CDATA[SwiftData]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48618</guid>
<description><![CDATA[Scott Driggers: Here’s what I see from a typical report from a crashing user device. The first thing that jumps out is that there is no explanation from the SwiftData error itself.[…]But thankfully, we have the logs to look through. In this example, there are a few level=Error logs from com.apple.coredata that look promising[…][…]Looking through […]]]></description>
<content:encoded><![CDATA[<p><a href="https://scottdriggers.com/blog/swiftdata-modelcontainer-creation-crash/">Scott Driggers</a>:</p>
<blockquote cite="https://scottdriggers.com/blog/swiftdata-modelcontainer-creation-crash/"><p>Here’s what I see from a typical report from a crashing user device. The first thing that jumps out is that there is no explanation from the <code>SwiftData</code> error itself.</p><p>[…]</p><p>But thankfully, we have the logs to look through. In this example, there are a few <code>level=Error</code> logs from <code>com.apple.coredata</code> that look promising[…]</p><p>[…]</p><p>Looking through similar reports I have received so far, I can see a few distinct crash reasons</p><ol><li>Error due to schema mismatch (this is the example we reviewed above)</li><li>Error due to no free space on disk</li><li>Error due to multiple migrators attempting to migrate the database concurrently</li></ol></blockquote>
<p>Core Data has always logged more helpful information than it returns back in the <code>NSError</code>, but at least it usually gives you a reasonable error code. (They aren’t all listed in the <a href="https://developer.apple.com/documentation/coredata/nscoredataerror">documentation</a>; see <tt>CoreDataErrors.h</tt> and <tt>FoundationErrors.h</tt>.) Swift has fancy error handling, but somehow the new framework bundles these disparate failures into a generic <a href="https://developer.apple.com/documentation/swiftdata/swiftdataerror/loadissuemodelcontainer">loadIssueModelContainer</a> error with no associated information.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/19/swiftdata-and-core-data-at-wwdc25/">SwiftData and Core Data at WWDC25</a></li>
<li><a href="https://mjtsai.com/blog/2024/10/16/returning-to-core-data/">Returning to Core Data</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/23/ways-swiftdatas-modelcontainer-can-error-on-creation/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Apple Games App</title>
<link>https://mjtsai.com/blog/2025/07/23/apple-games-app/</link>
<comments>https://mjtsai.com/blog/2025/07/23/apple-games-app/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 23 Jul 2025 17:11:03 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[Apple Arcade]]></category>
<category><![CDATA[Apple Software Announcement]]></category>
<category><![CDATA[Game]]></category>
<category><![CDATA[Game Center]]></category>
<category><![CDATA[Games.app]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[WWDC]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48616</guid>
<description><![CDATA[Apple (9to5Mac, MacRumors): At Apple’s Worldwide Developers Conference (WWDC), Apple unveiled Apple Games, an all-new destination designed to help players jump back into the games they love, find their next favorite, and have more fun with friends, turning even single-player games into shared experiences. The Games app makes it easier than ever for players to […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/06/introducing-the-apple-games-app-a-personalized-home-for-games/">Apple</a> (<a href="https://9to5mac.com/2025/06/09/apple-unveils-new-apple-games-app/">9to5Mac</a>, <a href="https://www.macrumors.com/2025/06/09/apples-new-games-app/">MacRumors</a>):</p>
<blockquote cite="https://www.apple.com/newsroom/2025/06/introducing-the-apple-games-app-a-personalized-home-for-games/">
<p>At Apple’s Worldwide Developers Conference (WWDC), Apple unveiled Apple Games, an all-new destination designed to help players jump back into the games they love, find their next favorite, and have more fun with friends, turning even single-player games into shared experiences. The Games app makes it easier than ever for players to enjoy all their games in one convenient place and see what’s happening across their games, including major events and updates, so they never miss a moment.</p>
</blockquote>
<p>The rumors were that this was going to be a separate games store, with games moved out of the main App Store app, but it seems to be basically <a href="https://x.com/SnazzyLabs/status/1932309631638118467">Game Center rebranded</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/07/free-with-in-app-purchase-is-a-sham/">Free With In-App Purchase Is a Sham</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/21/monument-valley-3-in-netflix-games/">Monument Valley 3 in Netflix Games</a></li>
<li><a href="https://mjtsai.com/blog/2016/03/18/game-center-is-still-broken-after-six-months/">Game Center Is Still Broken After Six Months</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/07/inside-apple-arcade/">Inside Apple Arcade</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/04/apples-mac-gaming-push/">Apple’s Mac Gaming Push</a></li>
</ul>
<p id="apple-games-app-update-2025-07-24">Update (<a href="#apple-games-app-update-2025-07-24">2025-07-24</a>): <a href="https://mastodon.social/@craiggrannell/114903701630338046">Craig Grannell</a>:</p>
<blockquote cite="https://mastodon.social/@craiggrannell/114903701630338046"><p>Your line is what I feared would happen when I <a href="https://www.stuff.tv/features/what-i-think-the-apple-games-app-needs-to-work-and-why-it-wont/">wrote about this in May</a>.</p><p>Of the items in that piece, here’s how I think Apple fared in beta 3:</p><ol><li>Nail the basics: barely</li><li>Highlight controller support: yes – buried under Library > Your Games > [menu]</li><li>Add landscape support: yes</li><li>Embrace openness (LOL): LOL indeed</li><li>Recommend good games: not really</li><li>Not get bored after 11 seconds: we shall see.</li></ol></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/23/apple-games-app/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>iPad Air Runs Windows 11 ARM via Emulation</title>
<link>https://mjtsai.com/blog/2025/07/23/ipad-air-runs-windows-11-arm-via-emulation/</link>
<comments>https://mjtsai.com/blog/2025/07/23/ipad-air-runs-windows-11-arm-via-emulation/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 23 Jul 2025 17:10:48 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[AltStore]]></category>
<category><![CDATA[App Marketplaces]]></category>
<category><![CDATA[Apple M2]]></category>
<category><![CDATA[Digital Markets Act (DMA)]]></category>
<category><![CDATA[Emulator]]></category>
<category><![CDATA[European Union]]></category>
<category><![CDATA[iPad Air]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 18]]></category>
<category><![CDATA[Just-In-Time Compilation (JIT)]]></category>
<category><![CDATA[UTM]]></category>
<category><![CDATA[Windows]]></category>
<category><![CDATA[Windows 11]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48614</guid>
<description><![CDATA[Tim Hardwick: A developer has demonstrated Windows 11 ARM running on an M2 iPad Air using emulation, which has become much easier since the EU’s Digital Markets Act (DMA) regulations came into effect.As spotted by Windows Latest, NTDev shared an instance of the emulation on social media and posted a video on YouTube (embedded below) […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/04/22/m2-ipad-air-runs-windows-11-arm/">Tim Hardwick</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/04/22/m2-ipad-air-runs-windows-11-arm/"><p>A developer has demonstrated Windows 11 ARM running on an M2 iPad Air using emulation, which has become much easier since the EU’s Digital Markets Act (DMA) regulations came into effect.</p><p>As spotted by <em><a href="https://www.windowslatest.com/2025/04/22/dev-runs-windows-11-arm-on-ipad-air-m2-using-utm-with-jit-and-its-decent/">Windows Latest</a></em>, NTDev shared an instance of the emulation on <a href="https://x.com/NTDEV_/status/1913726329184567790">social media</a> and posted a <a href="//www.youtube.com/watch?v=eQuQaa_WkEM">video on YouTube</a> (embedded below) demonstrating it in action. The achievement relies on new EU regulatory changes that make it easier to sideload apps on iOS and iPadOS devices. Under the DMA, users can now download third-party app stores like “AltStore Classic,” which enables the installation of UTM with JIT (Just-In-Time) compilation support. </p><p>UTM is the technology that makes it all possible, and emulates Windows 11 inside iPadOS by translating Windows code into ARM instructions as it runs. Technically, iPadOS restricts direct virtualization for third-party apps, but JIT compilation allows Windows 11 to boot and function smoothly without requiring jailbreak access.</p></blockquote>
<p><a href="https://x.com/xroissance/status/1914668086671688009">xroissance</a>:</p>
<blockquote cite="https://x.com/xroissance/status/1914668086671688009">
<p>Apple shut down JIT a year ago to prevent a tiny PR blunder from happening. Imagine your hardware vendor locking down hardware… after you buy it. Locking it so 3rd parties can’t run apps at full speed w/o memory restrictions. This insanity must stop now ✋ It must be illegal.</p>
</blockquote>
<p><a href="https://www.macstories.net/news/altstore-pal-releases-altstore-classic-for-eu-iphone-users/">John Voorhees</a>:</p>
<blockquote cite="https://www.macstories.net/news/altstore-pal-releases-altstore-classic-for-eu-iphone-users/"><p>AltStore PAL 2.2 now includes AltStore Classic as one of its catalog of apps. That’s right, a store within a store, which allows users in Europe to sideload hundreds of non-notarized apps.</p></blockquote>
<p><a href="https://mastodon.social/@rileytestut/114355137613742150">Riley Testut</a>:</p>
<blockquote cite="https://mastodon.social/@rileytestut/114355137613742150"><p>Apple has very strict requirements on what alternative marketplaces are allowed to do…but they’re not allowed to control the content of the apps <em>inside</em> them 🤷‍♂️</p></blockquote>
<p><a href="https://mastodon.social/@rileytestut/114355694851833223">Riley Testut</a>:</p>
<blockquote cite="https://mastodon.social/@rileytestut/114355694851833223">
<p>the StikDebug app in AltStore PAL acts as an on-device debugger, which can connect to any app with the <code>get-task-allow</code> entitlement — which as a side-effect just happens to enable JIT for the app</p>
</blockquote>
<p><a href="https://mastodon.social/@chockenberry/114356881817006101">Craig Hockenberry</a>:</p>
<blockquote cite="https://mastodon.social/@chockenberry/114356881817006101">
<p>So you’re running the emulator in a debugger without any breakpoints?</p>
<p>Soon to come: a Core Debugging Fee 😉</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/27/eu-app-store-tiers-and-core-technology-commission/">EU App Store Tiers and Core Technology Commission</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/ipados-26-announced/">iPadOS 26 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/08/altstore-pal-2-2/">AltStore PAL 2.2</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/07/ios-19-more-like-macos/">iOS 19 More Like macOS?</a></li>
<li><a href="https://mjtsai.com/blog/2024/09/10/eu-ios-envy/">EU iOS Envy</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/09/allowing-ios-pc-emulator-apps-to-download-games/">Allowing iOS PC Emulator Apps to Download Games</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/15/utm-se-now-in-the-app-store/">UTM SE Now in the App Store</a></li>
<li><a href="https://mjtsai.com/blog/2024/06/14/utm-blocked-outside-app-store-via-notarization/">UTM Blocked Outside App Store via Notarization</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/08/allowing-ios-game-emulators-and-mini-apps/">Allowing iOS Game Emulators and Mini Apps</a></li>
<li><a href="https://mjtsai.com/blog/2024/03/05/emulation-on-iphone/">Emulation on iPhone</a></li>
</ul>
<p id="ipad-air-runs-windows-11-arm-via-emulation-update-2025-07-24">Update (<a href="#ipad-air-runs-windows-11-arm-via-emulation-update-2025-07-24">2025-07-24</a>): <a href="https://mastodon.social/@JoshHrach@iosdev.space/114904118691520024">Josh Hrach</a>:</p>
<blockquote cite="https://mastodon.social/@JoshHrach@iosdev.space/114904118691520024">
<p>Used UTM 5 years ago to run Windows XP on my iPad (with iPadOS 13) for gaming. Worked great before the JIT limitations.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/23/ipad-air-runs-windows-11-arm-via-emulation/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Xcode 26 Beta 4</title>
<link>https://mjtsai.com/blog/2025/07/22/xcode-26-beta-4/</link>
<comments>https://mjtsai.com/blog/2025/07/22/xcode-26-beta-4/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 22 Jul 2025 19:17:18 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Disk Image]]></category>
<category><![CDATA[Icon Composer]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Xcode]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48578</guid>
<description><![CDATA[Apple (download): Xcode 26 beta 3 includes SDKs for iOS 26, iPadOS 26, tvOS 26, watchOS 26, macOS Tahoe 26, and visionOS 26. Last time, there was only one new item in the release notes for beta 3. This time, they didn’t even update the release notes to say “beta 4.” Interestingly, Xcode now ships […]]]></description>
<content:encoded><![CDATA[<p><a href="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">Apple</a> (<a href="https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_26_beta_4/Xcode_26_beta_4.dmg">download</a>):</p>
<blockquote cite="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">
<p>Xcode 26 beta 3 includes SDKs for iOS 26, iPadOS 26, tvOS 26, watchOS 26, macOS Tahoe 26, and visionOS 26.</p>
</blockquote>
<p>Last time, there was only one new item in the release notes for beta 3. This time, they didn’t even update the release notes to say “beta 4.”</p>
<p>Interestingly, Xcode <a href="https://mastodon.social/@bigzaphod/114898341319449432">now ships</a> as a <tt>.xip</tt> archive <a href="https://mastodon.social/@_inside/114898134962247493">inside</a> of a <tt>.dmg</tt> file.</p>
<p><a href="https://mastodon.social/@nicoreese/114898352803102662">Nico Reese</a>:</p>
<blockquote cite="https://mastodon.social/@nicoreese/114898352803102662">
<p>And there I was just blindly clicking that xip file and wondering about it failing to extract. Because of course you have to move that xip file out of the dmg first.</p>
</blockquote>
<p>It did actually work for me to double-click it on the mounted disk image. It then extracted into my <tt>Downloads</tt> folder. But it’s big file, so it takes a while, and at first it looks like nothing is happening.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/09/xcode-26-beta-3/">Xcode 26 Beta 3</a></li>
</ul>
<p id="xcode-26-beta-4-update-2025-07-23">Update (<a href="#xcode-26-beta-4-update-2025-07-23">2025-07-23</a>): <a href="https://techhub.social/@xcodereleases/114898692866270044">Xcode Releases</a>:</p>
<blockquote cite="https://techhub.social/@xcodereleases/114898692866270044"><p>The download link for #Xcode 26.0 beta 4 has been updated to be a proper .xip file now, and I have confirmed it is identical to the “XcodeXIP.xip” file that was in the DMG previously.</p></blockquote>
<p>Apple has now updated the <a href="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">release notes</a> for beta 4. The only changes noted:</p>
<blockquote cite="https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes">
<p>Removed support for creating new Style Transfer projects.</p>
<p>[…]</p>
<p>Xcode Previews usage will frequently panic on macOS 26.0 Tahoe beta 4.</p>
</blockquote>
<p><a href="https://mastodon.social/@tonyarnold/114900934950155409">Tony Arnold</a>:</p>
<blockquote cite="https://mastodon.social/@tonyarnold/114900934950155409">
<p>Absolute LMAO at not being able to do SwiftUI-related development work on the beta release of macOS Tahoe for the next two weeks.</p>
</blockquote>
<p><a href="https://mastodon.social/@neofinder/114901247774763040">Norbert Doerner</a>:</p>
<blockquote cite="https://mastodon.social/@neofinder/114901247774763040"><p>That is very serious, and doesn’t bode well on the software quality of the “final” version of macOS 26, whenever that will be released.</p><p>But macOS 26 so far is the worst version we have seen in the last 20 years, very low product quality with uncounted amounts of questionable, and sometimes user hostile interface choices. Sigh.</p></blockquote>
<p><a href="https://mastodon.social/@agiletortoise/114898600604808989">Greg Pierce</a>:</p>
<blockquote cite="https://mastodon.social/@agiletortoise/114898600604808989">
<p>Looks like Icon Composer icons are still causing bundle validation issues in Xcode 26b4 builds. 🫤</p>
</blockquote>
<p><a href="https://mastodon.social/@matadan/114901120005446805">Andrew Eades</a>:</p>
<blockquote cite="https://mastodon.social/@matadan/114901120005446805">
<p>I’m developing my new app using .NET and MAUI because Apple makes Xcode development unusable for large portions of the year. And I get to use Neovim and/or Rider as well.</p>
</blockquote>
<p id="xcode-26-beta-4-update-2025-08-05">Update (<a href="#xcode-26-beta-4-update-2025-08-05">2025-08-05</a>): <a href="https://mastodon.social/@agiletortoise/114925375835726687">Greg Pierce</a>, <a href="https://mastodon.social/@_inside/114973842867962790">Gui Rambo</a>, <a href="https://hachyderm.io/@dennisbirch/114973914360645785">Dennis Birch</a>, and <a href="https://mastodon.social/@mjtsai/114972461685196397">I</a> are seeing our apps crash at launch due to a problem with weak linking and/or availability checks. The triggering APIs span AVFoundation, WebKit, and AppKit, so I assume it’s an Xcode issue.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/22/xcode-26-beta-4/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>macOS Tahoe 26 Developer Beta 4</title>
<link>https://mjtsai.com/blog/2025/07/22/macos-tahoe-26-developer-beta-4/</link>
<comments>https://mjtsai.com/blog/2025/07/22/macos-tahoe-26-developer-beta-4/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 22 Jul 2025 19:17:12 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Beta]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Music.app]]></category>
<category><![CDATA[Preview.app]]></category>
<category><![CDATA[Safari]]></category>
<category><![CDATA[Software Update]]></category>
<category><![CDATA[Startup Disk]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48576</guid>
<description><![CDATA[Juli Clover: Apple today provided developers with the fourth beta of macOS Tahoe 26 for testing purposes, with the update coming two weeks after the third beta. This update did correctly install for me via Software Update. The only beta 4 item that I see in the releases notes is that it says Xcode Previews […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/22/apple-seeds-macos-tahoe-beta-4/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/22/apple-seeds-macos-tahoe-beta-4/">
<p>Apple today provided developers with the fourth beta of <a href="https://www.macrumors.com/roundup/macos-26/">macOS Tahoe 26</a> for testing purposes, with the update coming two weeks after <a href="https://www.macrumors.com/2025/07/07/apple-seeds-macos-tahoe-beta-3/">the third beta</a>.</p>
</blockquote>
<p>This update did correctly install for me via Software Update.</p>
<p>The only beta 4 item that I see in the <a href="https://developer.apple.com/documentation/macos-release-notes/macos-26-release-notes">releases notes</a> is that it says Xcode Previews will “frequently panic” so you should use beta 3 instead.</p>
<p><a href="https://mastodon.social/@lapcatsoftware/114898146928061144">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114898146928061144">
<p>You can barely tell that Continue is a button.</p>
</blockquote>
<p>See also his screenshots of <a href="https://mastodon.social/@lapcatsoftware/114898168890435992">Safari private windows</a>, <a href="https://mastodon.social/@lapcatsoftware/114898175949384934">menu backgrounds</a>, and <a href="https://mastodon.social/@lapcatsoftware/114898188890844506">sidebars</a>.</p>
<p><a href="https://mastodon.social/@marioguzman/114898300637860889">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114898300637860889">
<p>I love not being able to read the now playing track info.</p>
</blockquote>
<p><a href="https://mastodon.social/@siracusa/114898428763571700">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/114898428763571700">
<p>Is there some kind of contest within Apple to see how little contrast can be used while still <em>technically</em> indicating a selection? One of these disks is selected, believe it or not!</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/07/macos-tahoe-26-developer-beta-3/">macOS Tahoe 26 Developer Beta 3</a></li>
</ul>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-23">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-23">2025-07-23</a>): <a href="https://mastodon.social/@gruber/114899986777253503">John Gruber</a>:</p>
<blockquote cite="https://mastodon.social/@gruber/114899986777253503">
<p>There is no good argument for selection states that are anything but instantly obvious. Whoever designed this doesn’t use the app.</p>
</blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114902269123963257">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114902269123963257">
<p>That playback bar though is <em>wild</em></p>
</blockquote>
<p><a href="https://tapbots.social/@todd/114898923492994010">Todd Thomas</a>:</p>
<blockquote cite="https://tapbots.social/@todd/114898923492994010"><p>Tahoe beta dislike I haven’t others complain about yet: the difference in look between the active window and all the inactive ones is way too subtle. I repeatedly have looked at one of my windows, pressed command-w and end up closing the wrong window. Will file a FB because easy enough and don’t need a sample app. Previous OS versions had a much more pronounced shadow + more obvious titlebar changes between active/inactive.</p></blockquote>
<p>I think the Big Sur change for active windows was a regression, and Tahoe makes it worse.</p>
<p><a href="https://pxlnv.com/linklog/macos-tahoe-preview/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/macos-tahoe-preview/">
<p>But, still, who steps back from updating a PDF document viewer in which each page is cut off at the corners and thinks <em>yes, this is an improvement</em>? I repeat: a selfish design choice prioritizing Apple’s goals over that of its users.</p>
</blockquote>
<p><a href="https://mastodon.social/@tolmasky/114899364326029248">Francisco Tolmasky</a>:</p>
<blockquote cite="https://mastodon.social/@tolmasky/114899364326029248">
<p>I think one reason Liquid Glass is causing such a profoundly negative reaction is that it is making a lot of people realize that the idea that they own their computer was actually an illusion. There was a sense that by choosing the Mac and local native apps you were shielding yourself from the "rent everything own nothing" remote worldview, but the inevitability of this coming disaster reveals just how little agency you really have over "your computer.”</p>
<p>Increasingly, the computer feels less like "your house,” and more like being a a senior in high school living in an increasingly tense environment with your parents. You're 17 but they tell you to keep the door open. You want to tell them why you're frustrated in good faith, but they know they're in the power position and just tell you "my house my rules.” It exhausting because there's nowhere else to go, and you're still expected to be productive in this environment.</p>
</blockquote>
<p><a href="https://mastodon.social/@garrettmurray/114899494617309927">Garrett Murray</a>:</p>
<blockquote cite="https://mastodon.social/@garrettmurray/114899494617309927">
<p>On macOS especially, some of the new component designs are just baffling, like how sidebars look, how buttons take up so much more room and float for no purpose, etc. This is just a giant, nearly always ugly mess. Apple desperately needs new software design leadership.</p>
</blockquote>
<p><a href="https://mastodon.social/@schwa/114903492955308639">Jonathan Wight</a>:</p>
<blockquote cite="https://mastodon.social/@schwa/114903492955308639">
<p>Hard drives get perspective, time machine volumes dont…</p>
<p>[…]</p>
<p>It feels like the Time Machine icon is bulging out at the top.</p>
</blockquote>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-25">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-25">2025-07-25</a>): <a href="https://www.macrumors.com/2025/07/24/apple-seeds-first-macos-tahoe-public-beta/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/24/apple-seeds-first-macos-tahoe-public-beta/">
<p>The first Tahoe public beta is identical to the fourth developer beta that was released on Tuesday.</p>
</blockquote>
<p><a href="https://sixcolors.com/post/2025/07/first-look-macos-tahoe-public-beta/">Jason Snell</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/07/first-look-macos-tahoe-public-beta/">
<p>The new design on the Mac doesn’t feel light and glassy, as it does on iPhone and iPad. It’s just a bit of a muddle. I keep noticing how terrible toolbars look in macOS Tahoe, and toolbars are <em>everywhere</em> on the Mac. Apple’s stated design philosophy is to build interfaces that allow content to flow behind them, showing through (a glass, darkly?). The official line is that this makes more space for your content—but, of course, sometimes using computer software means using interfaces to manipulate content and data and other stuff, and it feels like Apple has lost its balance in a quixotic attempt to make every app look like a photo editor.</p>
<p>I also have to point out the hypocrisy of Apple claiming that it’s building better frames for its users’ content. That’s not what’s happening here: Apple is using our content as decoration for its interfaces, using blurred and distorted versions of our images and words to show off those glass interface elements. Sometimes, it works: the feel of a canvas sliding under a bunch of glassy interface elements makes the whole thing feel like a harmonious whole. Other times, it feels like the interface and the content have both been obscured into unusability—and that’s bad.</p>
<p>[…]</p>
<p>But in most contexts on the macOS Tahoe beta, these bubbles don’t look like glass. They look like flat light gray ovals separated from a featureless gray expanse by an amateurish drop shadow. Occasionally, when scrolling content underneath the toolbars, they do spring to life and seem to give off the effect Apple wants, but of course, many (most?) Mac apps just don’t work that way, since the important content is in the window, not sliding through the toolbar.</p>
<p>[…]</p>
<p>After a month using early builds of macOS Tahoe full time, I can confidently report that this is an upgrade that <em>feels</em> like an upgrade. The additional power of Spotlight and Shortcuts is going to delight a lot of longtime Mac users, and I’m really liking the direction Apple is taking Control Center in the menu bar.</p>
</blockquote>
<p>He thinks Squircle Jail should be removed before Tahoe is released.</p>
<p><a href="https://pdx.social/@louie/114911875425500003">Louie Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114911875425500003">
<p>I can’t stop thinking about how in an “adapt your app icons for Liquid Glass” session video from WWDC, the designer said that we no longer have to spend all that time rendering complicated effects in Photoshop (I like doing that!) or making different app icon sizes (I also like doing that!)</p>
<p>It was ridiculous to say. App icons on macOS 26 don’t have hinted sizes, so Apple’s own 16pt app icons look like ass.</p>
</blockquote>
<p>See also: <a href="https://arstechnica.com/gadgets/2025/07/six-lesser-known-features-to-like-in-the-macos-26-tahoe-public-beta/">Andrew Cunningham’s review</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/">appleOS 26 Public Betas</a></li>
</ul>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-28">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-28">2025-07-28</a>): <a href="https://www.reddit.com/r/MacOSBeta/comments/1m7xg0s/psa_before_you_update_to_macos_26_beta_4_close/">new-to-reddit-accoun</a>:</p>
<blockquote cite="https://www.reddit.com/r/MacOSBeta/comments/1m7xg0s/psa_before_you_update_to_macos_26_beta_4_close/"><p>There is a bug whereby upon the system rebooting after installing Beta 4, you see the WiFi selection window during set up. When you select your network, it will just keep spinning. Rebooting does not work.</p><p>Apparently the issue is that if there were open windows before it rebooted, it will run into this issue and <a href="https://www.reddit.com/r/MacOSBeta/s/mqAMXFE4LM">you will get stuck</a>.</p></blockquote>
<p><a href="https://mastodon.social/@marioguzman/114914780758817544">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114914780758817544"><p>2000s Apple: Make the UI and the user content distinct from each other.</p><p>2013 Apple: Recede the UI and elevate the user user content.</p><p>2025 Apple: Fuck it all, just blend the two and fuck them if they can’t read the UI.</p><p>Oh Podcasts… what did they do to you? I shouldn’t be able to get the app into a state like this.</p></blockquote>
<p><a href="https://pdx.social/@louie/114921874141469323">Louie Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114921874141469323">
<p>Compose icon button opens a new chat instantly.
Video icon button opens a classic menu.
Plus icon button opens a menu with bigger, colorful icons.
Emoji icon button opens a popover.</p>
<p>All of them do entirely different things, in different styles, and there’s no indication which one will perform an action immediately, which one (if any) will have a confirmation, or which one will open a menu.</p>
</blockquote>
<p><a href="https://mas.to/@dnanian/114916693213466438">Dave Nanian</a>:</p>
<blockquote cite="https://mas.to/@dnanian/114916693213466438"><p>So, here’s the top of Apple’s own News app, in the public beta. What control is what, do you think?</p><p>Gotta say, though, you can certainly focus on the content, since you can’t see the controls! So, designers doing this…mission accomplished?</p></blockquote>
<p><a href="https://pdx.social/@louie/114927595494994821">Louie Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114927595494994821"><p>I may not ever recover from the collapsed state of the sidebar in Messages looking so bad with the inset sidebar and the alignment of the stoplight controls. It is so obviously awful. They could make the sidebar narrower to make the stoplight controls centered, but then the sidebar is reacting to the design decisions of the sidebar inset and spacing instead of how wide it should be without considering those things.</p></blockquote>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-29">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-29">2025-07-29</a>): <a href="https://mastodon.social/@BasicAppleGuy/114936931513423926">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/114936931513423926">
<p>macOS Tahoe Beta 1 → 4 icon changes</p>
</blockquote>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-30">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-30">2025-07-30</a>): <a href="https://www.macstories.net/stories/macos-tahoe-the-macstories-public-beta-preview/">John Voorhees</a>:</p>
<blockquote cite="https://www.macstories.net/stories/macos-tahoe-the-macstories-public-beta-preview/"><p>I generally like this interpretation of Liquid Glass on the Mac. It feels more vibrant and has a freshness I enjoy that retains the legibility of text in a way iOS 26 doesn’t. There are edge cases where icons and text beneath a translucent window can generate a smudgy effect that doesn’t look nice, but by and large, it’s a workable design.</p><p>If that were the whole story of Liquid Glass on the Mac, I’d say it accomplishes Apple’s stated goal of focusing on a window’s content by differentiating elements like the toolbar and sidebar. However, there’s more to Liquid Glass than that.</p><p>If you look at the newest apps coming to macOS Tahoe, like Games and Journal, you’ll find the same glassier look found in iOS 26. Buttons are transparent and shaped to distort content beneath them, leading to some of the same legibility issues as iOS.</p></blockquote>
<p>He also has a thorough review of the new features.</p>
<p id="macos-tahoe-26-developer-beta-4-update-2025-07-31">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-07-31">2025-07-31</a>): <a href="https://www.reddit.com/r/MacOSBeta/comments/1md6zk0/this_has_to_be_my_1_hated_part_of_tahoe/">samuelaweeks</a>:</p>
<blockquote cite="https://www.reddit.com/r/MacOSBeta/comments/1md6zk0/this_has_to_be_my_1_hated_part_of_tahoe/"><p>I can tolerate Liquid Glass, no compact tabs on Safari, and most of the other changes in Tahoe. But this [corner radius] is just unforgivable, doesn’t serve any purpose whatsoever and looks <em>awful</em> in the bottom corners of the screen.</p></blockquote>
<p id="macos-tahoe-26-developer-beta-4-update-2025-08-01">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-08-01">2025-08-01</a>): <a href="https://bzamayo.com/tahoe-toolbars">Benjamin Mayo</a>:</p>
<blockquote cite="https://bzamayo.com/tahoe-toolbars">
<p>The new design (which includes the Liquid Glass materials and other design changes, like moving search bars to the bottom of the screen on iPhone) is a letdown on macOS. It’s ungainly and reeks of lowest common denominator thinking, rather than designing something specifically for the desktop experience.</p>
<p>[…]</p>
<p>The toolbars might be the worst part. As well as looking a bit ugly, I don’t understand the metaphor they are going for. The drop shadows on the buttons are so harsh, they are almost overpowering. The window sidebars also have heavy shadows. I think the sidebar is meant to be layered above the toolbar, but the shadows are illogical and make it appear like the buttons are floating atop.</p>
<p>The Liquid Glass material is carefully crafted to shine through the content that it is underneath, but this doesn’t really translate to Mac toolbar items, as so many Mac apps use ‘hard’ scroll edge dividers. This means most toolbars simply have solid white backgrounds. The end result is grey button platters sitting on a grey background. Most windows in Mac apps have a toolbar, so this mildly repulsive construction is pervasive across the system. Even when you do find a toolbar with a soft edge, that allows for colourful content to flow behind it, the glass refractions somehow just look worse than they do on iPhone and iPad, punctuated by the unrefined nature of the drop shadows that accompany the elements.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/114948306713250918">Basic Apple Guy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/114948306713250918">
<p>macOS Icon History
Automator 🤖</p>
</blockquote>
<p><a href="https://mastodon.social/@marioguzman/114948314556159631">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114948314556159631">
<p>Did they really try to give Automator’s face concentricity?!</p>
</blockquote>
<p><a href="https://mastodon.social/@chockenberry/114948591086339777">Craig Hockenberry</a>:</p>
<blockquote cite="https://mastodon.social/@chockenberry/114948591086339777">
<p>AKA The bidet icon.</p>
<p>An icon you can’t recognize at a glance isn’t an icon.</p>
</blockquote>
<p id="macos-tahoe-26-developer-beta-4-update-2025-08-05">Update (<a href="#macos-tahoe-26-developer-beta-4-update-2025-08-05">2025-08-05</a>): <a href="https://www.macrumors.com/2025/08/01/macos-tahoe-review/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/08/01/macos-tahoe-review/"><p>We’re on the fourth developer beta and first public beta of macOS Tahoe, which means we’re getting closer to the launch version that’s set to come out in September. With macOS Tahoe now available to the public, we thought it would be a good time to share an initial review of the update.</p></blockquote>
<p><a href="https://mastodon.social/@marioguzman/114966425642069113">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114966425642069113"><p>I am <em>sure</em> this is a bug or oversight and not an actual design decision here…</p>
<p>But now that you can apply a tint color to glass buttons in the toolbar, if you do, their contrast with the glyph is so bad when the window is backgrounded.</p></blockquote>
<p><a href="https://mastodon.social/@ccgus/114966821125142645">Gus Mueller</a>:</p>
<blockquote cite="https://mastodon.social/@ccgus/114966821125142645">
<p>I honestly thought the checkbox button was missing in this macOS Tahoe screenshot[…]</p>
</blockquote>
<p><a href="https://mastodon.social/@ccgus/114967303857189909">Gus Mueller</a>:</p>
<blockquote cite="https://mastodon.social/@ccgus/114967303857189909">
<p>Trick question, is this Tahoe slider enabled or disabled?</p>
<p>Answer: Either. It draws exactly the same either way.</p>
</blockquote>
<p><a href="https://mastodon.social/@BasicAppleGuy/114965632477994614">BasicAppleGuy</a>:</p>
<blockquote cite="https://mastodon.social/@BasicAppleGuy/114965632477994614">
<p>macOS Icon History<br />
Disk Utility</p>
</blockquote>
<p><a href="https://x.com/rosyna/status/1952435708855296165">Rosyna Keller</a>:</p>
<blockquote cite="https://x.com/rosyna/status/1952435708855296165">
<p>Because Liquid Glass on macOS 26 makes everything use much more space, and thus, makes for bigger touch targets, it’s clear the next MacBooks Pro will have touch screens.</p>
</blockquote>
<p>Somehow making the non-content stuff bigger helps prioritize the content.</p>
<p><a href="https://x.com/ClassicII_MrMac/status/1952413744320905309">Mr. Macintosh</a>:</p>
<blockquote cite="https://x.com/ClassicII_MrMac/status/1952413744320905309">
<p>If you thought the Tahoe Disk Utility icon was bad</p>
<p>Look at what they did to Directory Utility</p>
</blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114977169200162565">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114977169200162565"><p>I think the Mac HIG used to tell you that the toolbar in a Mac window is static and shouldn’t change or add/remove items as you navigate around the app. With macOS 26, that definitely appears to no longer be the case. Apple’s media apps, Music, Podcasts, Books and TV, and Photos, all treat the toolbar as something that can change per view or per tab, something you tend to see more on iOS</p></blockquote>
<p><a href="https://mastodon.social/@marioguzman/114976918659518245">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114976918659518245"><p>Despite all these changes I am making for #macOSTahoe, I’m still able to easily support back to macOS 13.0 Ventura. It’s sorta fun how different it all looks now… still not liking Tahoe though. Too busy.</p><p>I don’t care that it looks “cool” -- “cool” doesn’t help with usability. It should be an organic side-effect, not the driving factor.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/22/macos-tahoe-26-developer-beta-4/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>iOS 26 Developer Beta 4</title>
<link>https://mjtsai.com/blog/2025/07/22/ios-26-developer-beta-4/</link>
<comments>https://mjtsai.com/blog/2025/07/22/ios-26-developer-beta-4/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 22 Jul 2025 19:16:23 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Intelligence]]></category>
<category><![CDATA[Apple News]]></category>
<category><![CDATA[Apple Podcasts]]></category>
<category><![CDATA[CarPlay]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[iOS Beta]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[MobileSafari]]></category>
<category><![CDATA[Music.app]]></category>
<category><![CDATA[Notification Center]]></category>
<category><![CDATA[Pocket Casts]]></category>
<category><![CDATA[Safari]]></category>
<category><![CDATA[Weather.app]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48574</guid>
<description><![CDATA[Juli Clover: Apple today provided developers with the fourth betas of iOS 26 and iPadOS 26 for testing purposes, with the updates coming two weeks after Apple seeded the third betas. I don’t see any beta 4 release notes yet. Juli Clover: Apple has re-enabled Apple Intelligence Notification Summaries for apps in the News and […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/22/apple-seeds-ios-26-beta-4/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/22/apple-seeds-ios-26-beta-4/">
<p>Apple today provided developers with the fourth betas of <a href="https://www.macrumors.com/roundup/ios-26/">iOS 26</a> and <a href="https://www.macrumors.com/roundup/ipados-26/">iPadOS 26</a> for testing purposes, with the updates coming two weeks after Apple <a href="https://www.macrumors.com/2025/07/07/apple-seeds-ios-26-beta-3/">seeded the third betas</a>.</p>
</blockquote>
<p>I don’t see any beta 4 <a href="https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-26-release-notes">release notes</a> yet.</p>
<p><a href="https://www.macrumors.com/2025/07/22/ios-26-beta-4-notification-summaries/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/22/ios-26-beta-4-notification-summaries/">
<p>Apple has re-enabled Apple Intelligence Notification Summaries for apps in the News and Entertainment categories.</p>
<p>[…]</p>
<p>Apple says that it has improved notification summaries in iOS 26 , addressing issues that could cause confusion with news headlines.</p>
</blockquote>
<p><a href="https://www.macrumors.com/2025/07/22/apple-liquid-glass-ios-26-beta-4/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/22/apple-liquid-glass-ios-26-beta-4/">
<p>With the fourth beta of iOS 26, Apple has again made changes to the Liquid Glass design that’s available across the operating system, tweaking how the menus and buttons appear in apps.</p>
</blockquote>
<p><a href="https://nileane.fr/@nileane/114898303142475044">Niléane Dorffer</a>:</p>
<blockquote cite="https://nileane.fr/@nileane/114898303142475044">
<p>The glassy scrubber in the Weather app is a disaster of a UI element</p>
</blockquote>
<p><a href="https://mastodon.macstories.net/@viticci/114898118949898954">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.macstories.net/@viticci/114898118949898954">
<p>legibility is so back 🙃</p>
</blockquote>
<p><a href="https://mastodon.social/@b3ll/114898180622352308">Adam Bell</a>:</p>
<blockquote cite="https://mastodon.social/@b3ll/114898180622352308">
<p>🙃</p>
</blockquote>
<p><a href="https://mastodon.social/@viticci@macstories.net/114898260339118179">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.social/@viticci@macstories.net/114898260339118179"><p>Pocket Casts for iOS 18 on the left, Apple Podcasts for iOS 26 on the right.</p><p>Between the illegible glass and the tab bar that disappears on scroll, I honestly have no idea who can take a look at this and say “Yes, that’ll do it. That’s good.”</p><p>Liquid Glass is a mess so far, <em>especially</em> on iOS. Actually pushing me to use apps without Liquid Glass.</p></blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114898467641345231">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114898467641345231"><p>Thing is, there is no point along the slider between 0 and 100% opacity where Liquid Glass is ‘fixed’. If you’re a developer, you can try this in code. You either have Liquid Glass, with all its issues, or you have an opaque bar — there’s just no leeway for this lensing/blur effect</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/08/ios-26-developer-beta-3/">iOS 26 Developer Beta 3</a></li>
<li><a href="https://mjtsai.com/blog/2025/01/07/apple-intelligence-news-notification-summaries/">Apple Intelligence News Notification Summaries</a></li>
</ul>
<p id="ios-26-developer-beta-4-update-2025-07-23">Update (<a href="#xcode-26-beta-4-update-2025-07-23">2025-07-23</a>): <a href="https://mastodon.social/@marcoarment/114902607809107850">Marco Arment</a>:</p>
<blockquote cite="https://mastodon.social/@marcoarment/114902607809107850">
<p>I just don’t see how they could’ve lived with the beta-3 design tweaks, which radically improved legibility from b1–2 and made the design far more usable, and thought, “Nah, let’s undo that.”</p>
</blockquote>
<p><a href="https://mastodon.social/@Gte/114898409505908013">Guy English</a>:</p>
<blockquote cite="https://mastodon.social/@Gte/114898409505908013">
<p>Nobody is talking about their A.I. anymore.</p>
</blockquote>
<p><a href="https://pxlnv.com/linklog/news-summaries-os-26/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/news-summaries-os-26/">
<p>Apparently there are architectural changes to help with reliability, but the only way to know for certain if a generated summary is accurate is to read the original.</p>
</blockquote>
<p><a href="https://mastodon.social/@siracusa/114898653469305093">John Siracusa</a>:</p>
<blockquote cite="https://mastodon.social/@siracusa/114898653469305093">
<p>“Verify information” indeed, Apple…</p>
</blockquote>
<p><a href="https://www.macrumors.com/2025/07/22/ios-26-beta-4-features/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/22/ios-26-beta-4-features/"><p>There are also new features, including the return of Apple Intelligence Notification Summaries for news. This beta is of particular interest because it’s likely the beta that public beta testers will get in the not too distant future.</p></blockquote>
<p><a href="https://mastodon.social/@marcoarment/114902628028134120">Marco Arment</a>:</p>
<blockquote cite="https://mastodon.social/@marcoarment/114902628028134120">
<p>The absolute best thing they could do in their situation is to decide, right now, to ship the iPhones 17 with iOS 18.</p>
<p>iOS 26 is still so rough, and so buggy, that it’s not going to make its ship date without massive quality and design sacrifices.</p>
<p>If the iPhones only support 26, either they’re getting delayed (tanking the financials) or they’re shipping with buggy software and a controversial, half-baked design (a PR nightmare).</p>
</blockquote>
<p><a href="https://pdx.social/@louie/114898788558435520">Louie Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114898788558435520">
<p>I’ve never seen Apple struggle so much during a beta release cycle. They have no idea what they’re doing, and they’re letting everyone in on that. It’s not a very reassuring look.</p>
<p>I previously thought Apple couldn’t possibly ship without Liquid Glass for ego reasons alone, but I’m starting to wonder if they just might revert, because it—quite predictably—shows no signs of improvement.</p>
</blockquote>
<p><a href="https://bsky.app/profile/mackuba.eu/post/3lulqne6xxc22">Kuba Suder</a>:</p>
<blockquote cite="https://bsky.app/profile/mackuba.eu/post/3lulqne6xxc22">
<p>Thread of how websites look in Safari on iOS 26 😐</p>
</blockquote>
<p><a href="https://mastodon.social/@twostraws/114902043751488794">Paul Hudson</a>:</p>
<blockquote cite="https://mastodon.social/@twostraws/114902043751488794">
<p>I know there’s still a month or so of work to go, but right now I’m really struggling. These text labels <em>matter</em>; why are they so hard to read?</p>
</blockquote>
<p><a href="https://mastodon.social/@lapcatsoftware/114898216376984751">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114898216376984751">
<p>OMG iPadOS 26 beta 4 wrecked the StopTheMadness Pro extension popup window!</p>
</blockquote>
<p><a href="https://mastodon.tz.is/@khaost/114899850970578265">Khaos Tian</a>:</p>
<blockquote cite="https://mastodon.tz.is/@khaost/114899850970578265">
<p>Also the new camera mode picker is a disaster… Did anyone in HI even care at this point???</p>
</blockquote>
<p><a href="https://mastodon.social/@davemark/114902479017190355">Dave Mark</a>:</p>
<blockquote cite="https://mastodon.social/@davemark/114902479017190355">
<p>Look at the 3 Liquid Glass buttons at the bottom of the image.</p>
<p>Can’t see them? Can’t read them? Yeah, that’s a problem. 😑</p>
</blockquote>
<p><a href="https://mastodon.social/@JPZ/114902527809603512">Jeff</a>:</p>
<blockquote cite="https://mastodon.social/@JPZ/114902527809603512">
<p>The same thing happens for me in the Mail app. While in Dark Mode, the new Search bar at the bottom switches to REALLY bright mode and turns the Delete/Move icons into mysterious white orbs.</p>
</blockquote>
<p><a href="https://mastodon.social/@bigzaphod/114898519984649330">Sean Heber</a>:</p>
<blockquote cite="https://mastodon.social/@bigzaphod/114898519984649330"><p>Been using it for a few minutes in the simulator and the glass in iOS 26 beta 4 already seems like a bit of a disaster which is saying a lot because it wasn’t without problems in beta 3.</p></blockquote>
<p><a href="https://mastodon.social/@gedeonm/114902590566427689">Ged Maheux</a>:</p>
<blockquote cite="https://mastodon.social/@gedeonm/114902590566427689">
<p>Let’s be clear (LOL): At no point since the announcement of iOS 26’s Liquid Glass did it ever “look good”. It’s certainly a marvel of engineering and technically impressive but just because something has cool refractions, reflections etc doesn’t make it desirable or useable.</p>
</blockquote>
<p><a href="https://mastodon.social/@renef/114900754355025085">René Fouquet</a>:</p>
<blockquote cite="https://mastodon.social/@renef/114900754355025085">
<p>So Apple is actually dialing forward the level on insanity on liquid glass rather than back, and things are less readable again.</p>
<p>There’s a Google event in a month, so…</p>
</blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114902722275549710">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114902722275549710"><p>We have about six weeks to go until new iPhones have traditionally been revealed in September, and honestly right now I don’t see how they can land this plane.</p></blockquote>
<p><a href="https://mastodon.macstories.net/@viticci/114902500017514674">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.macstories.net/@viticci/114902500017514674"><p>To be completely honest with y’all, I’m feeling the same sense of dread about iOS 26 as I did with Stage Manager in iPadOS 16. And it’s actually even worse, because design touches <em>everything</em> across platforms.</p><p>The more time passes, the more I feel like the entire idea of Liquid Glass needs to be scrapped. The material is bad; the few structural ideas they had are functionally worse than before.</p></blockquote>
<p><a href="https://x.com/rjonesy/status/1948050737096769683">Ryan Jones</a>:</p>
<blockquote cite="https://x.com/rjonesy/status/1948050737096769683">
<p>As always, everyone says “it’s a beta it won’t ship like this”… and it does.</p>
</blockquote>
<p id="ios-26-developer-beta-4-update-2025-07-25">Update (<a href="#ios-26-developer-beta-4-update-2025-07-25">2025-07-25</a>): <a href="https://sixcolors.com/post/2025/07/first-look-ios-26-public-beta/">Dan Moren</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/07/first-look-ios-26-public-beta/">
<p>It’s also worth noting that, with very few exceptions, all of the iOS 26 features that Apple demoed during its WWDC keynote this year are available, right now, in the <a href="https://beta.apple.com/sp/betaprogram/">public beta</a>. The exceptions include the digital ID feature in Wallet that uses info from your passport and the age rating/content restriction updates in the App Store.</p>
<p>[…]</p>
<p>Controls now overlay content rather than sitting in designated toolbars or areas of the screen reserved for those controls, and are rendered in transparent glass that refracts and distorts the colors of whatever passes behind it. That’s impressive but also, at times, distracting: sometimes you see a distortion of text from what you’re reading within the UI, which is odd. Or, when scrolling past content that goes abruptly from light to dark, the buttons might similarly flip appearance from, say, black icons to white icons in a way that can feel jarring.</p>
<p>[…]</p>
<p>Safari’s reduced interface hides its commands in a plethora of pop-up menus, which leads to some oddities like two Share buttons.</p>
<p>[…]</p>
<p>Even in what seems like a modest update, there’s way more in iOS 26 than I can go through here.</p>
</blockquote>
<p><a href="https://mastodon.social/@stroughtonsmith/114907304687367132">Steve Troughton-Smith</a>:</p>
<blockquote cite="https://mastodon.social/@stroughtonsmith/114907304687367132"><p>I think Apple made a change to <code>UIDesignRequiresCompatibility</code> that now reports the OS version as iOS 26, instead of iOS 19, so you might have to update all your codepaths if you were relying on that behavior.</p><p>This also tells me that Apple fully expects a lot of developers to opt-out of Liquid Glass come September, and it may no longer be ‘just’ a compatibility mode 😅</p></blockquote>
<p><a href="https://mastodon.social/@gedeonm/114905806812533577">Ged Maheux</a>:</p>
<blockquote cite="https://mastodon.social/@gedeonm/114905806812533577">
<p>Quick, which one of these Safari tabs in iOS 26 is the selected one?</p>
</blockquote>
<p><a href="https://mastodon.social/@gruber/114902459067733445">John Gruber</a>:</p>
<blockquote cite="https://mastodon.social/@gruber/114902459067733445">
<p>I think Apple’s in trouble here.</p>
</blockquote>
<p><a href="https://mastodon.social/@lapcatsoftware/114911706629415671">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114911706629415671">
<p>Just read the <a href="https://github.com/WebKit/WebKit/commit/fc8c073ca9650f6b1e4c52e9f75667b6bb539228">commit message</a> to see how well Liquid Glass is going.</p>
</blockquote>
<p><a href="https://mastodon.social/@marioguzman/114911417042621419">Mario Guzmán</a>:</p>
<blockquote cite="https://mastodon.social/@marioguzman/114911417042621419">
<p>So, in OS 26 first-party apps, the “Done” button in navigation/toolbars no longer spells out “Done” but instead shows a checkmark and it is inside a circle of the app’s accent color.</p>
<p>I can’t get used to this being the “Done” button anymore. A checkmark feels like it has been historically more of an indication that some long running process has completed. It doesn’t feel right as a button for me to accept changes and complete my task.</p>
</blockquote>
<p>See also: <a href="https://www.macrumors.com/review/ios-26-public-beta/">MacRumors</a>.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/24/appleos-26-public-betas/">appleOS 26 Public Betas</a></li>
</ul>
<p id="ios-26-developer-beta-4-update-2025-07-28">Update (<a href="#ios-26-developer-beta-4-update-2025-07-28">2025-07-28</a>): <a href="https://x.com/bzamayo/status/1948696718440034451">Benjamin Mayo</a>:</p>
<blockquote cite="https://x.com/bzamayo/status/1948696718440034451"><p>I’ve had a response to one of my OS 26 submitted Feedbacks! I reported that the use of the Music’s app red tint colour in alert dialogs was confusing when the dialog included destructive actions. The design has been changed to resolve the ambiguity.</p></blockquote>
<p><a href="https://mastodon.social/@jsq/114914981849508790">Jesse Squires</a>:</p>
<blockquote cite="https://mastodon.social/@jsq/114914981849508790">
<p>I’m finding it difficult to stay motivated to work on Apple OS 26 updates (and a new app for iOS 26) because Liquid Glass feels like such a disaster and I’m not excited about it.</p>
<p>Like, should I spend time making sure my apps’ controls are legible? Or just hope Apple fixes their shitty design?</p>
</blockquote>
<p><a href="https://mastodon.social/@ethanschoonover/114927747871357485">Ethan J. A. Schoonover</a>:</p>
<blockquote cite="https://mastodon.social/@ethanschoonover/114927747871357485">
<p>Liquid Glass on one of my standard wallpapers with and without transparency. Hard to claim that the transparent version is better in any sense (and those corners are still too rounded imo).</p>
</blockquote>
<p><a href="https://mastodon.social/@satpalram@mastodonapp.uk/114915447874390989">John Harvey</a>:</p>
<blockquote cite="https://mastodon.social/@satpalram@mastodonapp.uk/114915447874390989">
<p>As a ‘mini’ user, I noticed iOS 26 seems to waste a lot of space.</p>
</blockquote>
<p><a href="https://x.com/bzamayo/status/1948811371035914742">Benjamin Mayo</a>:</p>
<blockquote cite="https://x.com/bzamayo/status/1948811371035914742">
<p>I have a ~8-inch infotainment screen in my car. Ever since beta 2, iOS 26 CarPlay only shows one widget. The screen definitely has space for more - it actually had two slots on beta 1!</p>
</blockquote>
<p id="ios-26-developer-beta-4-update-2025-08-01">Update (<a href="#ios-26-developer-beta-4-update-2025-08-01">2025-08-01</a>): <a href="https://9to5mac.com/2025/07/31/new-ios-26-iphone-apps-icons-compared/">Benjamin Mayo</a>:</p>
<blockquote cite="https://9to5mac.com/2025/07/31/new-ios-26-iphone-apps-icons-compared/">
<p>In this post, we share a side-by-side of the iOS 26 app icon and its iOS 18 counterpart, so you can decide for yourself how much of a step forward the new visual style represents.</p>
</blockquote>
<p><a href="https://mastodon.social/@marcoarment/114942482274689120">Marco Arment</a>:</p>
<blockquote cite="https://mastodon.social/@marcoarment/114942482274689120"><p>I don’t want to seem like I’m nitpicking too much, but the “Hold This Call?” UI needs another pass.</p><p>The small “Hold” button is nearly touching the needlessly tiny dismiss (✕) button, which only seems about 24pt wide.</p><p>This will be error-prone for lots of people in practice. Opposite actions should not be represented by tiny, immediately neighboring touch targets.</p><p>I know it’s a small thing, but it’s the kind of thing that has me worried that institutional UI talent is drained or marginalized.</p></blockquote>
<p><a href="https://mastodon.social/@craiggrannell/114952436039595168">Craig Grannell</a>:</p>
<blockquote cite="https://mastodon.social/@craiggrannell/114952436039595168">
<p>The more I see of iOS 26 and the other upcoming operating systems, the more I question Apple’s current ability in basic design fundamentals. This screen, like illegible text, displays a failure to understand foundational design for touchscreens.</p>
</blockquote>
<p><a href="https://pdx.social/@louie/114945270498323294">Louie Mantia</a>:</p>
<blockquote cite="https://pdx.social/@louie/114945270498323294">
<p>It’s been a year since Apple provided capability for dark mode app icons, and they never provided a way to specify a dark mode version of an “apple-touch-icon”.</p>
<p>Without ever having defined it, and now without providing a way to specify a .icon file in the HTML <head>, This is just going to make every web app icon into an automatically-generated Liquid Glass app icon.</p>
<p>Do they know? Do they not know?</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/22/ios-26-developer-beta-4/feed/</wfw:commentRss>
<slash:comments>11</slash:comments>
</item>
<item>
<title>Apple TV Captions</title>
<link>https://mjtsai.com/blog/2025/07/22/apple-tv-captions/</link>
<comments>https://mjtsai.com/blog/2025/07/22/apple-tv-captions/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 22 Jul 2025 19:15:55 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Accessibility]]></category>
<category><![CDATA[Audio]]></category>
<category><![CDATA[Netflix]]></category>
<category><![CDATA[Remote.app]]></category>
<category><![CDATA[Siri]]></category>
<category><![CDATA[tvOS]]></category>
<category><![CDATA[tvOS 17]]></category>
<category><![CDATA[tvOS 18]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48572</guid>
<description><![CDATA[John Gruber (2024, Mastodon): This made me think there has to be a better way to toggle captions than manually swiping and clicking on the Apple TV remote touchpad.Turns out there are two better ways:If you use the Control Center Apple TV remote control on your iPhone, there’s a dedicated “CC” button.In tvOS, go to […]]]></description>
<content:encoded><![CDATA[<p><a href="https://daringfireball.net/2024/03/quickly_toggling_closed_captions_on_apple_tv">John Gruber</a> (2024, <a href="https://mastodon.social/@daringfireball/112102091166309026">Mastodon</a>):</p>
<blockquote cite="https://daringfireball.net/2024/03/quickly_toggling_closed_captions_on_apple_tv"><p>This made me think there has to be a better way to toggle captions than manually swiping and clicking on the Apple TV remote touchpad.</p><p>Turns out there are two better ways:</p><ol><li><p>If you use the Control Center Apple TV remote control on your iPhone, <a href="https://support.apple.com/guide/tv/use-ios-or-ipados-control-center-atvb701cadc1/tvos">there’s a dedicated “CC” button</a>.</p></li><li><p>In tvOS, go to Settings → Accessibility → Accessibility Shortcut, and set it to “Closed Captions”. Now you can just triple-click the Menu/Back button on the remote to toggle captions. (On older Apple TV remotes, the button is labelled “Menu”; <a href="https://support.apple.com/en-us/HT205305">on the new remote</a>, it’s labelled with a “<”.)</p></li></ol>
<p>[…]</p>
<p>You can also toggle captions using Siri on the remote: “Turn on captions” or “Turn off captions” (or use the word “subtitles”). And the coolest feature: “What did he/she/they just say?”, which rewinds 15 seconds and <em>temporarily</em> turns on captions.</p></blockquote>
<p>I meant to post this at the time. In the interim, Apple added a feature in tvOS 18 where <a href="https://www.reddit.com/r/appletv/comments/1fovqx2/love_the_subtitles_on_skip_back_feature/">pressing Back</a> will automatically show subtitles until you return to the original play position.</p>
<p><a href="https://www.macrumors.com/2025/04/24/netflix-debuts-dialogue-only-subtitles/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/04/24/netflix-debuts-dialogue-only-subtitles/">
<p>Netflix <a href="https://about.netflix.com/en/news/introducing-a-new-way-to-experience-subtitles">today announced</a> that it is introducing a new subtitle option that only shows subtitles for spoken dialogue, aimed at those who don't need captions, but prefer to watch movies and TV shows with the subtitles turned on.</p>
<p>According to Netflix, nearly half of all viewing hours on the streaming service in the U.S. happen with the subtitles or captions on, which is why it is debuting the new setting.</p>
</blockquote>
<p>Some of this is probably for accessibility reasons or because of situations where you can’t turn on the audio. But, also, it seems like newer movies and shows are not mixed well.</p>
<p><a href="https://arstechnica.com/gadgets/2025/04/cant-understand-dialogue-on-tv-shows-netflix-has-a-new-feature-for-you/">Samuel Axon</a>:</p>
<blockquote cite="https://arstechnica.com/gadgets/2025/04/cant-understand-dialogue-on-tv-shows-netflix-has-a-new-feature-for-you/"><p>Traditional closed captions are still available, of course. Those are labeled “English CC” whereas this new option is simply labeled “English” (or whatever your preferred language is).</p><p>[…]</p><p>The performance style of actors in current TV shows and movies is more naturalistic and less elocutive than it once was, so characters are more likely to speak softly. Streaming services compress the audio more vigorously than is common in physical media, which can cause problems with intelligibility.</p></blockquote>
<p>I’m not sure I buy this compression explanation. How much bandwidth could they be saving on audio compared with what the video’s using?</p>
<p><a href="https://mastodon.social/@thaddeus/114407688404963010">thaddeus</a>:</p>
<blockquote cite="https://mastodon.social/@thaddeus/114407688404963010">
<p>And it would be amazing if they better aligned text appearing to when lines are delivered. I'm kind of annoyed when my reading is ahead of what's happening in the scene. 😬</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/06/10/tvos-18-announced/">tvOS 18 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2024/02/22/2023-six-colors-apple-report-card/">2023 Six Colors Apple Report Card</a></li>
</ul>
<p id="apple-tv-captions-update-2025-07-24">Update (<a href="#apple-tv-captions-update-2025-07-24">2025-07-24</a>): <a href="https://mastodon.social/@craiggrannell/114904664578817276">Craig Grannell</a>:</p>
<blockquote cite="https://mastodon.social/@craiggrannell/114904664578817276">
<p>Amazingly (and depressingly), BBC iPlayer on Apple TV still lacks subtitles, despite the organisation’s public service remit. Which must say a lot about how many people are using Apple TV in the UK.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/22/apple-tv-captions/feed/</wfw:commentRss>
<slash:comments>12</slash:comments>
</item>
<item>
<title>Using a MacBook Trackpad As a Scale</title>
<link>https://mjtsai.com/blog/2025/07/21/using-a-macbook-trackpad-as-a-scale/</link>
<comments>https://mjtsai.com/blog/2025/07/21/using-a-macbook-trackpad-as-a-scale/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 21 Jul 2025 19:46:45 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[3D Touch]]></category>
<category><![CDATA[Fun Hack]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[MacBook]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Open Source]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Trackpad]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48561</guid>
<description><![CDATA[Krish Shah (via Hacker News): TrackWeight is a macOS application that transforms your MacBook’s trackpad into an accurate weighing scale by leveraging the Force Touch pressure sensors built into modern MacBook trackpads.[…]TrackWeight utilizes the Open Multi-Touch Support library by Takuto Nakamura to gain private access to all mouse and trackpad events on macOS. This library […]]]></description>
<content:encoded><![CDATA[<p><a href="https://github.com/KrishKrosh/TrackWeight">Krish Shah</a> (via <a href="https://news.ycombinator.com/item?id=44635808">Hacker News</a>):</p>
<blockquote cite="https://github.com/KrishKrosh/TrackWeight"><p><a href="https://x.com/KrishRShah/status/1947186835811193330">TrackWeight</a> is a macOS application that transforms your MacBook’s trackpad into an accurate weighing scale by leveraging the Force Touch pressure sensors built into modern MacBook trackpads.</p><p>[…]</p><p>TrackWeight utilizes the <a href="https://github.com/Kyome22/OpenMultitouchSupport">Open Multi-Touch Support library</a> by <a href="https://github.com/Kyome22">Takuto Nakamura</a> to gain private access to all mouse and trackpad events on macOS. This library provides detailed touch data including pressure readings that are normally inaccessible to standard applications.</p><p>The key insight is that trackpad pressure events are only generated when there’s capacitance detected on the trackpad surface - meaning your finger (or another conductive object) must be in contact with the trackpad. When this condition is met, the trackpad’s Force Touch sensors provide precise pressure readings that can be calibrated and converted into weight measurements.</p></blockquote>
<p><a href="https://news.ycombinator.com/item?id=44636752">Justin Miller</a>:</p>
<blockquote cite="https://news.ycombinator.com/item?id=44636752">
<p>This reminds me of how, twenty years ago, I <a href="https://allthegooddomainsweretaken.justinmiller.io/2007/04/04/allegro-never-misses-a-beat/">used the PowerBook’s hard drive vibration sensor</a> to rig up a seismograph to measure construction noise.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2018/09/19/apples-measure-app-and-accuracy/">Apple’s Measure App and Accuracy</a></li>
<li><a href="https://mjtsai.com/blog/2015/03/17/force-touch-trackpad/">Force Touch Trackpad</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/21/using-a-macbook-trackpad-as-a-scale/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>UK Backing Down on Apple Encryption Backdoor</title>
<link>https://mjtsai.com/blog/2025/07/21/uk-backing-down-on-apple-encryption-backdoor/</link>
<comments>https://mjtsai.com/blog/2025/07/21/uk-backing-down-on-apple-encryption-backdoor/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 21 Jul 2025 19:46:38 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[iCloud]]></category>
<category><![CDATA[iCloud Advanced Data Protection]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Meta]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[United Kingdom]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48559</guid>
<description><![CDATA[Anna Gross, Tim Bradshaw, and Lauren Fedor (Hacker News, MacRumors): The officials both said the Home Office, which ordered the tech giant in January to grant access to its most secure cloud storage system, would probably have to retreat in the face of pressure from senior leaders in Washington, including Vice President JD Vance. […] […]]]></description>
<content:encoded><![CDATA[<p><a href="https://arstechnica.com/tech-policy/2025/07/uk-backing-down-on-apple-encryption-backdoor-after-pressure-from-us/">Anna Gross, Tim Bradshaw, and Lauren Fedor</a> (<a href="https://news.ycombinator.com/item?id=44635745">Hacker News</a>, <a href="https://www.macrumors.com/2025/07/20/uk-may-backtrack-on-demand-for-backdoor/">MacRumors</a>):</p>
<blockquote cite="https://arstechnica.com/tech-policy/2025/07/uk-backing-down-on-apple-encryption-backdoor-after-pressure-from-us/">
<p>The officials both said the Home Office, which ordered the tech giant in January to grant access to its most secure cloud storage system, would probably have to retreat in the face of pressure from senior leaders in Washington, including Vice President JD Vance.</p>
<p>[…]</p>
<p>In its order in January, the Home Office told Apple to build in a “back door” to allow law enforcement or security services to tap into the cloud storage system that stores user data that even the iPhone maker itself is currently unable to access.</p>
<p>It did so by issuing a “technical capability notice” under the UK Investigatory Powers Act, legislation that critics dub a “snooper’s charter” but that the government maintains is needed by law enforcement to investigate terrorism and child sexual abuse.</p>
<p>[…]</p>
<p>Last month, Meta-owned WhatsApp said it would join Apple’s legal challenge, in a rare collaboration between the Silicon Valley rivals.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/02/21/apple-pulls-icloud-advanced-data-protection-from-uk/">Apple Pulls iCloud Advanced Data Protection From UK</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/07/uk-orders-apple-to-break-icloud-advanced-data-protection/">UK Orders Apple to Break iCloud Advanced Data Protection</a></li>
<li><a href="https://mjtsai.com/blog/2023/08/24/u-k-proposal-to-weaken-messaging-security/">UK Proposal to Weaken Messaging Security</a></li>
<li><a href="https://mjtsai.com/blog/2023/07/24/apple-opposes-updated-uk-investigatory-powers-act/">Apple Opposes Updated UK Investigatory Powers Act</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/21/uk-backing-down-on-apple-encryption-backdoor/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Spotlight Indexing Running Wild</title>
<link>https://mjtsai.com/blog/2025/07/21/spotlight-indexing-running-wild/</link>
<comments>https://mjtsai.com/blog/2025/07/21/spotlight-indexing-running-wild/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 21 Jul 2025 19:46:27 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Bug]]></category>
<category><![CDATA[launchd]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Spotlight]]></category>
<category><![CDATA[System Integrity Protection]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48557</guid>
<description><![CDATA[Jenny Zeng (via John Gordon): Several users have reported a bug on macOS Sequoia regarding Spotlight indexing writing a huge amount of data. Consequently, they are experiencing a large System Data on Mac and rapid SSD wear. She recommends deleting /.Spotlight-V100 and ~/Library/Metadata/CoreSpotlight. I’ve always use mdutil to reset Spotlight, but I’ve now seen several […]]]></description>
<content:encoded><![CDATA[<p><a href="https://iboysoft.com/tips/macos-sequoia-spotlight-bug.html">Jenny Zeng</a> (via <a href="https://appdot.net/@jgordon/114891109063392576">John Gordon</a>):</p>
<blockquote cite="https://iboysoft.com/tips/macos-sequoia-spotlight-bug.html"><p>Several users have reported a bug on macOS Sequoia regarding Spotlight indexing writing a huge amount of data. Consequently, they are experiencing a <a href="https://iboysoft.com/howto/macos-system-data-huge.html">large System Data on Mac</a> and rapid SSD wear.</p></blockquote>
<p>She recommends deleting <tt>/.Spotlight-V100</tt> and <tt>~/Library/Metadata/CoreSpotlight</tt>. I’ve always use <code>mdutil</code> to reset Spotlight, but I’ve now seen several people recommend that deleting the folders works better.</p>
<blockquote cite="https://iboysoft.com/tips/macos-sequoia-spotlight-bug.html">
<p>To prevent Spotlight runs wild on indexing again, you can stop it from indexing your internal disk with the following steps.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/17/fixing-optimize-storage/">Fixing “Optimize Storage”</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/07/fixing-mediaanalysisd-storage-and-cpu-use/">Fixing mediaanalysisd Storage and CPU Use</a></li>
<li><a href="https://mjtsai.com/blog/2022/07/18/invasive-spotlight-indexing/">Invasive Spotlight Indexing</a></li>
<li><a href="https://mjtsai.com/blog/2022/07/05/pruning-ios-system-data/">Pruning iOS “System Data”</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/21/spotlight-indexing-running-wild/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>USB-C Hubs and My Slow Descent Into Madness</title>
<link>https://mjtsai.com/blog/2025/07/21/usb-c-hubs-and-my-slow-descent-into-madness/</link>
<comments>https://mjtsai.com/blog/2025/07/21/usb-c-hubs-and-my-slow-descent-into-madness/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 21 Jul 2025 19:46:11 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[MacBook Pro]]></category>
<category><![CDATA[Studio Display]]></category>
<category><![CDATA[Thunderbolt]]></category>
<category><![CDATA[USB]]></category>
<category><![CDATA[USB-C]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48555</guid>
<description><![CDATA[Dennis Schubert (2021, via Hacker News): I have one of those laptops lacking a lot of accessory ports. In fact, I’m writing this on an Apple MacBook Pro, and all I got was four lousy USB-C ports. If I want to connect pretty much anything, I need some sort of adapter or some sort of […]]]></description>
<content:encoded><![CDATA[<p><a href="https://overengineer.dev/blog/2021/04/25/usb-c-hub-madness/">Dennis Schubert</a> (2021, via <a href="https://news.ycombinator.com/item?id=44600512">Hacker News</a>):</p>
<blockquote cite="https://overengineer.dev/blog/2021/04/25/usb-c-hub-madness/"><p>I have one of those laptops lacking a lot of accessory ports. In fact, I’m writing this on an Apple MacBook Pro, and all I got was four lousy USB-C ports. If I want to connect pretty much anything, I need some sort of adapter or some sort of hub. USB-C hubs are a great idea: not only do they usually offer a power supply pass-through, but they also allow you to plug in some USB devices, an ethernet cable, and maybe even a monitor. Some even have fancy stuff like an SD card reader or a secondary audio output! And all of that over a single USB-C connection, which makes everything super comfortable if you frequently carry your laptop around your home, but you also have a desk with fixed devices set up.</p><p>Unfortunately, since 2018, I’ve worked through <strong>three</strong> USB-C hubs, and they’re all kinda bad.</p><p>[…]</p><p>It honestly feels like no matter what you buy, you get more or less the same hardware, and you’re most likely getting a heavily overpriced product just because some company printed their logo on it.</p><p>[…]</p><p>The fact that most USB-C hubs tend to use the same RTL8153 networking stack is also very annoying, especially since this is known to break on macOS, and it looks like Realtek just doesn’t care. That’s not really great if you’re promoting your hub primarily to MacBook owners.</p></blockquote>
<p><a href="https://news.ycombinator.com/item?id=44602414">dazzaji</a>:</p>
<blockquote cite="https://news.ycombinator.com/item?id=44602414"><p>One of the things that I found most frustrating about USB-C hubs is how hard it is to find one that actually gives you multiple USB-C ports. I have several USB-C devices but most hubs just give you one USB-C port and a bunch of USB-A ports. At most it’s 2 USB-C ports but only with the hub that plugs into both USB-C ports on my MacBook Pro (so I’m never able to get more ports than I started with). The result is I end up having to keep swapping devices. For a connector that was supposed to be the “one universal port,” it’s weird that most hubs assume you only need one USB-C connection. Has anyone found a decent hub with multiple USB-C data outputs?</p></blockquote>
<p>I’m using an Anker hub with a bunch of USB-A ports, and it’s one of the more reliable ones I’ve owned—certainly better than the Studio Display—but I do have the sense that it’s slowing things down compared with when I connect drives directly to my MacBook Pro. I’m also using an Anker Thunderbolt dock, which is pretty good but doesn’t have enough ports. I still wish for more built into the Mac itself. (Recent MacBook Pros are down from 4 ports to 3.)</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/02/macos-tahoe-drops-firewire-support/">macOS Tahoe Drops FireWire Support</a></li>
<li><a href="https://mjtsai.com/blog/2024/10/30/macbook-pro-2024/">MacBook Pro 2024</a></li>
<li><a href="https://mjtsai.com/blog/2023/04/28/belkin-connect-usb-c-hub/">Belkin Connect USB-C Hub</a></li>
<li><a href="https://mjtsai.com/blog/2022/08/15/qgeem-and-hyper-thunderbolt-4-hubs/">QGeeM and Hyper Thunderbolt 4 Hubs</a></li>
<li><a href="https://mjtsai.com/blog/2022/05/11/usb-c-hubs-breaking-ethernet-networks/">USB-C Hubs Breaking Ethernet Networks</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/18/owc-ministack-stx/">OWC miniStack STX</a></li>
<li><a href="https://mjtsai.com/blog/2021/12/01/thunderbolt-4-docks/">Thunderbolt 4 Docks</a></li>
<li><a href="https://mjtsai.com/blog/2020/07/27/usb-c-is-still-a-mess/">USB-C Is Still a Mess</a></li>
<li><a href="https://mjtsai.com/blog/2017/10/14/the-impossible-dream-of-usb-c/">The Impossible Dream of USB-C</a></li>
<li><a href="https://mjtsai.com/blog/2017/07/28/arc-hub-usb-c-adapter/">Arc Hub USB-C Adapter</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/21/usb-c-hubs-and-my-slow-descent-into-madness/feed/</wfw:commentRss>
<slash:comments>7</slash:comments>
</item>
<item>
<title>Xcode Key Bindings to Make Refactoring Less Painful</title>
<link>https://mjtsai.com/blog/2025/07/18/xcode-key-bindings-to-make-refactoring-less-painful/</link>
<comments>https://mjtsai.com/blog/2025/07/18/xcode-key-bindings-to-make-refactoring-less-painful/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 18 Jul 2025 17:58:04 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Keyboard Shortcuts]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Xcode]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48541</guid>
<description><![CDATA[Jon Reid: Xcode supports automated refactoring. Supposedly. In practice, the options are limited and often unavailable. You’ll right-click something, navigate to the Refactor submenu… only to find that the command you want is grayed out. It’s a waste of time. […] With these shortcuts, I can try an automated refactoring in less than a second. […]]]></description>
<content:encoded><![CDATA[<p><a href="https://qualitycoding.org/xcode-key-bindings-refactoring/">Jon Reid</a>:</p>
<blockquote cite="https://qualitycoding.org/xcode-key-bindings-refactoring/">
<p>Xcode supports automated refactoring. Supposedly.</p>
<p>In practice, the options are limited and often unavailable. You’ll right-click something, navigate to the Refactor submenu… only to find that the command you want is grayed out. It’s a waste of time.</p>
<p>[…]</p>
<p>With these shortcuts, I can try an automated refactoring in less than a second. If it’s not available, I get feedback right away — no wasted mouse clicks. And when it is available, I stay in the flow.</p>
</blockquote>
<p>The one I’ve had the best luck with is <strong>Edit All in Scope</strong> (Command-Control-E), which isn’t in the <strong>Refactor</strong> menu.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2019/09/16/faster-xcode-rename-refactoring/">Faster Xcode Rename Refactoring</a></li>
<li><a href="https://mjtsai.com/blog/2017/08/23/swift-local-refactoring/">Swift Local Refactoring</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/18/xcode-key-bindings-to-make-refactoring-less-painful/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Study on AI Coding Tools</title>
<link>https://mjtsai.com/blog/2025/07/18/study-on-ai-coding-tools/</link>
<comments>https://mjtsai.com/blog/2025/07/18/study-on-ai-coding-tools/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 18 Jul 2025 17:57:53 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Claude]]></category>
<category><![CDATA[Developer Tool]]></category>
<category><![CDATA[Programming]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48539</guid>
<description><![CDATA[METR (Hacker News): We conduct a randomized controlled trial (RCT) to understand how early-2025 AI tools affect the productivity of experienced open-source developers working on their own repositories. Surprisingly, we find that when developers use AI tools, they take 19% longer than without—AI makes them slower. We view this result as a snapshot of early-2025 […]]]></description>
<content:encoded><![CDATA[<p><a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">METR</a> (<a href="https://news.ycombinator.com/item?id=44524109">Hacker News</a>):</p>
<blockquote cite="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/"><p>We conduct a randomized controlled trial (RCT) to understand how early-2025 AI tools affect the productivity of experienced open-source developers working on their own repositories. Surprisingly, we find that when developers use AI tools, they take 19% longer than without—AI makes them slower. We view this result as a snapshot of early-2025 AI capabilities in one relevant setting; as these systems continue to rapidly evolve, we plan on continuing to use this methodology to help estimate AI acceleration from AI R&D automation.</p><p>See the <a href="https://arxiv.org/abs/2507.09089">full paper</a> for more detail.</p></blockquote>
<p>Via <a href="https://www.theregister.com/2025/07/11/ai_code_tools_slow_down/">Thomas Claburn</a>:</p>
<blockquote cite="https://www.theregister.com/2025/07/11/ai_code_tools_slow_down/"><p>Not only did the use of AI tools hinder developers, but it led them to hallucinate, much like the AIs have a tendency to do themselves. The developers predicted a 24 percent speedup, but even <em>after</em> the study concluded, they believed AI had helped them complete tasks 20 percent faster when it had actually delayed their work by about that percentage.</p><p>[…]</p><p>The study involved 16 experienced developers who work on large, open source projects. The developers provided a list of real issues (e.g. bug fixes, new features, etc.) they needed to address – 246 in total – and then forecast how long they expected those tasks would take. The issues were randomly assigned to allow or disallow AI tool usage.</p></blockquote>
<p>I’m skeptical about the experimental design, and I suspect there’s huge variance in how much developers in the real world get out of AI.</p>
<p><a href="https://x.com/ruben_bloom/status/1943532547935473800">Ruben Bloom</a>:</p>
<blockquote cite="https://x.com/ruben_bloom/status/1943532547935473800"><p>I was one of the developers in the
@METR_Evals
study. Thoughts:</p><p>1. This is much less true of my participation in the study where I was more conscientious, but I feel like historically a lot of my AI speed-up gains were eaten by the fact that while a prompt was running, I’d look at something else (FB, X, etc) and continue to do so for much longer than it took the prompt to run.</p><p>I discovered two days ago that Cursor has (or now has) a feature you can enable to ring a bell when the prompt is done. I expect to reclaim a lot of the AI gains this way.</p><p>[…]</p><p>4. As a developer in the study, it’s striking to me how much more capable the models have gotten since February (when I was participating in the study)</p><p>[…]</p><p>5. There was a selection effect in which tasks I submitted to the study. (a) I didn’t want to risk getting randomized to “no AI” on tasks that felt sufficiently important or daunting to do without AI assistance. (b) Neatly packaged and well-scoped tasks felt suitable for the study, large open-ended greenfield stuff felt harder to legibilize, so I didn’t submit those tasks to study even though AI speed up might have been larger.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/27/claude-code-experience/">Claude Code Experience</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/26/software-is-changing-again/">Software Is Changing (Again)</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/21/vibe-coding/">Vibe Coding</a></li>
</ul>
<p id="study-on-ai-coding-tools-update-2025-07-21">Update (<a href="#study-on-ai-coding-tools-update-2025-07-21">2025-07-21</a>): <a href="https://mas.to/@carnage4life/114886321782807123">Dare Obasanjo</a>:</p>
<blockquote cite="https://mas.to/@carnage4life/114886321782807123">
<p>Remember the study that showed developers think vibe coding saves them time but measurements show it doesn’t after factoring in time prompting and reviewing the AI’s work?</p>
<p>A startup founder is on X <a href="https://x.com/jasonlk/status/1946589071519948952">documenting his vibe coding struggles with Replit</a> which includes deleting the production database and ignoring requests not to make changes without asking for permission.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/18/study-on-ai-coding-tools/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>Some of the Apps in the App Store</title>
<link>https://mjtsai.com/blog/2025/07/18/some-of-the-apps-in-the-app-store/</link>
<comments>https://mjtsai.com/blog/2025/07/18/some-of-the-apps-in-the-app-store/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 18 Jul 2025 17:57:40 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[App Store Scams]]></category>
<category><![CDATA[Bitcoin and Cryptocurrency]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[European Union]]></category>
<category><![CDATA[In-App Purchase]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[Mac App Store]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48537</guid>
<description><![CDATA[Jeff Johnson (Mastodon): This blog post is about an app named Chatbot: Ask AI Chat Bot, subtitled “Built on ChatGPT OpenAI, GPT-4", by the developer Tuqeer Ahmad. If you’re not familiar with Tuqeer Ahmad, well… neither am I. Nonetheless, Chatbot: Ask AI Chat Bot is currently #23 top grossing in the Mac App Store and […]]]></description>
<content:encoded><![CDATA[<p><a href="https://lapcatsoftware.com/articles/2025/5/4.html">Jeff Johnson</a> (<a href="https://mastodon.social/@lapcatsoftware/114517723016165423">Mastodon</a>):</p>
<blockquote cite="https://lapcatsoftware.com/articles/2025/5/4.html"><p>This blog post is about an app named <a href="https://apps.apple.com/app/chatbot-ask-ai-chat-bot/id6451158502">Chatbot: Ask AI Chat Bot</a>, subtitled “Built on ChatGPT OpenAI, GPT-4", by the developer Tuqeer Ahmad. If you’re not familiar with Tuqeer Ahmad, well… neither am I. Nonetheless, Chatbot: Ask AI Chat Bot is currently #23 top grossing in the Mac App Store and the #64 top “free” download <a href="https://appfigures.com/top-apps/mac-app-store/united-states/top-overall">according to AppFigures</a>.</p><p>Believe it or not, the app is in the Education category of the Mac App Store. In fact, it’s #1 top grossing and the #3 top download in Education. (I would guess that’s because students are looking for ways to cheat on their homework, sigh.)</p><p>[…]</p><p>The app does include IAP, and as I’ve already noted, makes a significant amount of revenue (more than my apps!), so it seems difficult to dispute that the developer is a trader. Thus, the developer’s self-assessment appears to be inaccurate and indeed illegal in the EU.</p><p>[…]</p><p>Anyway, that’s what it takes to become one of the top grossers in the Mac App Store. On the web, I can find no media coverage, word of mouth recommendations, or even advertising for this app. Tuqeer Ahmad is effectively anonymous. And unlike the iOS App Store, the Mac App Store has no search ads. So how does this developer find customers? Honestly, I don’t know, other than stuffing the app title, subtitle, description, etc., with popular search keywords.</p></blockquote>
<p><a href="https://tapbots.social/@paul/114744965668953673">Paul Haddad</a>:</p>
<blockquote cite="https://tapbots.social/@paul/114744965668953673">
<p>WTH? How does something like [BrightScreen] even make it into the Mac App Store?</p>
</blockquote>
<p><a href="https://9to5mac.com/2025/06/19/class-action-suit-app-store-crypto-scam/">Marcus Mendes</a>:</p>
<blockquote cite="https://9to5mac.com/2025/06/19/class-action-suit-app-store-crypto-scam/">
<p>You know it’s a day that ends in “y” when there’s a new App Store lawsuit. This time, the issue isn’t antitrust or developer rejection complaints, but rather a class action accusing Apple of facilitating the spread of cryptocurrency scams by allowing a fake trading app onto the App Store.</p>
<p>[…]</p>
<p>Lead plaintiff Danyell Shin says she downloaded Swiftcrypt onto her iPhone in late 2024, after being introduced to the app through an online investment group. Believing the app was trustworthy, partly because it came from Apple’s App Store, she ended up transferring more than $80,000 into the platform. Then, the funds vanished.</p>
<p>[…]</p>
<p>The filing paints a detailed picture of how Apple’s own rules for crypto apps, requiring licensing, regulatory compliance, and developer verification, were supposedly not enforced in this case.</p>
</blockquote>
<p>Here’s an app called <a href="https://apps.apple.com/us/app/school-assistant-planner/id1465687472">School Assistant</a> that offers an IAP called “Tip Jar - $0.99” that actually costs $400. It’s been like that in the store for at least 6 months. [See <a href="#some-of-the-apps-in-the-app-store-update-2025-07-21">the update</a> below.]</p>
<p><a href="https://9to5mac.com/2025/07/11/fake-iphone-virus-pops-up-have-made-it-on-youtube/">Arin Waichulis</a> (via <a href="https://mastodon.social/@lapcatsoftware/114835418973541318">Jeff Johnson</a>):</p>
<blockquote cite="https://9to5mac.com/2025/07/11/fake-iphone-virus-pops-up-have-made-it-on-youtube/"><p>It’s the same early-day digital scareware we’ve all seen before: “Your iPhone is infected with (310) viruses. Click here to remove them.” These pop-ups, seemingly always 280p quality and slapped together with stock graphics from a different reality, usually appear on shady websites as malicious ads or junk software, urging people to install a “fix” or be doomed. But one was recently spotted running as an ad on YouTube for a sketchy iPhone clean up app.</p><p>[…]</p><p>It states, “Your iphone is severely damaged by (247) virus! We have detected that your iPhone has been infected with viruses. If you don’t take any action, it will soon corrupt your SIM card, data, photos and contacts.”</p><p>[…]</p><p>From a few minutes of research, I learned the clean up application is operated by a newly formed Chinese-based company with very weak and broad privacy policies, likely created using LLMs, and ranked 50th on Top Charts in Productivity.</p></blockquote>
<p><a href="https://mastodon.online/@tclementdev/114861577207529800">Thomas Clement</a>:</p>
<blockquote cite="https://mastodon.online/@tclementdev/114861577207529800">
<p>The App Store is also such a cesspool. I was looking for a simple solitaire game, you’d think in 2025 the App Store would make it easy to find a simple solitaire game that isn’t a 300MB app with ads, subscriptions and extremely dubious privacy labels, but apparently no…</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/17/notarized-atomic-stealer-amos/">Notarized Atomic Stealer (AMOS)</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/07/free-with-in-app-purchase-is-a-sham/">Free With In-App Purchase Is a Sham</a></li>
<li><a href="https://mjtsai.com/blog/2025/01/22/app-store-trader-status-deadline/">App Store Trader Status Deadline</a></li>
<li><a href="https://mjtsai.com/blog/2022/08/10/the-top-pdf-reader-in-the-mac-app-store/">The Top PDF Reader in the Mac App Store</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/13/iap-bait-and-switch-apps/">IAP Bait-And-Switch Apps</a></li>
<li><a href="https://mjtsai.com/blog/2021/04/22/the-app-store-isnt-catching-the-most-egregious-scams/">The App Store Isn’t Catching the Most Egregious Scams</a></li>
<li><a href="https://mjtsai.com/blog/2016/07/24/exploring-the-app-stores-top-grossing-chart/">Exploring the App Store’s Top Grossing Chart</a></li>
</ul>
<p id="some-of-the-apps-in-the-app-store-update-2025-07-21">Update (<a href="#some-of-the-apps-in-the-app-store-update-2025-07-21">2025-07-21</a>): <a href="https://mastodon.social/@DylanMcD8/114892265434275413">Dylan McDonald</a>:</p>
<blockquote cite="https://mastodon.social/@DylanMcD8/114892265434275413"><p>This $400 IAP was NOT intentional. I have absolutely no idea how it ever got set to $400. Thankfully, as Jeff said, it was never in-use in the app. Apple altered me to the issue today and I immediately fixed the price and then removed that IAP entirely (since it wasn’t used anyways).</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/18/some-of-the-apps-in-the-app-store/feed/</wfw:commentRss>
<slash:comments>14</slash:comments>
</item>
<item>
<title>App Store Study Shows 90% of What?</title>
<link>https://mjtsai.com/blog/2025/07/18/app-store-study-shows-90-of-what/</link>
<comments>https://mjtsai.com/blog/2025/07/18/app-store-study-shows-90-of-what/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 18 Jul 2025 17:57:20 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Amazon]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[App Store]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[Instacart]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[WWDC]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48535</guid>
<description><![CDATA[Apple: Apple today announced the global App Store ecosystem facilitated $1.3 trillion in developer billings and sales in 2024, according to a new study by economists Professor Andrey Fradkin from Boston University Questrom School of Business and Dr. Jessica Burley from Analysis Group. For more than 90 percent of the billings and sales facilitated by […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.apple.com/newsroom/2025/06/global-app-store-helps-developers-reach-new-heights/">Apple</a>:</p>
<blockquote cite="https://www.apple.com/newsroom/2025/06/global-app-store-helps-developers-reach-new-heights/"><p>Apple today announced the global App Store ecosystem facilitated $1.3 trillion in developer billings and sales in 2024, according to a new <a href="https://www.apple.com/newsroom/pdfs/2024-Apple-Global-Ecosystem-Report-June2025.pdf">study</a> by economists Professor Andrey Fradkin from Boston University Questrom School of Business and Dr. Jessica Burley from Analysis Group. For more than 90 percent of the billings and sales facilitated by the App Store ecosystem, developers did not pay any commission to Apple.</p></blockquote>
<p>The Analysis Group always comes to the <a href="https://pxlnv.com/linklog/analysis-group-award/">right conclusions</a>.</p>
<p><a href="https://www.macrumors.com/2025/06/05/app-store-global-ecosystem-study-2024/">Juli Clover</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/06/05/app-store-global-ecosystem-study-2024/"><p>Following a study looking into the <a href="https://www.macrumors.com/2025/05/29/us-app-store-ecosystem-study-2024/">success of the App Store ecosystem</a> in the United States, Apple has sponsored a second study that covers the global App Store in 2024.</p><p>[…]</p><p>Developer billings and sales of digital goods and services hit $131 billion, primarily from games and photo and video editing apps like those from Adobe. Sales of physical goods and services facilitated by App Store apps exceeded $1 trillion.</p></blockquote>
<p>How unfair it is that Apple isn’t getting paid when you buy physical goods from Amazon or get food delivered by Domino’s or Instacart. And the study points out that Apple isn’t even counting all the commerce that happens through Safari or Google Chrome! Think of how different things might be if Apple had invented the Web browser.</p>
<p>Apple always releases these studies before WWDC. You <a href="https://troz.net/post/2025/wwdc_2025/">might think</a> the idea is to make developers feel good about their position, but that doesn’t make much sense given the contents of the studies. On the one hand, the inflated numbers from physical goods and services are irrelevant to us. It seems like they’re padding the numbers to <a href="https://mastodon.social/@troz/114632997995630798">confuse</a> and get the desired result. On the other hand, if you take Apple at its word that this is what we should focus on, the takeaway is basically that we’re paying huge commissions to Apple for terrible service, but they really want us to know that the giant companies pay nothing. Thanks, that helps a lot. The real audience for these studies is regulators. It’s basically FUD: be careful or you’ll screw up $1.3 trillion of the economy.</p>
<p><a href="https://9to5mac.com/2025/06/05/apple-touts-app-stores-1-3-trillion-ecosystem-ahead-of-wwdc25/">Chance Miller</a>:</p>
<blockquote cite="https://9to5mac.com/2025/06/05/apple-touts-app-stores-1-3-trillion-ecosystem-ahead-of-wwdc25/"><p>This marks the fourth report that Apple has released on the App Store ecosystem in the last week. Last Tuesday, Apple shared a <a href="https://9to5mac.com/2025/05/27/apple-says-its-app-store-rules-have-saved-users-billions/">report noting</a> that the App Store prevented over $2 billion in fraudulent transactions in 2024. Two days later, Apple <a href="https://9to5mac.com/2025/05/29/apple-touts-400-billion-economic-impact-of-the-app-store/">highlighted</a> that the App Store ecosystem in the U.S. facilitated $406 billion in developer billings and sales in 2024.</p><p>Finally, the <a href="https://9to5mac.com/2025/05/30/apple-shares-full-app-store-transparency-report-for-2024/">company released</a> its full App Store Transparency Report with details on things like App Store user traffic, fraud prevention, and more. The emphasis on the App Store’s ecosystem comes as Apple continues to <a href="https://9to5mac.com/2025/04/30/epic-games-claims-victory-as-apple-sanctioned-for-defying-court-order-over-app-store-rules/">face pushback</a> from <a href="https://9to5mac.com/2025/05/27/apple-dma-30-days-deadline/">regulators</a> around its <a href="https://9to5mac.com/2025/05/09/apple-must-implement-sideloading-brazil/">App Store practices</a>. </p></blockquote>
<p><a href="https://lapcatsoftware.com/articles/2025/6/1.html">Jeff Johnson</a> (<a href="https://news.ycombinator.com/item?id=44193782">Hacker News</a>):</p>
<blockquote cite="https://lapcatsoftware.com/articles/2025/6/1.html"><p>In the same announcement, Apple brags at length about its “Investment in Developers”:</p><blockquote>Apple invests in tools and capabilities that make it easier for developers to distribute their apps and games, be discovered by users around the globe, and grow successful businesses.</blockquote><p>[…]</p><p>The positive tone of today’s announcement is in stark contrast to an Apple statement from 2019 <a href="https://www.apple.com/newsroom/2019/03/addressing-spotifys-claims/">addressing Spotify’s claims</a>:</p><blockquote>After using the App Store for years to dramatically grow their business, Spotify seeks to keep all the benefits of the App Store ecosystem — including the substantial revenue that they draw from the App Store’s customers — without making any contributions to that marketplace.</blockquote><p>[…]</p><p>Whenever Apple or Apple apologists claim that App Store commissions are required in order to finance the iOS platform, it’s nonsense. To be clear, I have no objection to Apple having an App Store, and for placing requirements on App Store developers. What’s unique about the iOS platform, though, is that the App Store is the <em>sole</em> method of distribution for third-party software.</p><p>[…]</p><p>The IAP mandate applies only to a small minority of developers, who are forced to (allegedly) support the ecosystem for the benefit of the majority, who are free riders.</p></blockquote>
<p><a href="https://pxlnv.com/linklog/analysis-group-app-store-2024/">Nick Heer</a> (<a href="https://mastodon.social/@pxlnv/114637887351435580">Mastodon</a>):</p>
<blockquote cite="https://pxlnv.com/linklog/analysis-group-app-store-2024/">
<p>The purpose of this study — also produced in <a href="https://www.apple.com/newsroom/2020/06/apples-app-store-ecosystem-facilitated-over-half-a-trillion-dollars-in-commerce-in-2019/">2020</a>, <a href="https://www.apple.com/newsroom/2021/06/apple-developers-grow-app-store-ecosystem-billings-and-sales-by-24-percent-in-2020/">2021</a>, and <a href="https://www.apple.com/newsroom/2023/05/developers-generated-one-point-one-trillion-in-the-app-store-ecosystem-in-2022/">2023</a>, though not last year — is two-fold. First, it indicates to lawmakers the footprint of the App Store and suggests any further regulatory action would seriously compromise the economy as a whole. The second reason it exists is to soften the impression of Apple’s commission on digital purchases, hence this part of the study and press release, emphasis mine[…] A big amount, but measured against the total estimated economy of $1.3 trillion, it is supposed to be seen as a small fraction — “less than 10%”.</p>
<p>[…]</p>
<p>The thing about the Analysis Group’s report is that it is very broad. While it does not include transactions made through Safari on iOS, things like shopping in Amazon’s app or buying airfare in Kayak’s app are factored in. Whether these purchases were actually facilitated by the App Store ecosystem is questionable to me — would someone have not bought that flight if not for their iPhone?</p>
<p>[…]</p>
<p>Apple has argued in court this commission is for App Store upkeep, developer relations, API development, and for intellectual property licensing. These are things common to all apps. Yet only those facilitating transactions for digital services are expected to pay? How is Uber — with its half-gigabyte client app updated once or twice weekly for tens of millions of users — not paying for App Store hosting and bandwidth, but indie developers are?</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/27/eu-app-store-tiers-and-core-technology-commission/">EU App Store Tiers and Core Technology Commission</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/wwdc-2025-keynote/">WWDC 2025 Keynote</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/01/court-orders-apply-to-comply-with-anti-steering-injunction/">Court Orders Apple to Comply With Anti-Steering Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/30/hearing-for-apple-violating-epics-injunction/">Hearing for Apple Violating Epic’s Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2023/05/12/more-app-store-studies/">More App Store Studies</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/14/apple-funded-study-on-success-of-third-party-apps/">Apple-Funded Study on Success of Third-Party Apps</a></li>
<li><a href="https://mjtsai.com/blog/2021/11/08/iap-fees-for-event-services/">IAP Fees for Event Services</a></li>
<li><a href="https://mjtsai.com/blog/2020/07/22/another-apple-funded-app-store-study/">Another Apple-Funded App Store Study</a></li>
<li><a href="https://mjtsai.com/blog/2020/06/19/have-you-contributed-any-revenue/">Have You Contributed Any Revenue?</a></li>
<li><a href="https://mjtsai.com/blog/2019/03/15/apple-responds-to-spotify/">Apple Responds to Spotify</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/18/app-store-study-shows-90-of-what/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>A History of Mac Settings</title>
<link>https://mjtsai.com/blog/2025/07/17/a-history-of-mac-settings/</link>
<comments>https://mjtsai.com/blog/2025/07/17/a-history-of-mac-settings/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 17 Jul 2025 18:15:18 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Battery Life]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[History]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[System 6]]></category>
<category><![CDATA[System Preferences]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48529</guid>
<description><![CDATA[Marcin Wichary: As a designer, I’m meant to dislike settings. As a user, I love them. Every year I celebrate Settings Day: a day when I take a look at the options and toggles in all the apps I use. I do this out of curiosity – what was added since the last time I […]]]></description>
<content:encoded><![CDATA[<p><a href="https://aresluna.org/frame-of-preference/">Marcin Wichary</a>:</p>
<blockquote cite="https://aresluna.org/frame-of-preference/">
<p>As a designer, I’m meant to dislike settings. As a user, I love them. Every year I celebrate Settings Day: a day when I take a look at the options and toggles in all the apps I use. I do this out of curiosity – what was added since the last time I looked? – but also because I love this way of getting to know software: peeking under the hood, walking the back alleys, learning what has been tricky or important enough to be equipped with a checkbox.</p>
<p>[…]</p>
<p>Turns out, the Mac settings have lived a far more fascinating life than I imagined, have been redesigned many times, and can tell us a lot about the early history and the troubled upbringing of this interesting machine.</p>
<p>Join me on a journey through the first twenty years of Mac’s control panels.</p>
</blockquote>
<p><a href="https://tidbits.com/2025/07/14/marcin-wicharys-frame-of-preference-explores-20-years-of-mac-control-panels/">Adam Engst</a>:</p>
<blockquote cite="https://tidbits.com/2025/07/14/marcin-wicharys-frame-of-preference-explores-20-years-of-mac-control-panels/"><p>Wichary is best known for <a href="https://shifthappens.site/"><em>Shift Happens</em></a>, his multivolume masterwork about keyboards, edited by TidBITS contributor Glenn Fleishman. While <em>Shift Happens</em> is a visual <em>tour de force</em>, it is limited by the constraints of paper.</p><p>In contrast, Frame of Preference animates these historical interfaces in a charmingly interactive way. Each illustration is actually a fully emulated Mac from that era, thanks to Mihai Parparita’s <a href="https://infinitemac.org/">Infinite Mac</a> project. So you don’t just read about Susan Kare’s original Control Panel; you open it on the virtual Mac’s screen. Instructions in the text are shown with odd squares that turn out to be empty checkboxes—complete the action described, and you get a highlight and checkmark. If you click the Details button on the label by the emulated Mac, you’ll find “extra stuff to play with.” As you work your way through the evolution of control panels, you’ll encounter nine Macs and a NeXT Cube.</p></blockquote>
<p><a href="https://leancrew.com/all-this/2025/07/settings-steganography/">Dr. Drang</a>:</p>
<blockquote cite="https://leancrew.com/all-this/2025/07/settings-steganography/">
<p>Last week, I was going to be out with my MacBook Pro all day, and I wanted to make sure it was fully charged. I had noticed that it was typically charging up only to about 80%, and I assumed that was because Sequoia was doing some clever battery-life-lengthening thing. I wanted to turn the clever thing off so I could get the battery to 100% just for that day.</p>
<p>You will probably not be shocked to hear that I didn’t find the solution by simply opening System Settings and scanning the Battery panel—I had to do a Kagi search for it. It wasn’t that the toggle was buried several layers deep or that it was outside the Battery hierarchy. No, the problem was that Apple had put the toggle in a place where toggles—or any kind of control or data entry field—don’t belong.</p>
</blockquote>
<p><a href="https://mastodon.social/@marcoarment/114864046545825702">Marco Arment</a>:</p>
<blockquote cite="https://mastodon.social/@marcoarment/114864046545825702"><p>I still can’t find anything in the System Settings app.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/07/19/system-settings-in-sequoia/">System Settings in Sequoia</a></li>
<li><a href="https://mjtsai.com/blog/2022/06/08/system-settings/">System Settings</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/26/infinite-mac/">Infinite Mac</a></li>
<li><a href="https://mjtsai.com/blog/2020/09/21/a-visual-history-of-system-preferences/">A Visual History of System Preferences</a></li>
<li><a href="https://mjtsai.com/blog/2020/04/17/battery-health-management-for-mac/">Battery Health Management for Mac</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/17/a-history-of-mac-settings/feed/</wfw:commentRss>
<slash:comments>8</slash:comments>
</item>
<item>
<title>Fixing “Optimize Storage”</title>
<link>https://mjtsai.com/blog/2025/07/17/fixing-optimize-storage/</link>
<comments>https://mjtsai.com/blog/2025/07/17/fixing-optimize-storage/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 17 Jul 2025 18:15:10 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[iCloud]]></category>
<category><![CDATA[iCloud Photo Library]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Messages in iCloud]]></category>
<category><![CDATA[Messages.app]]></category>
<category><![CDATA[Photos.app]]></category>
<category><![CDATA[Storage]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48527</guid>
<description><![CDATA[Ryan Jones: I am so out of patience for “Optimize Storage” on Apple devices.Now I have to take half my day to figure out how to reduce Photos and Messages without nuking them.My best solution: Disconnect iCloud Photos. That will delete all local photo copies. Then reconnect it. 🤷‍♂️That worked. All local photos were offloaded.Except […]]]></description>
<content:encoded><![CDATA[<p><a href="https://x.com/rjonesy/status/1945132365761679793">Ryan Jones</a>:</p>
<blockquote cite="https://x.com/rjonesy/status/1945132365761679793"><p>I am so out of patience for “Optimize Storage” on Apple devices.</p><p>Now I have to take half my day to figure out how to reduce Photos and Messages without nuking them.</p><p>My best solution: Disconnect iCloud Photos. That will delete all local photo copies. Then reconnect it. 🤷‍♂️</p><p>That worked. All local photos were offloaded.</p><p><em>Except for the Shared With You</em> stuff from Messages.</p></blockquote>
<p><a href="https://x.com/ajrgd/status/1945134173955444798">Alex Greenland</a>:</p>
<blockquote cite="https://x.com/ajrgd/status/1945134173955444798"><p>Yesss! My biggest gripe. With Photos and iCloud Drive on macOS and iOS.</p><p>“Optimise Storage” should leave me with comfortable space, not just leaving me a few gigs of headroom.</p><p>It’s like it tries to fill up your disk first, then takes files away, but never enough.</p></blockquote>
<p>I think both Photos and Messages should have settings to specify the number of GB to cache locally.</p>
<p><a href="https://x.com/spreen_co/status/1945313953317343460">Nick Spreen</a>:</p>
<blockquote cite="https://x.com/spreen_co/status/1945313953317343460"><p>I feel like that’s not really a problem in comparison to 300gb system data</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/12/23/deleting-unused-photos-from-apple-photos/">Deleting Unused Photos From Apple Photos</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/03/deleting-messages-attachments-everywhere/">Deleting Messages Attachments Everywhere</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/12/dont-let-me-go-and-icloud-storage-tiers/">“Don’t Let Me Go” and iCloud Storage Tiers</a></li>
<li><a href="https://mjtsai.com/blog/2022/10/07/showing-the-amount-of-free-space-on-ios/">Showing the Amount of Free Space on iOS</a></li>
<li><a href="https://mjtsai.com/blog/2022/07/05/pruning-ios-system-data/">Pruning iOS “System Data”</a></li>
<li><a href="https://mjtsai.com/blog/2018/09/25/photos-needs-better-storage-management/">Photos Needs Better Storage Management</a></li>
<li><a href="https://mjtsai.com/blog/2016/07/07/protecting-your-network-from-photos-uploads/">Protecting Your Network From Photos Uploads</a></li>
</ul>
<p id="fixing-optimize-storage-update-2025-07-25">Update (<a href="#fixing-optimize-storage-update-2025-07-25">2025-07-25</a>): <a href="https://pxlnv.com/linklog/fixing-optimize-storage/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/fixing-optimize-storage/">
<p>As far as I can tell, my Messages cache on my iMac is a full copy of Messages in my iCloud account. It is not as though Apple is treating the cloud portion as merely a syncing solution, as it used to do with something like <a href="https://www.macrumors.com/2023/07/25/apple-my-photo-stream-shutdown-what-to-do/">My Photo Stream</a>, so it is not necessarily saving space in either my iCloud account or on my devices. I would like the option to store a full copy of my Messages history on my Mac, yes, but I also think it should more aggressively purge on-device copies. Is that not a key advantage of the cloud — that I do not need to keep everything on-disk?</p>
</blockquote>
<p>Yes, Messages seems to—contra Photos—treat the local storage as a cache that never evicts anything. So it doesn’t start out as a full copy, but over time it can become one. It basically forces you to delete older messages (from everywhere) or buy a device with more storage.</p>
<p id="fixing-optimize-storage-update-2025-07-30">Update (<a href="#fixing-optimize-storage-update-2025-07-30">2025-07-30</a>): <a href="https://x.com/krzyzanowskim/status/1950263872557826240">Marcin Krzyzanowski</a>:</p>
<blockquote cite="https://x.com/krzyzanowskim/status/1950263872557826240"><p>the system is rigged. I don’t know how to free more space without disabling iCloud Photos completely because it won’t delete photos not matter what.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/17/fixing-optimize-storage/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Notarized Atomic Stealer (AMOS)</title>
<link>https://mjtsai.com/blog/2025/07/17/notarized-atomic-stealer-amos/</link>
<comments>https://mjtsai.com/blog/2025/07/17/notarized-atomic-stealer-amos/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 17 Jul 2025 18:14:49 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Developer Account]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Malware]]></category>
<category><![CDATA[Notarization]]></category>
<category><![CDATA[Security]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48525</guid>
<description><![CDATA[Jamf Threat Labs: After downloading and inspecting the binary, we confirmed that it was indeed both code-signed and notarized — a detail that raised immediate concern given its malicious nature.[…]The application itself is named “Gmeet_updater.app,” though there’s little effort to align that branding with the user experience, suggesting a rushed or careless repackaging process.After confirming […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.jamf.com/blog/signed-and-stealing-uncovering-new-insights-on-odyssey-infostealer/">Jamf Threat Labs</a>:</p>
<blockquote cite="https://www.jamf.com/blog/signed-and-stealing-uncovering-new-insights-on-odyssey-infostealer/"><p>After downloading and inspecting the binary, we confirmed that it was indeed both code-signed and notarized — a detail that raised immediate concern given its malicious nature.</p><p>[…]</p><p>The application itself is named “Gmeet_updater.app,” though there’s little effort to align that branding with the user experience, suggesting a rushed or careless repackaging process.</p><p>After confirming that the Developer Team ID was used to distribute malicious payloads, Jamf Threat Labs reported it to Apple. Since then, the associated certificate appears to have been revoked.</p><p>[…]</p><p>Jamf Threat Labs identified at least three distinct macOS infostealer samples that were successfully signed and notarized using the same Team ID (A2FTSWF4A2) and later distributed in the wild.</p></blockquote>
<p><a href="https://mastodon.online/@tclementdev/114864077563140455">Thomas Clement</a>:</p>
<blockquote cite="https://mastodon.online/@tclementdev/114864077563140455">
<p>Notarization is a sad story. It doesn’t provide great security and is a barrier for many groups of people (young, indie, game developers, developers whose primary platform is not the Mac, etc…) to publish an app on the Mac. If Apple wants more games on the Mac, the first step is to make notarization free. Just make it free.</p>
</blockquote>
<p>Or just get rid of it? It’s still a major pain, adding time and friction to each build. The notarization server still goes down at the most inconvenient times. There are some basic package structure and code signing checks that are useful, but these would be better if made available locally as part of Xcode. It’s not clear to me that the malware checks are adding much value over what we already get from code signing and macOS’s built-in malware detection.</p>
<p><a href="https://x.com/rameerez/status/1945784476723810739">rameerez</a>:</p>
<blockquote cite="https://x.com/rameerez/status/1945784476723810739"><p>I’ve lost this week trying to get my macOS app notarized</p><p>Notarization jobs would just stall and get stuck on Xcode for days!</p><p>So I wrote an email to Apple Developer Support</p><p>And the next thing I know is they TERMINATED my entire Developer Account?!</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/08/locked-out-of-apple-developer-accounts/">Locked Out of Apple Developer Accounts</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/05/sequoia-removes-gatekeeper-contextual-menu-override/">Sequoia Removes Gatekeeper Contextual Menu Override</a></li>
<li><a href="https://mjtsai.com/blog/2020/10/30/more-notarized-mac-malware/">More Notarized Mac Malware</a></li>
<li><a href="https://mjtsai.com/blog/2020/08/31/notarized-mac-malware/">Notarized Mac Malware</a></li>
<li><a href="https://mjtsai.com/blog/2019/04/22/the-true-and-false-security-benefits-of-mac-app-notarization/">The True and False Security Benefits of Mac App Notarization</a></li>
</ul>
<p id="notarized-atomic-stealer-amos-update-2025-07-18">Update (<a href="#notarized-atomic-stealer-amos-update-2025-07-18">2025-07-18</a>): See also: <a href="https://news.ycombinator.com/item?id=44601548">Hacker News</a>.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/17/notarized-atomic-stealer-amos/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>JSON Editor and PlistEdit Pro</title>
<link>https://mjtsai.com/blog/2025/07/17/json-editor-and-plistedit-pro/</link>
<comments>https://mjtsai.com/blog/2025/07/17/json-editor-and-plistedit-pro/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 17 Jul 2025 18:14:26 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[CSV]]></category>
<category><![CDATA[Developer Tool]]></category>
<category><![CDATA[JSON]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[OmniOutliner]]></category>
<category><![CDATA[Property Lists]]></category>
<category><![CDATA[SmoothCSV]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48523</guid>
<description><![CDATA[VDT Labs (via Dave DeLong): View and edit your JSON files in “tree” or “text” mode. “Tree” mode offers a great and error proof way to manipulate your JSON, by allowing you to easily add, reorder, delete, copy & paste the items. The “text” mode offers a quick way to interact with the raw text […]]]></description>
<content:encoded><![CDATA[<p><a href="https://vdt-labs.com/json-editor/">VDT Labs</a> (via <a href="https://mastodon.social/@davedelong/114835320562355902">Dave DeLong</a>):</p>
<blockquote cite="https://vdt-labs.com/json-editor/"><p>View and edit your JSON files in “tree” or “text” mode. “Tree” mode offers a great and error proof way to manipulate your JSON, by allowing you to easily add, reorder, delete, copy & paste the items. The “text” mode offers a quick way to interact with the raw text which makes up the JSON and to investigate invalid JSONs.</p><p>[…]</p><p>The powerful HTTP Client included in the app, at no additional costs, allows you to easily create and perform HTTP requests. While its main purpose is to ease the fetch of JSON content from a server, it can be used to get or upload any content, including binary.</p></blockquote>
<p><a href="https://www.fatcatsoftware.com/plisteditpro/">Fat Cat Software</a>:</p>
<blockquote cite="https://www.fatcatsoftware.com/plisteditpro/">
<p>Mac and iOS developers must edit a variety of property list and JSON files while developing their applications. PlistEdit Pro makes editing these files easier by providing an intuitive and powerful interface. In addition to being able to copy and paste or drag and drop property list data around, PlistEdit Pro also offers powerful find and replace functionality, as well as structure definitions which provide easy access to commonly used keys in various standard property list files.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/12/03/modern-csv-2-1/">Modern CSV 2.1</a></li>
<li><a href="https://mjtsai.com/blog/2019/06/27/proxyman-1-4-3/">Proxyman 1.4.3</a></li>
</ul>
<p id="json-editor-and-plistedit-pro-update-2025-07-22">Update (<a href="#json-editor-and-plistedit-pro-update-2025-07-22">2025-07-22</a>): <a href="https://mastodon.social/@gingerbeardman@mastodon.gamedev.place/114897999794893497">Matt Sephton</a>:</p>
<blockquote cite="https://mastodon.social/@gingerbeardman@mastodon.gamedev.place/114897999794893497">
<p>i just found another CSV app: <a href="https://smoothcsv.com">SmoothCSV</a></p>
</blockquote>
<p id="json-editor-and-plistedit-pro-update-2025-08-01">Update (<a href="#json-editor-and-plistedit-pro-update-2025-08-01">2025-08-01</a>): <a href="https://mastodon.social/@kcase/114947856382761447">Ken Case</a>:</p>
<blockquote cite="https://mastodon.social/@kcase/114947856382761447"><p>I use @OmniOutliner for this: just drag a .plist onto its app icon to open it. OmniOutliner’s row heights adjust to display the full content (unless you turn off View > Show Full Row Text), its columns are resizable (including a Resize to Fit option useful for the Key column), and yes, of course its disclosure triangles completely expand all contained rows when option-clicked.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/17/json-editor-and-plistedit-pro/feed/</wfw:commentRss>
<slash:comments>6</slash:comments>
</item>
<item>
<title>Longplay for Mac</title>
<link>https://mjtsai.com/blog/2025/07/16/longplay-for-mac/</link>
<comments>https://mjtsai.com/blog/2025/07/16/longplay-for-mac/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 16 Jul 2025 20:48:52 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Music]]></category>
<category><![CDATA[AppleScript]]></category>
<category><![CDATA[Bug]]></category>
<category><![CDATA[Claude]]></category>
<category><![CDATA[Cocoa]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iOS App]]></category>
<category><![CDATA[Longplay]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 14 Sonoma]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Model Context Protocol (MCP)]]></category>
<category><![CDATA[Music]]></category>
<category><![CDATA[MusicKit]]></category>
<category><![CDATA[Programming]]></category>
<category><![CDATA[SwiftUI]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48511</guid>
<description><![CDATA[Adrian Schönig (2023, via Nick Heer): Longplay 1.0 was released in August 2020. I had used the app for years before that myself, but I didn’t know how it would be received by a wider audience. I loved the kind of feedback that I got which helped me distill the heart of the app: Music […]]]></description>
<content:encoded><![CDATA[<p><a href="https://adrian.schoenig.me/blog/2023/08/31/longplay-2.0/">Adrian Schönig</a> (2023, via <a href="https://pxlnv.com/linklog/longplay-2/">Nick Heer</a>):</p>
<blockquote cite="https://adrian.schoenig.me/blog/2023/08/31/longplay-2.0/">
<p><a href="https://adrian.schoenig.me/blog/2020/08/18/introducing-longplay/">Longplay 1.0</a> was released in August 2020. I had used the app for years before that myself, but I didn’t know how it would be received by a wider audience. I loved the kind of feedback that I got which helped me distill the <a href="https://adrian.schoenig.me/blog/2020/10/03/essence-of-an-app/">heart</a> of the app: Music means a lot to people, and Longplay helps them reconnect with their music library in a way that reminds them of their old vinyl or CD collections. It’s a wall of their favourite albums that has been with them for many years or decades. It’s something <strong>personal</strong>. The UI very much focussed on that part of the experience, and I wanted to <strong>keep that spirit alive, keep the app fun</strong>, while adding features that people and myself found amiss.</p>
<p>The main idea behind 2.0 was to <strong>focus on the playing of music beyond a single album</strong>. 1.0 just stopped playback when you finished an album, but I wanted to stay in the flow – to either play an appropriate random next album or the next from a manually specified queue.</p>
</blockquote>
<p><a href="https://adrian.schoenig.me/blog/2025/07/15/longplay-for-mac/">Adrian Schönig</a> (<a href="https://aus.social/@nighthawk/114856937156736019">Mastodon</a>):</p>
<blockquote cite="https://adrian.schoenig.me/blog/2025/07/15/longplay-for-mac/"><p>I am thrilled to be finally releasing Longplay for Mac today. Longplay is all about the joy of listening to entire albums and marvelling at their beautiful album artwork. It is built from the ground up for the Mac, with the <a href="https://adrian.schoenig.me/blog/2020/08/18/introducing-longplay/">familiar</a> pretty album wall, a dedicated mini player, all the <a href="https://adrian.schoenig.me/blog/2023/08/31/longplay-2.0/">main features from iOS</a>, plus Mac exclusives like AppleScript and a nifty MCP server.</p><p>[…]</p><p>Meanwhile, Apple announced in June 2023 that playback support for Apple Music tracks through MusicKit was coming to the Mac in macOS 14. I restarted work on the Mac app, and while it was working, I encountered <a href="https://aus.social/@nighthawk/111219339603322860">pesky playback glitches</a>, where Apple Music playback would often but not always start stuttering after a couple of tracks. I wouldn’t launch the app like that. However, the app worked reliable already for DRM-free tracks, which is how the “<a href="https://aus.social/@nighthawk/111340080823240405">Early Access</a>“ version of Longplay for Mac was born, as I knew some people who’d only or primarily use that (including myself).</p><p>On the glitches, I tried various workarounds that I could think of, kept lots of notes on when it happened and when it didn’t, filed a TSI (which got rejected due to no known workarounds), filed comprehensive radars including a <a href="https://aus.social/@nighthawk/111407253803949982">demo app</a> to reproduce, and reached out to Apple contacts. I did get some responses and am thankful for the support, but was still blocked. macOS 14 launched with the same glitches later in 2023. End of 2024, macOS 15 launched with the same issue still present.</p><p>I kept chipping away at the Mac app in the meantime, hoping that those glitches would be resolved at some stage. I focussed on the technical details, adding polish, hitting SwiftUI dead ends and opting AppKit in more places. Then, in late in 2024, <a href="https://sophiestication.com/CoverSutra/">CoverSutra relaunched</a> for the Mac and it didn’t have the playback issue. I was stunned. So I dug in again and finally came across a workaround that worked for Longplay: Updating the dock icon every second. </p></blockquote>
<p>It’s $6 (currently $2.99) for iOS and $25 for macOS.</p>
<p><a href="https://www.macstories.net/reviews/longplay-for-mac-launches-with-powerful-ai-and-shortcuts-integration/">John Voorhees</a>:</p>
<blockquote cite="https://www.macstories.net/reviews/longplay-for-mac-launches-with-powerful-ai-and-shortcuts-integration/">
<p>However, the most interesting of all of Longplay’s automation integrations is its built-in MCP server. MCP is a protocol that allows AI chatbots like Claude to interact with apps. With Longplay’s MCP server, you can do things like create Collections and Smart Collections and queue albums for playback from inside a chatbot. What makes the integration so powerful is the ability to perform those actions with the sort of natural language requests that are the bread and butter of chatbots.</p><p>For example, the other day I asked Claude Sonnet 4 to compile a list of the top 100 alternative and indie albums of the ’80s. After consulting several sources, Claude generated a list, which I then asked it to use to create a Longplay Collection using my Apple Music library. Claude got to work and created my Collection after comparing its list with my Apple Music library for a couple of minutes.</p><p>Longplay is the first app I’ve tried that uses a built-in MCP server, and I’m sold. The combination of a chatbot’s research strength and Longplay’s actions makes its MCP integration a compelling way to explore your music.</p>
</blockquote>
<p><a href="https://mastodon.macstories.net/@viticci/114858013352393477">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.macstories.net/@viticci/114858013352393477"><p>I expect more and more developers to do this, especially now that Anthropic has a new file format and easier experience for Claude desktop extensions.</p>
<p>(Meanwhile, in Shortcuts, none of this is happening…)</p></blockquote>
<p><a href="https://toot.io/@designedbyappleincalifornia/114858587489038914">John Appleseed</a>:</p>
<blockquote cite="https://toot.io/@designedbyappleincalifornia/114858587489038914">
<p>Why isn’t the UI getting out of the way of the content by overlapping, obscuring and blurring the content?</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/16/shortcuts-in-macos-tahoe/">Shortcuts in macOS Tahoe</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/01/coversutra-is-back/">CoverSutra Is Back</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/03/model-context-protocol-mcp-tools-for-mac/">Model Context Protocol (MCP) Tools for Mac</a></li>
<li><a href="https://mjtsai.com/blog/2023/07/12/how-do-you-request-music-using-siri/">How Do You Request Music Using Siri?</a></li>
<li><a href="https://mjtsai.com/blog/2022/01/14/ios-music-player-showcase-2022/">iOS Music Player Showcase, 2022</a></li>
<li><a href="https://mjtsai.com/blog/2021/01/07/audion-4-0/">Audion 4.0</a></li>
<li><a href="https://mjtsai.com/blog/2018/09/05/whats-going-on-with-cesium/">What’s Going on With Cesium</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/16/longplay-for-mac/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>NameQuick 1.9.29</title>
<link>https://mjtsai.com/blog/2025/07/16/namequick-1-9-29/</link>
<comments>https://mjtsai.com/blog/2025/07/16/namequick-1-9-29/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 16 Jul 2025 20:48:39 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[AppleScript]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[Foundation Models Framework]]></category>
<category><![CDATA[Google Gemini/Bard]]></category>
<category><![CDATA[LLaMA]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[PDF]]></category>
<category><![CDATA[Sandboxing]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48509</guid>
<description><![CDATA[NameQuick: AI-powered file renaming that just works.[…]Rename legal documents, research articles, and scans automatically with clear, informative filenames.Automatically organize invoices and receipts by extracting key details like vendor names, dates, and amounts.Instantly rename photos with descriptive labels derived from image content or metadata for easy reference.[…]Use local models from Ollama for faster, offline renaming with […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.namequick.app/">NameQuick</a>:</p>
<blockquote cite="https://www.namequick.app/"><p>AI-powered file renaming that just works.</p><p>[…]</p><p>Rename legal documents, research articles, and scans automatically with clear, informative filenames.</p><p>Automatically organize invoices and receipts by extracting key details like vendor names, dates, and amounts.</p><p>Instantly rename photos with descriptive labels derived from image content or metadata for easy reference.</p><p>[…]</p><p>Use local models from Ollama for faster, offline renaming with full control over your data.</p></blockquote>
<p>The developer says that Apple’s Foundation Models Framework is currently too unreliable and not powerful enough with its limited context window, so you need to use either Gemini, OpenAI, or Ollama. I tried it with Gemini and found that it was much better and faster than ScanSnap at pulling out names and dates from receipts, even finding some text that I could barely read myself.</p>
<p>I found the app itself a little hard to use. You can’t just drag and drop files onto its Dock icon, and dragging and dropping into the window didn’t properly apply the name template that I’d created and chosen. What worked best was setting up a Watch Folder. I wish it were sandboxed and supported AppleScript. NameQuick is $19 (one-time, bring your own API keys) or you can pay $5 or more per month with managed AI credits included.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/16/shortcuts-in-macos-tahoe/">Shortcuts in macOS Tahoe</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/17/foundation-models-framework/">Foundation Models Framework</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/11/ricoh-scansnap-ix1600/">Ricoh ScanSnap iX1600</a></li>
<li><a href="https://mjtsai.com/blog/2019/11/19/name-mangler-3-6/">Name Mangler 3.6</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/16/namequick-1-9-29/feed/</wfw:commentRss>
<slash:comments>2</slash:comments>
</item>
<item>
<title>Shortcuts in macOS Tahoe</title>
<link>https://mjtsai.com/blog/2025/07/16/shortcuts-in-macos-tahoe/</link>
<comments>https://mjtsai.com/blog/2025/07/16/shortcuts-in-macos-tahoe/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 16 Jul 2025 20:48:28 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Intelligence]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Numbers.app]]></category>
<category><![CDATA[Shortcuts]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48507</guid>
<description><![CDATA[Jason Snell: In macOS 26, there’s a built-in clipboard manager that can be accessed from the Spotlight interface, and a new set of Shortcuts triggers let you run automations when events occur on your Mac or at specific intervals. Simon B. Støvring: “Folder” and “File” seem like interesting automation triggers in Shortcuts for Mac. You […]]]></description>
<content:encoded><![CDATA[<p><a href="https://sixcolors.com/post/2025/06/apple-keeps-checking-items-off-my-mac-wishlist/">Jason Snell</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/06/apple-keeps-checking-items-off-my-mac-wishlist/">
<p>In macOS 26, there’s a built-in clipboard manager that can be accessed from the Spotlight interface, and a new set of Shortcuts triggers let you run automations when events occur on your Mac or at specific intervals.</p>
</blockquote>
<p><a href="https://mastodon.social/@simonbs/114704472251676704">Simon B. Støvring</a>:</p>
<blockquote cite="https://mastodon.social/@simonbs/114704472251676704"><p>“Folder” and “File” seem like interesting automation triggers in Shortcuts for Mac. You can do things like “When a file is moved to this folder, process it with on-device AI”.</p></blockquote>
<p><a href="https://sixcolors.com/post/2025/06/experimenting-with-apples-ai-models-inside-shortcuts/">Jason Snell</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/06/experimenting-with-apples-ai-models-inside-shortcuts/">
<p>Of all the features I’m excited about using in macOS 26, the one that most intrigues me is the Use Model action in Shortcuts. Use Model does exactly what you think it does: you toss data into it, and an AI model somewhere (on your Mac, on Apple’s Private Cloud Compute servers, or even at an OpenAI server farm) will take that data and turn it into… something.</p>
<p>The other day, I realized that this new feature would allow me to expand my existing automation that uploads images to the Six Colors web server by adding a description of the image.</p>
</blockquote>
<p><a href="https://sixcolors.com/post/2025/06/experimenting-with-apples-ai-models-inside-shortcuts/">Dan Moren</a>:</p>
<blockquote cite="https://sixcolors.com/post/2025/06/experimenting-with-apples-ai-models-inside-shortcuts/"><p>But pulling information out of a document—especially information that might appear anywhere in a variety of forms—seems like something an AI model would be good at, so I decided to take another crack at it with Shortcuts’s new AI capabilities.</p><p>I started out my workflow by grabbing all the text from a PDF or web page, then passing it to the Private Cloud Compute model. (I attempted to use the On-Device model at first, but it was both very slow and not quite as good at formatting the response in the manner I wanted.)</p><p>[…]</p><p>And therein lies the rub with all of this. The results are neither reliable nor necessarily repeatable. The same data run through this shortcut multiple times provides different answers: I’d think that anathema (not to mention madness inducing) to the sensibilities of any programmer. Given the same data, the algorithm should yield the same thing every time, but the non-deterministic nature of AI models throws that out the window.</p></blockquote>
<p><a href="https://mastodon.macstories.net/@viticci/114701298406224603">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.macstories.net/@viticci/114701298406224603"><p>So, the ChatGPT integration in Shortcuts’ Apple Intelligence action for iOS/iPadOS/macOS 26 appears to be the really old GPT 4 Turbo with a knowledge cutoff date of November 2023…?</p></blockquote>
<p><a href="https://mastodon.macstories.net/@viticci/114862709888621179">Federico Viticci</a>:</p>
<blockquote cite="https://mastodon.macstories.net/@viticci/114862709888621179"><p>The greatest threat to Apple Intelligence’s App Intents adoption isn’t the underlying lack of an LLM (Apple can fix that sooner or later): it’s web apps and the rise of MCP. The automation and inter-app model is shifting from local extensions to web-based ones.</p><p>I’m imagining an Apple-made MCP bridge that runs in Private Cloud Compute 🤔</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/16/longplay-for-mac/">Longplay for Mac</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/16/namequick-1-9-29/">NameQuick 1.9.29</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/10/macos-tahoe-26-announced/">macOS Tahoe 26 Announced</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/03/sky-preview/">Sky Preview</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/03/model-context-protocol-mcp-tools-for-mac/">Model Context Protocol (MCP) Tools for Mac</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/03/the-automation-gap/">The Automation Gap</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/16/shortcuts-in-macos-tahoe/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Weak Ubiquitous Linking in Apple’s Apps</title>
<link>https://mjtsai.com/blog/2025/07/16/weak-ubiquitous-linking-in-apples-apps/</link>
<comments>https://mjtsai.com/blog/2025/07/16/weak-ubiquitous-linking-in-apples-apps/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 16 Jul 2025 20:47:56 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple Mail]]></category>
<category><![CDATA[Apple Podcasts]]></category>
<category><![CDATA[AppleScript]]></category>
<category><![CDATA[Calendar]]></category>
<category><![CDATA[Hook]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Messages.app]]></category>
<category><![CDATA[Music.app]]></category>
<category><![CDATA[Notes]]></category>
<category><![CDATA[Reminders]]></category>
<category><![CDATA[Shortcuts]]></category>
<category><![CDATA[URL]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48505</guid>
<description><![CDATA[Luc Beaudoin: If you are like many knowledge workers, on a typical day you access over dozens of information resources. If you have to use search or navigate through folders to get to them, you’re taking a big hit on productivity. It’s much easier to access a resource by clicking on a contextually placed link […]]]></description>
<content:encoded><![CDATA[<p><a href="https://hookproductivity.com/blog/2024/12/3rd-year-anniversary/">Luc Beaudoin</a>:</p>
<blockquote cite="https://hookproductivity.com/blog/2024/12/3rd-year-anniversary/">
<p>If you are like many knowledge workers, on a typical day you access over dozens of information resources. If you have to use search or navigate through folders to get to them, you’re taking a big hit on productivity. It’s much easier to access a resource by clicking on a contextually placed link than it is to search for it or navigate to it through folders. For instance, if your task list contains links to the resources (drafts, emails, notes, PDFs, etc.) you need to process today, then you can use your task list becomes a hub from which you can quickly jump to what you need.</p>
</blockquote>
<p><a href="https://luccogzest.substack.com/p/apples-macos-apps-are-the-weak-link">Luc Beaudoin</a> (<a href="https://talk.macpowerusers.com/t/the-weak-link-in-mac-based-productivity-apple-s-own-apps/41278">Mac Power Users</a>):</p>
<blockquote cite="https://luccogzest.substack.com/p/apples-macos-apps-are-the-weak-link"><p>Despite its polish and promise, macOS still lacks overt support for robust, user-friendly linking. This violates both the spirit and the practical recommendations of the <em><a href="https://linkingmanifesto.org/">Manifesto for Ubiquitous Linking</a></em>, which I authored to encourage software platforms and developers to address what I call the <em>meta-access problem</em>: the difficulty of re-accessing information that is related to your contextual focus. </p><p>[…]</p><p>Take Apple’s own macOS apps. In Notes, Messages, Reminders, Freeform, and even Mail, there is no “Copy Link” menu option that would let users create a persistent, shareable link to a specific item. This is a fundamental limitation for anyone who wants to organize information across documents and applications. In many cases, there’s no straightforward way — via the UI or automation — to get reliable, cross-device links.</p><p>Even when underlying identifiers do exist — and clearly they must — Apple keeps them hidden. For example, when you receive a date in a text via Messages on macOS, you can click it to create a Calendar event. That event includes a hidden link back to the original message, something like: <code>sms://open?message-guid=ABCBB940-08A7-4FC8-8FDF-DF32CEB4234E</code> But this linking mechanism is entirely private. There is no public API or automation hook to retrieve message GUIDs. So while Apple engineers can build this feature into Calendar, third-party developers and users are locked out.</p><p>[…]</p><p>There’s no AppleScript or Shortcuts action to [copy Music or Podcast links] either. One couldn’t add more hurdles to linking if one tried. And without a <strong>Copy Link</strong> menu item in the app’s menu bar, even UI scripting is impossible.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2022/07/26/mail-links-and-percentages/">Mail Links and Percentages</a></li>
<li><a href="https://mjtsai.com/blog/2021/12/06/manifesto-for-ubiquitous-linking/">Manifesto for Ubiquitous Linking</a></li>
<li><a href="https://mjtsai.com/blog/2019/07/10/hook-1-0/">Hook 1.0</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/16/weak-ubiquitous-linking-in-apples-apps/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Apple’s Browser Engine Ban Persists, Even Under the DMA</title>
<link>https://mjtsai.com/blog/2025/07/15/apples-browser-engine-ban-persists-even-under-the-dma/</link>
<comments>https://mjtsai.com/blog/2025/07/15/apples-browser-engine-ban-persists-even-under-the-dma/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 15 Jul 2025 19:13:38 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[Digital Markets Act (DMA)]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Web Browser]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48495</guid>
<description><![CDATA[Jess Weatherbed: It’s been 16 months since a DMA ruling allowed iOS developers like Google and Mozilla to use their own browser engines in the EU, so… where are they? Open Web Advocacy (Hacker News): Apple’s compliance did not start well. Faced with the genuine possibility of third-party browsers effectively powering web apps, Apple’s first […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.theverge.com/news/706569/apple-ios-iphone-alternative-browser-webkit-owa">Jess Weatherbed</a>:</p>
<blockquote cite="https://www.theverge.com/news/706569/apple-ios-iphone-alternative-browser-webkit-owa">
<p>It’s been 16 months since a DMA ruling allowed iOS developers like Google and Mozilla to use their own browser engines in the EU, so… where are they?</p>
</blockquote>
<p><a href="https://open-web-advocacy.org/blog/apples-browser-engine-ban-persists-even-under-the-dma/">Open Web Advocacy</a> (<a href="https://news.ycombinator.com/item?id=44557348">Hacker News</a>):</p>
<blockquote cite="https://open-web-advocacy.org/blog/apples-browser-engine-ban-persists-even-under-the-dma/"><p>Apple’s compliance did not start well. Faced with the genuine possibility of third-party browsers effectively powering web apps, <a href="https://open-web-advocacy.org/blog/its-official-apple-kills-web-apps-in-the-eu/">Apple’s first instinct was to remove web app support entirely from iOS</a> with no notice to either businesses or consumers. Under significant pressure from us and the Commission, <a href="https://open-web-advocacy.org/blog/apple-backs-off-killing-web-apps/">Apple canceled their plan to sabotage web apps in the EU</a>.</p><p>Both Google and Mozilla <a href="https://www.theregister.com/2023/02/07/mozilla_google_apple_webkit/">began porting their browser engines Blink and Gecko respectively to iOS</a>. […] However there were significant issues with Apple’s contract and technical restrictions that made porting browser engines to iOS “as painful as possible” for browser vendors[…]</p><p>[…]</p><p>At the DMA workshop last week, we directly raised with Apple the primary blocker preventing third-party browser engines from shipping on iOS. Apple claimed that vendors like Google and Mozilla have <em>“everything they need”</em> to ship a browser engine in the EU and simply <em>“have chosen not to do so”</em>.</p><p>Apple has been fully aware of these barriers since at least June 2024, <a href="https://open-web-advocacy.org/apple-dma-review/">when we covered them in exhaustive detail</a>. Multiple browser vendors have also discussed these same issues with Apple directly. The suggestion that Apple is unaware of the problems is not just ridiculous, it’s demonstrably false. <strong>Apple knows exactly what the issues are. It is simply refusing to address them.</strong></p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/11/apple-vs-the-law/">Apple vs. the Law</a></li>
<li><a href="https://mjtsai.com/blog/2025/01/17/apples-dma-compliance-criticized/">Apple’s DMA Compliance Criticized</a></li>
<li><a href="https://mjtsai.com/blog/2024/12/27/apple-to-defend-google-revenue-sharing-agreement/">Apple to Defend Google Revenue Sharing Agreement</a></li>
<li><a href="https://mjtsai.com/blog/2024/02/09/ios-17-4-changes-pwas-to-shortcuts-in-eu/">iOS 17.4 Changes PWAs to Shortcuts in EU</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/26/dma-compliance-alternative-browser-engines/">DMA Compliance: Alternative Browser Engines</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/15/apples-browser-engine-ban-persists-even-under-the-dma/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Upgrading an M4 Pro Mac Mini’s Storage for Half the Price</title>
<link>https://mjtsai.com/blog/2025/07/15/upgrading-an-m4-pro-mac-minis-storage-for-half-the-price/</link>
<comments>https://mjtsai.com/blog/2025/07/15/upgrading-an-m4-pro-mac-minis-storage-for-half-the-price/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 15 Jul 2025 19:13:25 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple M4 Pro]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac mini]]></category>
<category><![CDATA[Solid-State Drive (SSD)]]></category>
<category><![CDATA[Storage]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48493</guid>
<description><![CDATA[Jeff Geerling (via Hacker News): I documented the entire upgrade—along with taking my old M4 mini 1TB SSD and putting it in my Dad’s M4 mini—in today’s video[…][…]Speaking of standards… you have to do a full DFU (Device Firmware Update) restore, because unlike conventional M.2 NVMe storage, the M4 uses a proprietary connector, a proprietary-sized […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.jeffgeerling.com/blog/2025/upgrading-m4-pro-mac-minis-storage-half-price">Jeff Geerling</a> (via <a href="https://news.ycombinator.com/item?id=44532306">Hacker News</a>):</p>
<blockquote cite="https://www.jeffgeerling.com/blog/2025/upgrading-m4-pro-mac-minis-storage-half-price"><p>I documented the entire upgrade—along with taking my old M4 mini 1TB SSD and putting it in my <em>Dad’s</em> M4 mini—in <a href="https://www.youtube.com/watch?v=cqmPjO-iHLo">today’s video</a>[…]</p><p>[…]</p><p>Speaking of standards… you <em>have</em> to do a full DFU (Device Firmware Update) restore, because unlike conventional M.2 NVMe storage, the M4 uses a proprietary connector, a proprietary-sized slot, and splits up the typical layout—the card that’s user-replaceable is actually just flash chips and supporting power circuits, while the storage controller (the NVMe ‘brains’) is part of the M4 SoC (System on a Chip). Apple could use standard NVMe slots, but they seem to think the controller being part of the SoC brings better security… it certainly doesn’t bring any cost savings, resiliency in terms of quick recovery from failure in the field, or performance advantage!</p><p>[…]</p><p>The upgraded 4TB module performed noticeably better in writes, likely because it has more flash chips on it to spread out the write activity. Reads were pretty close to the same, with minor variance in performance across different file sizes and access patterns.</p><p>[…]</p><p>I was provided the <a href="https://store.m4-ssd.com/products/third-party-ssd-for-mac-mini-m4-pro?variant=45569474199706">$699 M4 Pro 4TB SSD upgrade</a> by M4-SSD. It’s quite expensive (especially compared to <em>normal</em> 4TB NVMe SSDs, which range from $200-400)…</p><p>But it’s not nearly as expensive as Apple’s own offering, which at the time of this writing is <em>$1,200</em>!</p></blockquote>
<p>Note that this particular upgrade doesn’t work with a non-Pro M4.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/10/29/mac-mini-2024/">Mac mini 2024</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/15/upgrading-an-m4-pro-mac-minis-storage-for-half-the-price/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>utiluti 1.2</title>
<link>https://mjtsai.com/blog/2025/07/15/utiluti-1-2/</link>
<comments>https://mjtsai.com/blog/2025/07/15/utiluti-1-2/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 15 Jul 2025 19:13:15 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Uniform Type Identifier]]></category>
<category><![CDATA[utiluti]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48491</guid>
<description><![CDATA[Armin Briegel: I have also released an update to my CLI tool to set default apps for urls and file types (uniform type identifiers/UTI). utiluti 1.2 adds a manage verb which can read a list of default app assignments from plist files or a configuration profile. You can see the documentation for the new manage […]]]></description>
<content:encoded><![CDATA[<p><a href="https://scriptingosx.com/2025/07/updates-setup-manager-and-utiluti/">Armin Briegel</a>:</p>
<blockquote cite="https://scriptingosx.com/2025/07/updates-setup-manager-and-utiluti/"><p>I have also released an update to my CLI tool to set default apps for urls and file types (uniform type identifiers/UTI). <code>utiluti</code> 1.2 adds a <code>manage</code> verb which can read a list of default app assignments from plist files or a configuration profile. You can see <a href="https://github.com/scriptingosx/utiluti?tab=readme-ov-file#setting-multiple-defaults">the documentation for the new <code>manage</code> verb here</a> and download the <a href="https://github.com/scriptingosx/utiluti/releases/latest">latest pkg installer here</a>.</p><p>Note, that while you can set the default browser with <code>utiluti</code>, whether you are using the <code>manage</code> option or not, the system will prompt the user to confirm the new default browser.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2021/01/13/how-to-change-your-default-web-browser-on-big-sur/">Setting Your Default Web Browser on Big Sur</a></li>
<li><a href="https://mjtsai.com/blog/2024/03/15/default-handler-1-0/">Default Handler 1.0</a></li>
<li><a href="https://mjtsai.com/blog/2003/10/27/tying/">Tying</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/15/utiluti-1-2/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Gatekeeper Change in macOS 15.4</title>
<link>https://mjtsai.com/blog/2025/07/15/gatekeeper-change-in-macos-15-4/</link>
<comments>https://mjtsai.com/blog/2025/07/15/gatekeeper-change-in-macos-15-4/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Tue, 15 Jul 2025 19:13:08 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Extended Attributes]]></category>
<category><![CDATA[Gatekeeper]]></category>
<category><![CDATA[Interface Builder]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48489</guid>
<description><![CDATA[Jeff Johnson (Mastodon): On macOS 15.2, I was able to drag the exact same downloaded WebP file to TextEdit and BBEdit with no Gatekeeper alert! Thus, it appears that the Reddit poster was correct, and something did change recently.[…]I perused the unusually long Apple support document About the security content of macOS Sequoia 15.4, but […]]]></description>
<content:encoded><![CDATA[<p><a href="https://lapcatsoftware.com/articles/2025/4/8.html">Jeff Johnson</a> (<a href="https://mastodon.social/@lapcatsoftware/114394187506039486">Mastodon</a>):</p>
<blockquote cite="https://lapcatsoftware.com/articles/2025/4/8.html"><p>On macOS 15.2, I was able to drag the exact same downloaded WebP file to TextEdit and BBEdit with no Gatekeeper alert! Thus, it appears that the Reddit poster was correct, and something did change recently.</p><p>[…]</p><p>I perused the unusually long Apple support document <a href="https://support.apple.com/122373">About the security content of macOS Sequoia 15.4</a>, but nothing in there jumped out at me as the probable cause of the Gatekeeper change.</p><p>[…]</p><p>The appearance or nonappearance of Gatekeeper alerts depends entirely on the downloaded file’s extension. I edited the WebP file with a hex editor to make it into a plain text file, but it still triggered a Gatekeeper alert on opening in an app. On the other hand, when I kept the file contents the same, in WebP format, but changed the file extension to <code>.txt</code>, the Gatekeeper alert no longer appeared.</p><p>Overall, this feels like more security theater in macOS.</p><p>[…]</p><p>My test app will open any and every file type without a Gatekeeper alert, as far as I’ve seen, when the <code>CFBundleDocumentTypes</code> has a single entry declaring the generic <code>public.data</code> in its <code>LSItemContentTypes</code>. The Gatekeeper alerts begin when I add a second entry with certain types, such as <code>com.apple.webarchive</code> or <code>public.unix-executable</code>. With just two declarations, one “safe” type such as <code>public.data</code> and one apparently “dangerous” type such as <code>com.apple.webarchive</code>, I see Gatekeeper alerts when trying to open any file, with any extension: <code>.webp</code>, <code>.png</code>, or even <code>.txt</code>.</p></blockquote>
<p>He thinks the change in behavior may be a bug.</p>
<p><a href="https://iosdev.space/@tempelorg/114593481569509436">Thomas Tempelmann</a>:</p>
<blockquote cite="https://iosdev.space/@tempelorg/114593481569509436"><p>The problem (which has been around since macOS 10.0) is that it considers any file without a recognized extension to be an executable instead of being conservative and considering it something less. I always thought that to be a bad assumption. You cannot launch such executables directly from Finder anyway, so what’s the use case for this?</p></blockquote>
<p>Yesterday, I saw a variation on this dialog that was new to me. I was trying to open a compiled nib file with Archaeology, and it said:</p>
<blockquote><p>Apple could not verify “[file].nib” is free of malware that may harm your Mac or compromise your privacy.</p></blockquote>
<p>The only two buttons were <strong>Done</strong> and <strong>Move to Trash</strong>. This is a <em>document</em> file, not executable code, and the only way I could open it was to delete the <code>com.apple.quarantine</code> xattr.</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/09/archaeology-1-3/">Archaeology 1.3</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/31/macos-15-4/">macOS 15.4</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/17/gatekeeper-vs-terminal-and-fileloc-files/">Gatekeeper vs. .terminal and .fileloc Files</a></li>
<li><a href="https://mjtsai.com/blog/2024/09/23/sequoias-spctl-and-csrutil/">Sequoia’s spctl and csrutil</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/05/sequoia-removes-gatekeeper-contextual-menu-override/">Sequoia Removes Gatekeeper Contextual Menu Override</a></li>
<li><a href="https://mjtsai.com/blog/2019/05/06/quarantine-apps-and-documents/">Quarantine: Apps and Documents</a></li>
<li><a href="https://mjtsai.com/blog/2019/04/16/sandboxing-makes-quarantine-flags-almost-meaningless/">Sandboxing Makes Quarantine Flags Almost Meaningless</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/15/gatekeeper-change-in-macos-15-4/feed/</wfw:commentRss>
<slash:comments>4</slash:comments>
</item>
<item>
<title>Google “Acquires” Windsurf</title>
<link>https://mjtsai.com/blog/2025/07/14/google-acquires-windsurf/</link>
<comments>https://mjtsai.com/blog/2025/07/14/google-acquires-windsurf/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 14 Jul 2025 17:43:54 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Acquisition]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[Cognition]]></category>
<category><![CDATA[Developer Tool]]></category>
<category><![CDATA[Google]]></category>
<category><![CDATA[Google Gemini/Bard]]></category>
<category><![CDATA[Microsoft]]></category>
<category><![CDATA[OpenAI]]></category>
<category><![CDATA[Windsurf]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48479</guid>
<description><![CDATA[Katie Roof and Rachel Metz (in May, via Hacker News): OpenAI has agreed to buy Windsurf, an artificial intelligence-assisted coding tool formerly known as Codeium, for about $3 billion, according to people familiar with the matter, marking the ChatGPT maker’s largest acquisition to date. Nickie Louise: Windsurf, founded in 2021 by Varun Mohan and Douglas […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.bloomberg.com/news/articles/2025-05-06/openai-reaches-agreement-to-buy-startup-windsurf-for-3-billion">Katie Roof and Rachel Metz</a> (in May, via <a href="https://news.ycombinator.com/item?id=43900877">Hacker News</a>):</p>
<blockquote cite="https://www.bloomberg.com/news/articles/2025-05-06/openai-reaches-agreement-to-buy-startup-windsurf-for-3-billion">
<p>OpenAI has agreed to buy Windsurf, an artificial intelligence-assisted coding tool formerly known as Codeium, for about $3 billion, according to people familiar with the matter, marking the ChatGPT maker’s largest acquisition to date.</p>
</blockquote>
<p><a href="https://techstartups.com/2025/07/11/openai-windsurf-end-acquisition-talks-over-microsoft-ip-concerns-google-swoops-in/">Nickie Louise</a>:</p>
<blockquote cite="https://techstartups.com/2025/07/11/openai-windsurf-end-acquisition-talks-over-microsoft-ip-concerns-google-swoops-in/"><p>Windsurf, founded in 2021 by Varun Mohan and Douglas Chen, built a loyal developer base with its AI-native coding platform. The company’s flagship product, Windsurf Editor, supports enterprise-grade workflows and enables what co-founder Andrej Karpathy once called “vibe coding”—a kind of low-friction, AI-driven software creation process that’s reshaping how code gets written.</p><p>[…]</p><p>But OpenAI had a problem: Microsoft.</p><p>The tech giant—one of OpenAI’s largest investors with over $13 billion poured in since 2019—has rights to much of OpenAI’s IP under a sweeping 2023 agreement. That includes access to model weights, code, and yes, any IP OpenAI gains through acquisitions. In this case, Windsurf’s technology would fall into Microsoft’s lap by default.</p><p>That didn’t sit well with OpenAI—or Windsurf. Mohan reportedly made it clear he didn’t want Microsoft anywhere near the startup’s tech, given GitHub Copilot’s position as a direct competitor.</p></blockquote>
<p><a href="https://www.theverge.com/openai/705999/google-windsurf-ceo-openai">Hayden Field</a> (via <a href="https://news.ycombinator.com/item?id=44536988">Hacker News</a>):</p>
<blockquote cite="https://www.theverge.com/openai/705999/google-windsurf-ceo-openai"><p>OpenAI’s deal to buy Windsurf is off, and Google will instead hire Windsurf CEO Varun Mohan, cofounder Douglas Chen, and some of Windsurf’s R&D employees and bring them onto the Google DeepMind team, Google and Windsurf announced Friday.</p><p>Mohan and the Windsurf employees will focus on agentic coding efforts at Google DeepMind and work largely on Gemini. Google will not have any control over nor a stake in Windsurf, but it will take a non-exclusive license to some of Windsurf’s technology.</p></blockquote>
<p><a href="https://x.com/pitdesi/status/1943807284100141476">Sheel Mohnot</a>:</p>
<blockquote cite="https://x.com/pitdesi/status/1943807284100141476">
<p>One oddity of prediction markets: the fine print matters.</p>
<p>Polymarket had a contract on whether OpenAI would acquire Windsurf before August. They didn’t, but they announced an acquisition, so the market still resolved as “yes.”</p>
</blockquote>
<p><a href="https://x.com/davegpack/status/1944054325959176239">Dave Pack</a> (via <a href="https://mas.to/@carnage4life/114843983419694788">Dare Obasanjo</a>):</p>
<blockquote cite="https://x.com/davegpack/status/1944054325959176239">
<p>Talked to a senior employee at windsurf and current employees are getting no pay out and are left with shell of a company to “run”. All the cash is going to founders and preferred equity holders.</p>
</blockquote>
<p>See also: <a href="https://x.com/haridigresses/status/1944166580172337335">Hari Raghavan</a>.</p>
<p><a href="https://x.com/balajis/status/1944586856806633792">Balaji Srinivasan</a>:</p>
<blockquote cite="https://x.com/balajis/status/1944586856806633792"><p>After looking into this, I think the original intent was for that $100M+ cash balance to indeed be used to give employee distributions via a dividend. It corresponds very closely to the unvested equity number.</p><p>But due to the legal overhead that attends any Big Tech acquisition nowadays, the founder was muzzled and couldn’t <em>say</em> this outright. He could only say “dividending out the balance is an option.”</p><p>So: the remaining Windsurf shareholders can take that option, dividend out the $100M to employees, and then choose to shut down the company. The outcome is then similar to an acquisition.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/10/nvidias-market-cap/">Nvidia’s Market Cap</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/27/claude-code-experience/">Claude Code Experience</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/27/openai-codex/">OpenAI Codex</a></li>
<li><a href="https://mjtsai.com/blog/2025/03/21/vibe-coding/">Vibe Coding</a></li>
<li><a href="https://mjtsai.com/blog/2024/11/04/how-to-use-cursor-for-ios-development/">How to Use Cursor for iOS Development</a></li>
</ul>
<p id="google-acquires-windsurf-update-2025-07-15">Update (<a href="#google-acquires-windsurf-update-2025-07-15">2025-07-15</a>): <a href="https://www.cnbc.com/2025/07/14/cognition-to-buy-ai-startup-windsurf-days-after-google-poached-ceo.html">Ashley Capoot</a> (<a href="https://news.ycombinator.com/item?id=44563324">Hacker News</a>):</p>
<blockquote cite="https://www.cnbc.com/2025/07/14/cognition-to-buy-ai-startup-windsurf-days-after-google-poached-ceo.html"><p>Artificial intelligence startup Cognition <a href="https://cognition.ai/blog/windsurf">announced</a> it’s acquiring Windsurf, the AI coding company that lost its CEO and several other senior employees to Google
just days earlier.</p><p>Cognition said on Monday that it will purchase Windsurf’s intellectual property, product, trademark, brand and talent, but didn’t disclose terms of the deal.</p><p>[…]</p><p>Cognition is best known for its AI coding agent named Devin, which is designed to help engineers build software faster. As of March, the startup had raised hundreds of millions of dollars at a valuation of close to $4 billion, according to a report from <a href="https://www.bloomberg.com/news/articles/2025-03-18/cognition-ai-hits-4-billion-valuation-in-deal-led-by-lonsdale-s-firm?embedded-checkout=true">Bloomberg</a>.</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/14/google-acquires-windsurf/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>The Iconfactory vs. AI</title>
<link>https://mjtsai.com/blog/2025/07/14/the-iconfactory-vs-ai/</link>
<comments>https://mjtsai.com/blog/2025/07/14/the-iconfactory-vs-ai/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 14 Jul 2025 17:43:49 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[ChatGPT]]></category>
<category><![CDATA[Design]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 26]]></category>
<category><![CDATA[Liquid Glass]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48477</guid>
<description><![CDATA[Sean Heber: ChatGPT and other AI services are basically killing @Iconfactory and I’m not exaggerating or being hyperbolical.First Twitter/Elon killed our main app revenue that kept the lights on around here, then generative AI exploded to land a final blow to design revenue. Pieter Omvlee: They’ve been such a staple of the Mac indie scene […]]]></description>
<content:encoded><![CDATA[<p><a href="https://mastodon.social/@bigzaphod/114835025353921777">Sean Heber</a>:</p>
<blockquote cite="https://mastodon.social/@bigzaphod/114835025353921777"><p>ChatGPT and other AI services are basically killing @Iconfactory and I’m not exaggerating or being hyperbolical.</p><p>First Twitter/Elon killed our main app revenue that kept the lights on around here, then generative AI exploded to land a final blow to design revenue.</p></blockquote>
<p><a href="https://mastodon.social/@pieteromvlee/114838522902439776">Pieter Omvlee</a>:</p>
<blockquote cite="https://mastodon.social/@pieteromvlee/114838522902439776">
<p>They’ve been such a staple of the Mac indie scene that I can’t imagine them going away. At Sketch we do all our design in-house but if we weren’t, they’d have been the first at who’s doors I’d be knocking.</p>
</blockquote>
<p>I would have assumed they’d be booked solid this summer, with all the design work necessitated by Apple’s announcement of Liquid Glass. I’m sorry to hear that’s not the case. If you need your icons refreshed for the 26 cycle, here’s your chance to work with some of the best designers in the business.</p>
<p><a href="https://schwarztech.net/snippets/hire-iconfactory-because-ai-art-sucks">Eric Schwarz</a>:</p>
<blockquote cite="https://schwarztech.net/snippets/hire-iconfactory-because-ai-art-sucks">
<p>I think what’s especially disheartening and frustrating is that AI-generated “design” is taking over and seen by bean counters as “good enough” even though it lacks humanity and skill. Anyone with an eye for detail will notice flaws or an uncanniness, no matter how “perfect” it is.</p>
</blockquote>
<p><a href="https://mastodon.social/@ctietze/114849771230163722">Christian Tietze</a>:</p>
<blockquote cite="https://mastodon.social/@ctietze/114849771230163722"><p>In preparation of macOS Tahoe, is a design resistance movement on the horizon?</p><p>Like, I don’t want to be part of the “icon jail evasion. Can we play within the jail?</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/23/icon-composer-notes/">Icon Composer Notes</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/19/macos-tahoes-new-theming-system/">macOS Tahoe’s New Theming System</a></li>
<li><a href="https://mjtsai.com/blog/2025/02/05/tapestry-1-0/">Tapestry 1.0</a></li>
<li><a href="https://mjtsai.com/blog/2023/01/20/twitter-makes-it-official/">Twitter Makes It Official</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/14/the-iconfactory-vs-ai/feed/</wfw:commentRss>
<slash:comments>5</slash:comments>
</item>
<item>
<title>LisaGUI</title>
<link>https://mjtsai.com/blog/2025/07/14/lisagui/</link>
<comments>https://mjtsai.com/blog/2025/07/14/lisagui/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 14 Jul 2025 17:43:45 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[History]]></category>
<category><![CDATA[JavaScript]]></category>
<category><![CDATA[Lisa]]></category>
<category><![CDATA[Web]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48475</guid>
<description><![CDATA[Andrew Yaros (via Marcus Mendes, Hacker News): LisaGUI is a “web OS” - a website that mimics the look, feel, and functionality of an operating system. More bluntly, it’s a giant JavaScript program which fully recreates the Apple Lisa’s user interface from scratch (to the best of my ability). The Lisa was Apple’s first computer […]]]></description>
<content:encoded><![CDATA[<p><a href="https://lisagui.com/info.html">Andrew Yaros</a> (via <a href="https://9to5mac.com/2025/07/08/this-browser-based-apple-lisa-simulator-takes-you-back-to-1983/">Marcus Mendes</a>, <a href="https://news.ycombinator.com/item?id=44482965">Hacker News</a>):</p>
<blockquote cite="https://lisagui.com/info.html"><p>LisaGUI is a “web OS” - a website that mimics the look, feel, and functionality of an operating system. More bluntly, it’s a giant JavaScript program which fully recreates the Apple Lisa’s user interface from scratch (to the best of my ability). The Lisa was Apple’s first computer with a graphical user interface (known as the Lisa Office System, or “LOS”).</p><p>[…]</p><p>Aside from Gulp.js, which I use as a simple build tool to produce a minified JS file, no third party libraries or frameworks are utilized. LisaGUI contains no code from the Lisa Office System’s source code (or any code written by Apple), and doesn’t utilize any component of any emulator, like LisaEm or IDLE.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/05/09/the-macintosh-repository/">The Macintosh Repository</a></li>
<li><a href="https://mjtsai.com/blog/2022/04/26/infinite-mac/">Infinite Mac</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/14/lisagui/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Covert Web-to-App Tracking via Localhost on Android</title>
<link>https://mjtsai.com/blog/2025/07/14/covert-web-to-app-tracking-via-localhost-on-android/</link>
<comments>https://mjtsai.com/blog/2025/07/14/covert-web-to-app-tracking-via-localhost-on-android/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Mon, 14 Jul 2025 17:43:37 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Android]]></category>
<category><![CDATA[Digital Markets Act (DMA)]]></category>
<category><![CDATA[Exploit]]></category>
<category><![CDATA[Facebook]]></category>
<category><![CDATA[GDPR]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[Meta]]></category>
<category><![CDATA[Privacy]]></category>
<category><![CDATA[Yandex]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48473</guid>
<description><![CDATA[Local Mess (via Dan Goodin): We disclose a novel tracking method by Meta and Yandex potentially affecting billions of Android users. We found that native Android apps—including Facebook, Instagram, and several Yandex apps including Maps and Browser—silently listen on fixed local ports for tracking purposes. These native Android apps receive browsers’ metadata, cookies and commands […]]]></description>
<content:encoded><![CDATA[<p><a href="https://localmess.github.io/">Local Mess</a> (via <a href="https://arstechnica.com/security/2025/06/meta-and-yandex-are-de-anonymizing-android-users-web-browsing-identifiers/">Dan Goodin</a>):</p>
<blockquote cite="https://localmess.github.io/"><p>We disclose a novel tracking method by Meta and Yandex potentially affecting billions of Android users. We found that native Android apps—including <strong>Facebook, Instagram</strong>, and several <strong>Yandex apps including Maps and Browser—silently listen on fixed local ports</strong> for tracking purposes. </p><p>These native Android apps receive browsers’ metadata, cookies and commands from the Meta Pixel and Yandex Metrica scripts embedded on thousands of web sites. These JavaScripts load on users’ mobile browsers and silently connect with native apps running on the same device through localhost sockets. As native apps access programatically device identifiers like the <a href="https://support.google.com/googleplay/android-developer/answer/6048248">Android Advertising ID (AAID)</a> or handle user identities as in the case of Meta apps, this method effectively allows these organizations to <strong>link mobile browsing sessions and web cookies to user identities</strong>, hence de-anonymizing users’ visiting sites embedding their scripts.</p><p>This web-to-app ID sharing method bypasses typical privacy protections such as clearing cookies, Incognito Mode and Android’s permission controls. Worse, it opens the door for potentially malicious apps eavesdropping on users’ web activity.</p></blockquote>
<p><a href="https://www.zeropartydata.es/p/localhost-tracking-explained-it-could">Jorge García Herrero</a> (via <a href="https://news.ycombinator.com/item?id=44235467">Hacker News</a>):</p>
<blockquote cite="https://www.zeropartydata.es/p/localhost-tracking-explained-it-could">
<p>Meta faces simultaneous liability under the following regulations, listed from least to most severe: GDPR, DSA, and DMA (I’m not even including the ePrivacy Directive because it’s laughable).</p>
<p>[…]</p>
<p>The Pixel script in your browser tries to send information to the Facebook/Instagram app that’s “listening” in the background.</p><p>It uses a technique called WebRTC, normally used for voice or video calls (like Zoom or Google Meet), but here it’s being used to secretly transmit data between the browser and the app.</p><p>Additionally, a technical trick called “SDP Munging” allows the browser to insert data (like the _fbp cookie identifier) into the WebRTC “initial handshake” message.</p>
</blockquote>
<p><a href="https://daringfireball.net/linked/2025/06/04/meta-yandex-android-deanonymizing-web-ids">John Gruber</a>:</p>
<blockquote cite="https://daringfireball.net/linked/2025/06/04/meta-yandex-android-deanonymizing-web-ids">
<p>What they’ve done here may not have broken any laws, but there certainly should be laws against it. And in terms of simple common sense, the entire elaborate scheme <em>only</em> exists to circumvent features in Android meant to <em>prevent</em> native apps from tracking you while you use your web browser.</p>
</blockquote>
<p><a href="https://pxlnv.com/linklog/meta-yandex-port-tracking/">Nick Heer</a>:</p>
<blockquote cite="https://pxlnv.com/linklog/meta-yandex-port-tracking/">
<p>The difference between targeted advertising and spyware is there is no difference.</p>
<p>After Girish, et al., disclosed this behaviour, Meta’s apps ceased tracking users with this method, and Goodin said Yandex will also stop.</p>
</blockquote>
<p><a href="https://daringfireball.net/linked/2025/06/04/meta-and-yandexs-local-mess-exploit-seemingly-only-works-on-android">John Gruber</a>:</p>
<blockquote cite="https://daringfireball.net/linked/2025/06/04/meta-and-yandexs-local-mess-exploit-seemingly-only-works-on-android">
<p>I’ll note that among the so-called <a href="https://daringfireball.net/2025/06/apple_appeals_eu_interop_requirements">“interoperability” requirements the European Commission is demanding of iOS</a> is for third-party apps to run, unfettered, in the background, because some of Apple’s own first-party software obviously runs in the background.</p>
</blockquote>
<p>I think the problem is the IPC, not the running in the background. The user should have control over whether apps can open up ports for listening and whether Web sites can connect to 127.0.0.1.</p>
<blockquote cite="https://daringfireball.net/linked/2025/06/04/meta-and-yandexs-local-mess-exploit-seemingly-only-works-on-android">
<p>Every one of the sites that includes these tracking scripts is complicit to some extent in the theft of hundreds of millions of Android users’ web browsing privacy.</p>
</blockquote>
<p><a href="https://mastodon.social/@andrewabernathy/114626876735819185">Andrew Abernathy</a>:</p>
<blockquote cite="https://mastodon.social/@andrewabernathy/114626876735819185">
<p>This sort of bullshit is why I use the web instead of native apps from Meta/Facebook/Instagram.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/04/24/careless-people/">Careless People</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/14/covert-web-to-app-tracking-via-localhost-on-android/feed/</wfw:commentRss>
<slash:comments>10</slash:comments>
</item>
<item>
<title>Apple vs. the Law</title>
<link>https://mjtsai.com/blog/2025/07/11/apple-vs-the-law/</link>
<comments>https://mjtsai.com/blog/2025/07/11/apple-vs-the-law/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 11 Jul 2025 19:26:03 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Antitrust]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Digital Markets Act (DMA)]]></category>
<category><![CDATA[European Union]]></category>
<category><![CDATA[iCloud Photo Library]]></category>
<category><![CDATA[iOS]]></category>
<category><![CDATA[iOS 18]]></category>
<category><![CDATA[iPadOS]]></category>
<category><![CDATA[iPadOS 18]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48461</guid>
<description><![CDATA[James Heppell (via Hacker News): A week ago today I had the pleasure of attending both the Apple and Google DMA compliance workshops in Brussels. More detailed articles on the questions and answers, technical and legal analysis etc will be published over at the OWA blog, where we’ve just done the first write-up on the […]]]></description>
<content:encoded><![CDATA[<p><a href="https://formularsumo.co.uk/blog/2025/apple-vs-the-law/">James Heppell</a> (via <a href="https://news.ycombinator.com/item?id=44529061">Hacker News</a>):</p>
<blockquote cite="https://formularsumo.co.uk/blog/2025/apple-vs-the-law/"><p>A week ago today I had the pleasure of attending both the <a href="https://webcast.ec.europa.eu/2nd-dma-enforcement-workshop-apple-update-on-first-year-of-dma-compliance-2025-06-30">Apple</a> and <a href="https://webcast.ec.europa.eu/2nd-dma-enforcement-workshop-alphabet-update-on-first-year-of-dma-compliance-2025-07-01">Google</a> DMA compliance workshops in Brussels. More detailed articles on the questions and answers, technical and legal analysis etc will be published over at the OWA blog, where we’ve just done the <a href="https://open-web-advocacy.org/blog/googles-hotseat-hypocrisy/">first write-up on the Google part</a>. Here though I’d like to focus more on my own experience and personal opinions, and how I feel about some of the gatekeepers’ approach to the law…</p><p>[…]</p><p>John and I asked a couple questions on Apple’s process, specifically on why the absolute best tracker system they could come up with in ~6 months was a link to a static, once-a-week-updated PDF, hidden behind an Apple developer account. They assured us it was all that they could do in time to meet the EC’s specification, ignoring the part asking why they didn’t simply use GitHub or Bugzilla like in their other projects.</p><p>[…]</p><p>Roderick asked about Apple’s absurd requirement that anyone who wants to ship their own browser engine has to release it as a new app, and so re-acquire all their users. Mike from <a href="https://www.opendigitalecosystems.org/">CODE</a> (Coalition for Open Digital Ecosystems - 13 members including Google, Opera, Qualcomm, Meta) asked why Apple doesn’t provide a system prompt to switch default browsers, and why they’ve placed so many <a href="https://open-web-advocacy.org/blog/apple-implements-six-of-owas-dma-compliance-requests/#other-problems">onerous contractual requirements</a> around launching an alternative engine.</p><p>[…]</p><p>The TLDR is users with “Age Restrictions” parental controls (11-15% of EU users) can only use Safari. All browsers - including Safari - get a 17+ rating on iOS. Which makes no sense, as the separate “Web Content Restrictions” manages <em>all</em> web content on iOS. […] I followed up asking Apple why they don’t allow web developers outside the EU to test 3rd party browser engines on iOS, bringing up their own point that EU iOS will “experience unique vulnerabilities and bugs”, and so it’s crucial that all web devs serving EU users can test the browser engines currently unique to it, to not put them and their users at a disadvantage compared to Safari.</p></blockquote>
<p>Apple apparently accused multiple groups who have nothing to do with Spotify of receiving funding from them.</p>
<blockquote cite="https://formularsumo.co.uk/blog/2025/apple-vs-the-law/"><p>Something which was very hypocritical of Apple is that, despite making <em>a lot</em> of noise about some of their competitors being in the room, and insisting on all questions having a person and organisation, there were a lot of people attending who were paid to be there by Apple. Last year the EC did an investigation into this after the workshop, found there were a lot of hidden links, and so said that this year everybody had to disclose if a gatekeeper or other relevant party funded them. Unfortunately though it wasn’t always enforced. The most notable example of a pro-Apple group was the <a href="https://actonline.org/">App Association</a></p><p>[…]</p><p>John brought up data portability, how Apple Photos doesn’t do proper photo export - except with Google Photos, and how it doesn’t allow users to choose which cloud provider they want to store their data with.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/06/27/eu-app-store-tiers-and-core-technology-commission/">EU App Store Tiers and Core Technology Commission</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/05/apple-appeals-eu-digital-markets-act-interoperability-rules/">Apple Appeals EU Digital Markets Act Interoperability Rules</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/14/critical-warning-for-external-purchases-in-app-store/">Critical Warning for External Purchases in App Store</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/01/court-orders-apply-to-comply-with-anti-steering-injunction/">Court Orders Apple to Comply With Anti-Steering Injunction</a></li>
<li><a href="https://mjtsai.com/blog/2025/04/23/eu-fines-apple-and-meta-over-dma-violations/">EU Fines Apple and Meta Over DMA Violations</a></li>
<li><a href="https://mjtsai.com/blog/2024/09/10/apple-denies-evidence-of-hiding-browser-choice-setting/">Apple Denies Evidence of Hiding Browser Choice Setting</a></li>
<li><a href="https://mjtsai.com/blog/2024/08/22/ios-18-browser-choice-and-default-app-controls-in-eu/">iOS 18: Browser Choice and Default App Controls in EU</a></li>
<li><a href="https://mjtsai.com/blog/2024/04/30/ipados-also-a-digital-gatekeeper-in-eu/">iPadOS Also a Digital Gatekeeper in EU</a></li>
<li><a href="https://mjtsai.com/blog/2024/02/09/ios-17-4-changes-pwas-to-shortcuts-in-eu/">iOS 17.4 Changes PWAs to Shortcuts in EU</a></li>
<li><a href="https://mjtsai.com/blog/2024/01/26/dma-compliance-alternative-browser-engines/">DMA Compliance: Alternative Browser Engines</a></li>
<li><a href="https://mjtsai.com/blog/2023/09/06/dma-gatekeepers-designated/">DMA Gatekeepers Designated</a></li>
<li><a href="https://mjtsai.com/blog/2022/09/19/funding-the-app-association-act/">Funding The App Association (ACT)</a></li>
<li><a href="https://mjtsai.com/blog/2022/03/04/open-web-advocacy/">Open Web Advocacy</a></li>
<li><a href="https://mjtsai.com/blog/2021/03/09/transferring-icloud-photos/">Transferring iCloud Photos</a></li>
</ul>
<p id="apple-vs-the-law-update-2025-07-14">Update (<a href="#apple-vs-the-law-update-2025-07-14">2025-07-14</a>): <a href="https://news.ycombinator.com/item?id=44532192">Saagar Jha</a> (via <a href="https://mastodon.social/@lapcatsoftware/114837134292415826">Jeff Johnson</a>):</p>
<blockquote cite="https://news.ycombinator.com/item?id=44532192"><p>I attended the workshop remotely (one of my questions is in the recording, if you watched it) and IMO it was mostly a waste of time. I didn’t even stick around past the App Store section. Partly because it was daytime CEST but mostly because the format was awful. Apple would spend half the time talking about how the EU was forcing them to make their OS worse and then the EC thought it was a good idea to make Q&A a batched thing so Apple could just talk for five minutes about none of the questions instead of actually being forced to answer anything. I was thinking the EC would ask questions like why nobody actually used the provisions that Apple so generously provided third party developers (obviously, because Apple designed them to be unworkable) but they mostly just stayed silent and let the Apple lawyers talk the entire time :(</p></blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/11/apple-vs-the-law/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Using “tmutil associatedisk” With APFS Destinations</title>
<link>https://mjtsai.com/blog/2025/07/11/update-2025-07-21/</link>
<comments>https://mjtsai.com/blog/2025/07/11/update-2025-07-21/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 11 Jul 2025 19:24:23 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple File System (APFS)]]></category>
<category><![CDATA[Backup]]></category>
<category><![CDATA[Bug]]></category>
<category><![CDATA[Datacide]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[Solid-State Drive (SSD)]]></category>
<category><![CDATA[Storage]]></category>
<category><![CDATA[Time Machine]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48458</guid>
<description><![CDATA[I recently got a new SSD on Prime Day to replace one of my main hard drives. As this drive was included in Time Machine, I wanted the SSD to “adopt” the hard drive’s backup history. This way I could avoid recopying lots of data that was already backed up, which would also require pruning […]]]></description>
<content:encoded><![CDATA[<p>I recently got a new SSD on Prime Day to replace one of my main hard drives. As this drive was included in Time Machine, I wanted the SSD to “adopt” the hard drive’s backup history. This way I could avoid recopying lots of data that was already backed up, which would also require pruning older snapshots.</p>
<p>When you get a new Mac and want to adopt the old Time Machine backup, you want <code><a href="https://keith.github.io/xcode-man-pages/tmutil.8.html#inheritbackup">tmutil inheritbackup</a></code>. When you keep the same Mac but get a new source drive, you want <code><a href="https://keith.github.io/xcode-man-pages/tmutil.8.html#associatedisk">tmutil associatedisk</a></code>.</p>
<p>The command is documented as:</p>
<pre>tmutil associatedisk [-a] <em>mount_point</em> <em>snapshot_volume</em></pre>
<p>The <tt>-a</tt> tells it to find all the snapshots for that volume on the destination, not just the specific one that you pointed it to.</p>
<p><em>mount_point</em> is just the source volume’s path (in <tt>/Volumes</tt>, not the device path).</p>
<p><em>snapshot_volume</em> is the destination within your Time Machine backup. The example shows this as being within the <tt>Backups.backupdb</tt> folder, but there’s no such folder when using an APFS destination. My first thought was to drag the latest snapshot from Finder into Terminal:</p>
<pre>sudo tmutil associatedisk -a /Volumes/Aux /Volumes/.timemachine/C2E8322E-A7EA-44F8-904F-3232671E1412/2025-07-11-091237.backup/2025-07-11-091237.backup/Aux</pre>
<p>This does <em>not</em> work. Instead, you need to find the path using Terminal:</p>
<pre>sudo tmutil associatedisk /Volumes/Aux /Volumes/TM\ 7/2025-07-11-091237.previous/Aux</pre>
<p>It’s <a href="https://apple.stackexchange.com/questions/469356/tmutil-associatedisk-on-macos-sonoma-volume-mount-point-and-volume-path">important</a> not to have any trailing slashes. And, also, it will fail if you use <code>-a</code> with an APFS destination. But I guess that’s OK because there’s only one <code>.previous</code> folder to point it at, anyway, and APFS itself should know the chain of parent snapshots…</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/10/22/time-machine-in-sequoia/">Time Machine in Sequoia</a></li>
<li><a href="https://mjtsai.com/blog/2022/05/18/time-machine-evolution-and-apfs/">Time Machine Evolution and APFS</a></li>
</ul>
<p id="using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-15">Update (<a href="#using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-15">2025-07-15</a>): <code>associatedisk</code> worked with one of my drives. However, with another one, it didn’t. I first thought it was working because the amount of data copied and the estimated percent remaining looked right, but it ended up recopying all of the data, and deleting all my old snapshots in order to do that. In the end, the backup failed, as has happened to me with several other APFS Time Machine backups recently. It claimed there wasn’t enough space even though all the snapshots had been pruned and the destination drive was almost twice as large as the sources.</p>
<p id="using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-21">Update (<a href="#using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-21">2025-07-21</a>): I rotated backups and again did <code>associatedisk</code>, but again the incremental backup took much longer and copied much more than expected. <code>fs_usage</code> showed that it was indeed copying files from the old drive, and it looks to me like they hadn’t actually changed. At this point, I doubt that <code>associatedisk</code> actually works.</p>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/11/update-2025-07-21/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>macOS Tahoe’s Folder Icon Customization</title>
<link>https://mjtsai.com/blog/2025/07/11/macos-tahoes-folder-icon-customization/</link>
<comments>https://mjtsai.com/blog/2025/07/11/macos-tahoes-folder-icon-customization/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 11 Jul 2025 19:23:45 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Emoji]]></category>
<category><![CDATA[Extended Attributes]]></category>
<category><![CDATA[Icons]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[SF Symbols]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48456</guid>
<description><![CDATA[William Gallagher: It’s not like it’s going to take you long, since there are just two elements to this: Changing a folder’s colorAdding either an icon or an emoji to the folderIn this case, icons and emoji don’t sound all that different — whichever you choose, you end up with a symbol appearing on the […]]]></description>
<content:encoded><![CDATA[<p><a href="https://appleinsider.com/inside/macos-tahoe/tips/how-folder-emoji-customization-works-in-macos-tahoe">William Gallagher</a>:</p>
<blockquote cite="https://appleinsider.com/inside/macos-tahoe/tips/how-folder-emoji-customization-works-in-macos-tahoe"><p>It’s not like it’s going to take you long, since there are just two elements to this:
</p><ul><li>Changing a folder’s color</li><li>Adding either an icon or an emoji to the folder</li></ul><p>In this case, icons and emoji don’t sound all that different — whichever you choose, you end up with a symbol appearing on the folder. But there are differences, and at the least, having a choice of both gives you scope to go crazy with customizing everything.
</p></blockquote>
<p><a href="https://x.com/samhenrigold/status/1943054412345143593">Sam Henri Gold</a>:</p>
<blockquote cite="https://x.com/samhenrigold/status/1943054412345143593">
<p>Figured out how to apply any arbitrary SF Symbol to a folder in Tahoe.</p>
<pre>xattr -w 'com.apple.icon.folder#S' '{"sym":"camera.viewfinder"}' some/folder/here</pre>
</blockquote>
<p>This also works with <a href="https://x.com/samhenrigold/status/1773118887791313114">private symbol names</a>.</p>
<blockquote cite="https://x.com/samhenrigold/status/1943054412345143593">
<p>also because emoji labels are just handled as strings, you can put anything in the emoji config thing.</p>
</blockquote>
<p>For example:</p>
<pre>xattr -w 'com.apple.icon.folder#S' '{"emoji":"HIMOM"}' some/folder/here</pre>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/07/macos-tahoe-26-developer-beta-3/">macOS Tahoe 26 Developer Beta 3</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/19/macos-tahoes-new-theming-system/">macOS Tahoe’s New Theming System</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/11/macos-tahoes-folder-icon-customization/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Apple Wins Dismissal in Payments Conspiracy Lawsuit</title>
<link>https://mjtsai.com/blog/2025/07/11/apple-wins-dismissal-in-payments-conspiracy-lawsuit/</link>
<comments>https://mjtsai.com/blog/2025/07/11/apple-wins-dismissal-in-payments-conspiracy-lawsuit/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Fri, 11 Jul 2025 19:20:58 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Apple Pay]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[Lawsuit]]></category>
<category><![CDATA[Legal]]></category>
<category><![CDATA[Payments]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48452</guid>
<description><![CDATA[Hartley Charlton: Apple has successfully secured the dismissal of a federal lawsuit accusing it of conspiring with Visa and Mastercard to suppress competition in the payments network industry and inflate merchant transaction fees (via Reuters).[…]The plaintiffs claimed that Visa and Mastercard made ongoing payments to Apple, described as “a very large and ongoing cash bribe,” […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macrumors.com/2025/07/11/apple-wins-dismissal-in-payments-lawsuit/">Hartley Charlton</a>:</p>
<blockquote cite="https://www.macrumors.com/2025/07/11/apple-wins-dismissal-in-payments-lawsuit/"><p>Apple has successfully secured the dismissal of a federal lawsuit accusing it of conspiring with Visa and Mastercard to suppress competition in the payments network industry and inflate merchant transaction fees (via <em><a href="https://www.reuters.com/legal/transactional/apple-visa-mastercard-win-dismissal-merchant-antitrust-lawsuit-over-payment-fees-2025-07-10/">Reuters</a></em>).</p><p>[…]</p><p>The plaintiffs claimed that Visa and Mastercard made ongoing payments to Apple, described as “a very large and ongoing cash bribe,” to ensure Apple would not build its own rival payment network.</p><p>[…]</p><p>The court concluded that the plaintiffs had failed to provide sufficient factual allegations to support their claims, saying that they were largely circumstantial and speculative. The judge noted that Apple’s existing agreements with Visa and Mastercard included language that explicitly preserved Apple’s right to compete with them.</p></blockquote>
<p>I’ve thought all along that the 0.15% is a really sweet deal for Apple. As far as I’m aware, Google Wallet gets 0%. Of course they wouldn’t put the no-compete stuff in writing, just as the Safari agreement with Google doesn’t specifically prohibit Apple developing its own search engine. In both cases, it probably doesn’t make sense for Apple to do it, and they’re getting paid—one oligopoly to another—for the status quo, so why bother?</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/04/dojs-iphone-monopoly-case-moves-forward/">DOJ’s iPhone Monopoly Case Moves Forward</a></li>
<li><a href="https://mjtsai.com/blog/2025/07/01/brazil-recommends-sanctions-for-apple-over-app-store-and-nfc-rules/">Brazil Recommends Sanctions for Apple Over App Store and NFC Rules</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/13/ios-18-5-and-ipados-18-5/">iOS 18.5 and iPadOS 18.5</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/06/paypal-contactless-iphone-payments/">PayPal Contactless iPhone Payments</a></li>
<li><a href="https://mjtsai.com/blog/2024/12/27/apple-to-defend-google-revenue-sharing-agreement/">Apple to Defend Google Revenue Sharing Agreement</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/25/apple-commits-to-opening-nfc-in-eu/">Apple Commits to Opening NFC in EU</a></li>
<li><a href="https://mjtsai.com/blog/2024/03/25/digital-wallets-and-the-only-apple-pay-does-this-mythology/">Digital Wallets and the “Only Apple Pay Does This” Mythology</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/11/apple-wins-dismissal-in-payments-conspiracy-lawsuit/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Almost Fired for Color Picker Poetry</title>
<link>https://mjtsai.com/blog/2025/07/10/almost-fired-for-color-picker-poetry/</link>
<comments>https://mjtsai.com/blog/2025/07/10/almost-fired-for-color-picker-poetry/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 10 Jul 2025 18:27:44 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Apple]]></category>
<category><![CDATA[Color]]></category>
<category><![CDATA[Copyright]]></category>
<category><![CDATA[Easter Eggs]]></category>
<category><![CDATA[Firing]]></category>
<category><![CDATA[History]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[System 7]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48442</guid>
<description><![CDATA[John Calhoun: It was frankly a thing I liked about working for Apple in those days. The engineers were the one’s driving the ship. As I said, I wrote an HSV picker because it was, I thought, a more intuitive color space for artists. I wrote the HTML color picker because of the advent of […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.engineersneedart.com/blog/almostfired/almostfired.html">John Calhoun</a>:</p>
<blockquote cite="https://www.engineersneedart.com/blog/almostfired/almostfired.html">
<p>It was frankly a thing I liked about working for Apple in those days. The engineers were the one’s driving the ship. As I said, I wrote an HSV picker
because it was, I thought, a more intuitive color space for artists. I wrote the HTML color picker because of the advent of the web. And I wrote the
crayon picker because it seemed to me to be the kind of thing Apple was all about: HSL, RGB — these were kind of nerdy color spaces — a box of crayons
is how <i>the rest of us</i> picked colors.</p>
<p>[…]</p>
<p>And it turned out, to my surprise, Apple shipped all the color pickers. No marketing or design person ever asked for them. But we, engineers,
were not only programmers, we were also <i>users</i> and often had an intuitive sense of what other Macintosh users wanted. We knew what
<i>we</i> wanted anyway. I was creating the things I would have wanted.</p>
<p>[…]</p>
<p>It seemed like a humble and discreet Easter egg. I mistakenly assumed the poem was in the public domain but, regardless, a single stanza would seem to me to be “fair use”. Still, it should have been obvious to me that Apple Computer Inc. was going to be very much copyright-violation averse.</p>
<p>[…]</p>
<p>A few other Easter eggs that had nothing to do with intellectual property rights were in the color pickers as well. In time, the crayons in the crayon color picker would appear worn down or broken. This had no effect on the functionality of the color picker but was kind of … cute? I believe the crayons were all restored though on Christmas Day (a new box of crayons!).</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/10/almost-fired-for-color-picker-poetry/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Mac Automation With a Tiny Game Controller</title>
<link>https://mjtsai.com/blog/2025/07/10/mac-automation-with-a-tiny-game-controller/</link>
<comments>https://mjtsai.com/blog/2025/07/10/mac-automation-with-a-tiny-game-controller/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 10 Jul 2025 18:27:42 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Bluetooth]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Karabiner-Elements]]></category>
<category><![CDATA[Keyboard Shortcuts]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48440</guid>
<description><![CDATA[John Voorhees: I never expected my game controller obsession to pay automation dividends, but it did last week in the form of the tiny 16-button 8BitDo Micro. For the past week, I’ve used the Micro to dictate on my Mac, interact with AI chatbots, and record and edit podcasts. While the setup won’t replace a […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.macstories.net/stories/my-latest-mac-automation-tool-is-a-tiny-game-controller/">John Voorhees</a>:</p>
<blockquote cite="https://www.macstories.net/stories/my-latest-mac-automation-tool-is-a-tiny-game-controller/"><p>I never expected my game controller obsession to pay automation dividends, but it did last week in the form of the tiny 16-button <a href="https://amzn.to/4lp2qWr">8BitDo Micro</a>. For the past week, I’ve used the Micro to dictate on my Mac, interact with AI chatbots, and record and edit podcasts. While the setup won’t replace a <a href="https://amzn.to/4eyVd3o">Stream Deck</a> or <a href="https://amzn.to/44EdEPT">Logitech Creative Console</a> for every use case, it excels in areas where those devices don’t because it fits comfortably in the palm of your hand and costs a fraction of those other devices.</p><p>[…]</p><p>As I suspected, the 8BitDo Micro works just as well with any app that supports keyboard shortcuts as it does with Anki. What’s curious, though, is that even though medical students have been using the Micro and Zero 2 with Anki for several years and 8BitDo’s website includes a marketing image of someone using the Micro with <a href="https://www.clipstudio.net">Clip Studio Paint</a> on an iPad, word of the Micro’s automation capabilities hasn’t spread much. That’s something I’d like to help change.</p><p>[…]</p><p>The buttons on 8BitDo’s controllers can be remapped, like on many others. <a href="https://apps.apple.com/us/app/8bitdo-ultimate-software/id1532713768">8BitDo’s free Ultimate Controller app</a>, which is available on the App Store for the iPhone, iPad, and Mac, can remap every button on the Micro. The Micro doesn’t have thumbsticks, but it does have a D-pad; A, B, X, and Y buttons; four other face buttons; and L, R, L2, and R2 buttons. That makes for a total of 16 programmable buttons, an impressive number for such a tiny device.</p></blockquote>
<p id="mac-automation-with-a-tiny-game-controller-update-2025-07-11">Update (<a href="#mac-automation-with-a-tiny-game-controller-update-2025-07-11">2025-07-11</a>): <a href="https://blog.gingerbeardman.com/2023/12/23/using-game-controllers-and-keyboards-for-custom-shortcuts/">Matt Sephton</a>:</p>
<blockquote cite="https://blog.gingerbeardman.com/2023/12/23/using-game-controllers-and-keyboards-for-custom-shortcuts/">
<p>An obvious choice for a device with multiple buttons is a game controller. In modern <em>macOS</em> it’s easy to pair <em>Nintendo Switch</em> controllers, and the <em>JoyCon</em> (left or right) is an ideal candidate for a hand-held shortcut device. <em>Xbox</em> and <em>PlayStation</em> controllers can also be paired but they are much larger. Wired or wireless controllers will work.</p>
<p>You can even use a <em>Wii remote</em> using an adapter like the <a href="https://www.mayflash.com/product/magic_ns_lite.html"><em>Mayflash MAGIC-NS Lite</em></a>. Or you might use more esoteric controllers with an adapter from Robert Dale Smith’s <a href="https://controlleradapter.com">Controller Adapter</a> store. In fact, I use one of his adapters to get an old <a href="https://x.com/gingerbeardman/status/1629936413801062403?s=20"><em>Sony Jog Controller</em></a> to act like a <em>GameCube</em> controller, which I then map to keyboard shortcuts using the methods below. The sky’s the limit!</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/10/mac-automation-with-a-tiny-game-controller/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Nvidia’s Market Cap</title>
<link>https://mjtsai.com/blog/2025/07/10/nvidias-market-cap/</link>
<comments>https://mjtsai.com/blog/2025/07/10/nvidias-market-cap/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 10 Jul 2025 18:27:33 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Business]]></category>
<category><![CDATA[Intel]]></category>
<category><![CDATA[NVIDIA]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48438</guid>
<description><![CDATA[Samantha Subin and Kif Leswing (via Hacker News): Nvidia stock rose on Wednesday lifting the company’s market cap briefly past $4 trillion for the first time as investors scooped up shares of the tech giant that’s building the bulk of the hardware for the generative artificial intelligence boom.[…]Nvidia is the world’s most valuable company, surpassing […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.cnbc.com/2025/07/09/nvidia-4-trillion.html">Samantha Subin and Kif Leswing</a> (via <a href="https://news.ycombinator.com/item?id=44509988">Hacker News</a>):</p>
<blockquote cite="https://www.cnbc.com/2025/07/09/nvidia-4-trillion.html"><p>Nvidia stock rose on Wednesday lifting the company’s market cap briefly past $4 trillion for the first time as investors scooped up shares of the tech giant that’s building the bulk of the hardware for the generative artificial intelligence boom.</p><p>[…]</p><p>Nvidia is the world’s most valuable company, surpassing Microsoft and Apple, both of which hit the $3 trillion mark before Nvidia.</p></blockquote>
<p>These numbers are hard to comprehend. Nvidia is now worth about the same as Apple plus half of Meta—or, alternatively, Alphabet plus Meta—and it’s doubled in the last year.</p>
<p><a href="https://www.oregonlive.com/silicon-forest/2025/07/intels-ceo-we-are-not-in-the-top-10-of-leading-chip-companies.html">Mike Rogoway</a>:</p>
<blockquote cite="https://www.oregonlive.com/silicon-forest/2025/07/intels-ceo-we-are-not-in-the-top-10-of-leading-chip-companies.html"><p>New CEO Lip-Bu Tan told employees this week that he doesn’t consider Intel among the leading chip companies, a bracing message as <a href="https://www.oregonlive.com/silicon-forest/2025/07/intel-layoffs-begin-chipmaker-is-cutting-many-thousands-of-jobs.html">the chipmaker began expansive layoffs</a> in the face of severe technical and financial challenges.</p><p>[…]</p><p>Customers are giving Intel failing grades, Tan said, and the company is too far behind to catch up with industry leader Nvidia in developing technology to train artificial intelligence.</p></blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/01/23/stargate-project/">Stargate Project</a></li>
<li><a href="https://mjtsai.com/blog/2024/07/10/calling-ai-a-bubble/">Calling AI a Bubble</a></li>
<li><a href="https://mjtsai.com/blog/2021/11/29/tech-giants/">Tech Giants</a></li>
</ul>
<p id="nvidias-market-cap-update-2025-07-11">Update (<a href="#nvidias-market-cap-update-2025-07-11">2025-07-11</a>): See also: <a href="https://bsky.app/profile/kirkville.com/post/3ltoidbsq3s2i">Kirk McElhearn</a>, <a href="https://x.com/TrungTPhan/status/1943674597733257706">Trung Phan</a>, and <a href="https://mas.to/@carnage4life/114830161721196031">Dare Obasanjo</a>.</p>
<p id="nvidias-market-cap-update-2025-07-14">Update (<a href="#nvidias-market-cap-update-2025-07-14">2025-07-14</a>): <a href="https://mastodon.social/@lapcatsoftware/114840674228448876">Jeff Johnson</a>:</p>
<blockquote cite="https://mastodon.social/@lapcatsoftware/114840674228448876">
<p>NVIDIA net income the past 12 months is a stunning $77 billion on only $149 billion revenue.</p>
<p>In comparison, Apple had $97 billion net income, but that required $400 billion revenue.</p>
<p>Apple “services” revenue is pure profit, but for NVIDIA the entire company is almost pure profit.</p>
</blockquote>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/10/nvidias-market-cap/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>How to Use Google Gemini in Xcode 26 Beta</title>
<link>https://mjtsai.com/blog/2025/07/10/how-to-use-google-gemini-in-xcode-26-beta/</link>
<comments>https://mjtsai.com/blog/2025/07/10/how-to-use-google-gemini-in-xcode-26-beta/#respond</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Thu, 10 Jul 2025 18:27:25 +0000</pubDate>
<category><![CDATA[Programming]]></category>
<category><![CDATA[Artificial Intelligence]]></category>
<category><![CDATA[Google Gemini/Bard]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Proxyman]]></category>
<category><![CDATA[Xcode]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48436</guid>
<description><![CDATA[Carlo Zottmann: Google offers an OpenAI-compatible API for Gemini, and while working, it is not what Xcode expects in terms of URL layout. In Xcode’s LLM provider config, the custom “URL” parameter is the API’s base URL up to but not including the v1/ path segment, e.g. https://api.openai.com/ instead of the full https://api.openai.com/v1/. When making […]]]></description>
<content:encoded><![CDATA[<p><a href="https://zottmann.org/2025/06/13/how-to-use-google-gemini.html">Carlo Zottmann</a>:</p>
<blockquote cite="https://zottmann.org/2025/06/13/how-to-use-google-gemini.html">
<p>Google <a href="https://ai.google.dev/gemini-api/docs/openai#rest">offers an OpenAI-compatible API for Gemini</a>, and while working, it is not what Xcode expects in terms of URL layout. In Xcode’s LLM provider config, the custom “URL” parameter is the API’s base URL up to <strong>but not including</strong> the <code>v1/</code> path segment, e.g. <code>https://api.openai.com/</code> instead of the full <code>https://api.openai.com/v1/</code>. When making calls to the provider later on, Xcode will automatically append the endpoint path (e.g. <code>v1/models</code> etc.) to that URL.</p>
<p>Now, the Gemini URL structure breaks with the <code>v1/</code> convention: its URL is <code>https://generativelanguage.googleapis.com/v1beta/openai/</code> instead of <code>https://generativelanguage.googleapis.com/v1/</code>. You can see why this might be a problem.</p>
<p>So here’s how to set up both Xcode and a proxy app to use Google’s offerings.</p>
</blockquote>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2025/07/09/xcode-26-beta-3/">Xcode 26 Beta 3</a></li>
<li><a href="https://mjtsai.com/blog/2025/06/19/swift-assist-part-deux/">Swift Assist, Part Deux</a></li>
<li><a href="https://mjtsai.com/blog/2025/05/05/xcode-claude/">Xcode + Claude</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/10/how-to-use-google-gemini-in-xcode-26-beta/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Archaeology 1.3</title>
<link>https://mjtsai.com/blog/2025/07/09/archaeology-1-3/</link>
<comments>https://mjtsai.com/blog/2025/07/09/archaeology-1-3/#comments</comments>
<dc:creator><![CDATA[Michael Tsai]]></dc:creator>
<pubDate>Wed, 09 Jul 2025 18:55:34 +0000</pubDate>
<category><![CDATA[Technology]]></category>
<category><![CDATA[Archaeology]]></category>
<category><![CDATA[Code Signing]]></category>
<category><![CDATA[Developer Tool]]></category>
<category><![CDATA[Disk Image]]></category>
<category><![CDATA[Interface Builder]]></category>
<category><![CDATA[JSON]]></category>
<category><![CDATA[Mac]]></category>
<category><![CDATA[Mac App]]></category>
<category><![CDATA[Mach-O]]></category>
<category><![CDATA[macOS 15 Sequoia]]></category>
<category><![CDATA[macOS Tahoe 26]]></category>
<category><![CDATA[Notarization]]></category>
<category><![CDATA[Security Scoped Bookmarks]]></category>
<guid isPermaLink="false">https://mjtsai.com/blog/?p=48422</guid>
<description><![CDATA[Mothers Ruin Software: macOS uses many different binary file formats.Some — like binary property lists — have broad tool support and are relatively easy to inspect…Some — like X.509 certificates, configuration and provisioning profiles or App Store receipts — use standard formats, but lack macOS-native inspection tools, or only have command-line tools that can be […]]]></description>
<content:encoded><![CDATA[<p><a href="https://www.mothersruin.com/software/Archaeology/">Mothers Ruin Software</a>:</p>
<blockquote cite="https://www.mothersruin.com/software/Archaeology/"><p>macOS uses many different binary file formats.</p><p>Some — like binary property lists — have broad tool support and are relatively easy to inspect…</p><p>Some — like X.509 certificates, configuration and provisioning profiles
or App Store receipts — use standard formats, but lack macOS-native inspection tools, or
only have command-line tools that can be awkward to use…</p><p>Some — like compiled nibs, keyed archives, code signatures or URL bookmarks — use Apple-proprietary formats
that are not documented and that have no (public) inspection tools.</p><p>Even a file in a well-known format often contains data blobs encoded in
one of the other formats — such as an app’s preferences property list, which might contain
URL bookmarks or an archive of serialized objects.</p><p>Archaeology gives you a way to dig into a number of these binary files.</p></blockquote>
<p>This is a delightful app from the developer of <a href="https://www.mothersruin.com/software/Apparency/">Apparency</a> and <a href="https://www.mothersruin.com/software/SuspiciousPackage/">Suspicious Package</a>. Aside from what’s mentioned above, it supports more <a href="https://www.mothersruin.com/software/Archaeology/formats.html">formats</a> such as notarization tickets and Mach-O binaries (showing embedded <tt>Info.plist</tt> files, SDK info, and linked libraries).</p>
<p>Previously:</p>
<ul>
<li><a href="https://mjtsai.com/blog/2024/12/10/suspicious-package-keeps-on-tickin/">Suspicious Package Keeps on Tickin’</a></li>
<li><a href="https://mjtsai.com/blog/2023/03/07/how-troubleshooting-has-changed-with-macos-security/">How Troubleshooting Has Changed With macOS Security</a></li>
<li><a href="https://mjtsai.com/blog/2020/09/04/auto-linking-in-macho-explorer/">Auto Linking in MachO-Explorer</a></li>
<li><a href="https://mjtsai.com/blog/2020/01/27/core-data-lab-1-0/">Core Data Lab 1.0</a></li>
<li><a href="https://mjtsai.com/blog/2003/04/09/machoview/">MachOView</a></li>
</ul>]]></content:encoded>
<wfw:commentRss>https://mjtsai.com/blog/2025/07/09/archaeology-1-3/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
</channel>
</rss>
If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid RSS" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
Add this HTML to your page (change the image src
attribute if necessary):
If you would like to create a text link instead, here is the URL you can use:
http://www.feedvalidator.org/check.cgi?url=http%3A//mjtsai.com/blog/feed/rss2/