來源:YouTube | 00:58:40 | 2026-08-05
iOS 的封閉生態與開發者體驗的全面敗壞,不僅正在扼殺行動軟體的創新可能性,更正在剝奪整個世代對「軟體可以被改變」的基本認知。
- 從網頁應用程式優先到強制原生 SDK,iPhone 的開發理念發生了歷史性的倒退,將「易於開發」變成了「必須經過許可」。
- Apple 為了維護 30% 的「蘋果稅」,採取了極端的沙盒機制與硬體鎖定策略,使得跨裝置開發與測試成為地獄般的體驗。
- App Store 的政策充滿了武斷、惡意遵循甚至剝削兒童的道德風險,且徹底摧毀了遊戲串流、插件生態、替代支付等潛在創新類別。
- 根基於 25 年前 NextStep 的 Xcode 及其工具鏈,積累了無法修復的技術債務,其編譯、索引與合併機制仍停留在前 Git 時代。
- 由於底層的嚴格限制與對 Just-in-Time 編譯的禁令,真正具備系統級控制權與高階效能的 AI 體驗永遠無法在 iOS 上實現。
- Android 作為競爭對手,不僅未填補 iOS 留下的創新真空,反而僅滿足於淪為「B 級 iOS」的模仿者。
- Apple 的封閉正在造成認知危機,新一代使用者不再理解檔案系統或軟體開發,最終將導致整個軟體文明的創造力衰退。
-
從「無需 SDK」到「必須買 Mac」的倒退:Steve Jobs 在初代 iPhone 發表會上宣示的「Web 2.0 加上 Ajax 就是全部的 SDK」,在本質上是一種極度開放且低成本的軟體分發願景。這不僅是技術選擇,更是基於當時 iPhone 零市佔率下的生存策略。然而,隨著 App Store 成為印鈔機,Apple 從討好開發者轉向全面控制。如今,你必須擁有一台 Mac、支付年費、通過武斷的審查,才能將程式碼放上你擁有的設備。這種從開放網頁應用到強制封閉原生的回歸,是行動運算史上最大的開倒車之一,它將軟體開發從「創意表達」異化為「平台朝貢」。
-
JIT 禁令與沙盒機制對 AI 時代的致命打擊:許多人忽略了 iOS 為了「安全」而禁止即時編譯是多麼毀滅性的技術枷鎖。這不僅讓高效能遊戲模擬器成為不可能的任務,更直接判處了行動裝置上所有動態、具備適應性的 AI 代理人死刑。在桌面端,像 Codex 或 Whisper Flow 這類工具能跨應用程式操作、讀取螢幕內容並執行複雜任務;但在 iOS 上,Siri 是唯一的「超應用程式」入口,且其底層能力薄弱。Apple 的沙盒機制剝奪了應用程式之間互相溝通、修改或增強的能力,這意味著我們永遠無法驗證「一個能幫你操作所有 App 的 AI」在手機上的最大潛力,因為 Apple 已經把這個生態位強行保留給了自己功能貧乏的版本。
-
Xcode 的「前 Git 世界觀」與團隊的認知繭房:Project.pbxproj 檔案無法解決的合併衝突,以及增量編譯速度慢於全量編譯的荒謬現象,不僅是工具品質問題,更反映了 Apple 內部開發方法論的嚴重落後。講者提出的「Xcode 團隊從未見過好東西」的尖銳批判,點出了這一系統的核心病因:開發工具的封閉性導致開發者沒有參考基準。相比之下,CocoaPods 的創建者最終轉而貢獻給 TypeScript,象徵著行動開發中心化嘗試的徹底失敗。當一家市值數兆美元的公司,其核心開發工具仍要求開發者手動清除快取作為「民俗療法」時,這已不是技術怠惰,而是系統性的不尊重開發者。
-
遊戲營收暴利與剝削兒童的陰暗共生:Apple 從遊戲中獲取的利潤超過 Sony、微軟、任天堂和動視暴雪的總和,這一事實揭示了「30% 蘋果稅」背後的荒誕本質。Apple 對「數位商品」課稅,卻豁免實體服務或受特殊協議保護的亞馬遜,這種選擇性執法本身就是一種權力尋租。更為邪惡的是,App Store 上大量針對兒童設計的掠奪性週訂閱軟體詐騙,多年來未被有效整治。因為這些高額且帶有誤導性的訂閱費恰好是 Apple 服務營收的重要組成部分。這種將兒童當作營收金流的商業模型,是極致的倫理敗壞。
-
Android 的模仿陷阱與認知封鎖的世代危機:Android 的失敗不在於其底層核心不如 iOS,而在於 Google 策略上的怯懦。Android 放棄了早期「行動桌面」的開放客製化優勢,轉而從導航手勢到應用權限收緊全面抄襲 iOS。這導致市場上缺乏一個真正的「開放替代品」來給予 Apple 競爭壓力。更令人擔憂的是,這種長達十年以上的系統封閉,正在製造「科技文盲」。當新生代使用者認為軟體只能經由應用商店獲取,且無法理解檔案目錄結構時,他們不僅成為了消費者,更永遠喪失了成為創造者的認知能力。這是一場醞釀中的軟體文明斷層。
| 概念 | 說明 |
|---|---|
| Web 2.0 / Ajax 承諾 | 初代 iPhone 發表時,Steve Jobs 宣稱開發者僅需網路技術即可建立應用程式,無需下載 SDK。 |
| JIT 編譯禁令 | iOS 基於安全考量,禁止應用程式在執行期間動態生成可執行程式碼,這限制了模擬器及部分 AI 的效能與動態能力。 |
| 反引導規則 | Apple 禁止開發者在應用程式內告知使用者有更便宜的外部付費管道,這在 Epic Games 訴訟中被認定為違法,但 Apple 持續以惡意遵循應對。 |
| Project.pbxproj | Xcode 的專案核心檔案格式,極度脆弱、難以進行 Git 合併,無法進行有意義的人工修改,代表著過時的開發協作思維。 |
| John Tarnis | 接替 Tim Cook 的 Apple 新任執行長(影片設定於 2026 年),被寄望能修復軟體生態。 |
| CocoaPods | 由第三方社群建立的 iOS/macOS 依賴管理工具,填補了 Apple 長期未提供原生模組管理方案的缺位,最終其核心開發者轉投微軟。 |
這部影片看似是開發者的情感宣洩,但在產業分析上,它精準地指出了 Apple 封閉花園模式的 「創新遞減效應」。當硬體效能已達到 2004 年無法想像的高度時,iPhone 的軟體自由度卻降回了比初代更窘迫的狀態。這不僅是 Apple 單一公司的問題,它創造了一個畸形的市場標準:Android 因為缺乏勇氣而只懂得追隨,導致整個行動運算產業在 UI 互動和開發工具上停滯了超過十年。若 AI 代理人、空間運算和模組化軟體是下一個十年的趨勢,Apple 目前這種「扼殺超應用層」的做法,最終會反噬其硬體優勢,因為當所有創新都轉向開放平台時,硬體再強也只是一塊昂貴的磚頭。
對於開發者而言,這篇文章的最大警訊在於揭示了「便利性與控制權的永恆矛盾」。Apple 生態以其順暢的互動和安全性自豪,但這種安全是以犧牲專業使用者的生產力與創造者的可塑性為代價。目前開發者大量逃往跨平台框架(如 Expo)、甚至嘗試在 Mac 上建立 Linux 工作環境的現象,顯示全球最頂尖的一批開發者已經開始「去 Apple 化」。Apple 正逐步失去它曾經最忠實的那群軟體創作家。如果新任 CEO 不從根本上改變「所有收入都必須經過我」的掠食者心態,Apple 在全球軟體生態中的話語權將很快見頂。不僅要讓孩子們學會烹飪,更要先把廚房的大鎖拿掉。
- "A platform that doesn't even let you install apps unless Tim Cook himself thinks the category is valid. It's destroying us." —— 一個甚至不讓你安裝應用的平台,除非 Tim Cook 本人覺得這個應用類別是有效的,它正在摧毀我們。
- "Xcode can never be good because the Xcode team has never experienced good." —— Xcode 永遠不可能變好,因為 Xcode 團隊從來沒經歷過什麼是「好」。
- "The lock in on iOS is no longer just locking down the platform. It's locking down the brains of these kids." —— iOS 的封閉已經不再只是鎖住平台,它正在鎖住這些孩子的頭腦。
- "Android isn't trying to be good. It's trying to be B-tier iOS." —— Android 根本沒在試圖做好,它只是努力想成為一個 B 級品質的 iOS。
點擊展開完整字幕
0:00 I'm about to crash out in a way I never 0:01 thought I would. I need to talk about 0:03 something very important to me, 0:05 something near and dear to my heart. My 0:08 iPhone. I love iOS in so many ways. I 0:11 used to be such an Android fanboy, I 0:13 never thought I would see the day that 0:14 iOS was my preference. And it still is, 0:17 and it probably will be for the 0:18 foreseeable future. Which is why what 0:20 I'm about to say hurts so deeply. iOS is 0:23 holding back the entirety of software, 0:26 not just for iPhone users, but for 0:28 everybody. Apple's been doing this for a 0:30 bit, but not in ways that necessarily 0:32 hurt as much as they do now. But in a 0:34 world where AI is as powerful as it is, 0:36 where building things has never been 0:37 easier to do. A platform that goes out 0:40 of its way to be as hard as possible to 0:42 get anything done with. A platform that 0:44 prevents us from experimenting, trying 0:46 new things, and building what the future 0:48 could be. A platform that doesn't even 0:50 let you install apps unless Tim Cook 0:51 himself thinks the category is valid. 0:54 It's destroying us. And it's not just 0:56 destroying the iPhone platform either. 0:58 is I genuinely love my Pixel Fold except 1:02 for all the things that it's held back 1:03 on, which are also Apple's fault. And 1:06 don't even get me started on the iPad. 1:09 This is the single device that should 1:11 have changed computing forever that 1:13 instead just pisses me off every time I 1:15 open it. And it's cuz Apple's an evil 1:17 company. They're just the worst. They're 1:20 I have a lot to say. I have had so many 1:23 stupid moments with Apple stuff 1:25 recently, especially with our attempts 1:27 to build and ship the new T3 Chat and T3 1:29 Code apps that I feel like I'm going 1:31 mad. I cannot believe this company 1:33 operates the way they do today and that 1:35 people aren't realizing just how 1:36 destructive it is. I thought I might be 1:38 the only one going insane here. So, I 1:40 asked GPT55 to look at my bullet point 1:43 list and add some ideas of its own. to 1:46 which it added over 30, 1:51 sorry, 40 points that it added on top of 1:54 the ones I already had in the list. Are 1:57 you kidding? I have to crash out. This 2:00 one's going to be long. I'm sorry. I 2:02 genuinely am. But if I'm going to 2:04 survive the hellish process of getting 2:06 these apps deployed, I need to complain 2:08 a lot. And if I'm going to make this 2:10 worth it, we have to take a quick break 2:11 for something that sucks a lot less. 2:13 Today's sponsor. In my opinion, there's 2:15 three ways to evaluate a given product 2:16 or company. There is how important is 2:18 the problem that it solves. There is how 2:20 good is the solution they came up with. 2:22 And most importantly, there's the 2:23 quality of the team. I bring this up 2:25 because today's sponsor is general 2:26 translation. And I think they're killing 2:28 it in all of those fronts. Having your 2:30 app in every language and localization 2:31 is great because 85% of the world 2:33 doesn't speak English. Their SDK and 2:35 platform are one of the best solutions 2:36 I've ever seen because normally you have 2:38 to make your codebase way harder to work 2:39 in for both you and your agents in order 2:41 to handle localization. Their SDK makes 2:44 it trivial. Most importantly here is the 2:46 team. And I'm not saying this cuz they 2:47 pay me. You cannot pay me to say this. I 2:50 love the general translation team. I've 2:52 done many a call at the founder cuz I 2:54 just like him a lot and I go to hang out 2:56 at their office all the time because 2:57 they're fun to hang out with. These guys 2:59 understand. They're quickly building a 3:01 ton of trust in the space, which is why 3:02 everyone from Cursor to Partal to Click 3:04 House to Mintify and Ramp are all 3:06 building on top of General Translation. 3:08 When they hit me up about sponsoring, I 3:09 went to look at the platform and 3:10 immediately begged them to let me invest 3:12 because this is the right way to handle 3:14 translations. It's a simple T component 3:16 that you wrap your JSX with. If you need 3:18 to pass variables in, you can wrap it 3:20 with their ver component. If you need to 3:21 handle currency translations, you can 3:23 pass in their currency component. You 3:25 can set it up with one command and let 3:26 your agent handle the rest. And going 3:28 forward, everyone can use your site. If 3:29 you're only serving English users, fix 3:31 it today at soyv.link/gt. 3:33 In order for me to properly explain why 3:35 iOS is holding us back, I want to build 3:37 a framework for understanding software. 3:39 First, roughly speaking, you can 3:42 categorize software in a few ways. The 3:45 ones I want to focus on are importance, 3:48 cost, and capability. And I want to be 3:51 very clear, these three are not 3:53 inherently tied. Software can be very 3:56 important and also very cheap. Software 3:58 can be very capable and not very 4:00 important. I'm looking at you Arch Linux 4:02 people. Software can be incredibly 4:04 expensive and not important nor capable. 4:06 These are three different things and all 4:09 of them need to be thought about when we 4:11 think about software and mobile. We also 4:14 need to think a bit about the world when 4:15 the iPhone came out. The iPhone came out 4:17 in a world of sidekicks, a world of 4:20 Blackberries, a world of flip phones, a 4:22 world of portable devices where the 4:24 software wasn't very good. It wasn't 4:28 very important. It was too expensive to 4:30 make good software. Everybody just made 4:32 it cheap and the capabilities were 4:34 basically non-existent. The best thing 4:36 you could have on your phone was a 4:38 shitty port of a Tony Hawk Game Boy 4:40 game. The software on phones wasn't very 4:42 good. The iPhone changed that. It made 4:45 it possible to make way more important 4:47 software and way more capable software, 4:50 but it also inherently kind of increased 4:52 the cost of making software because iOS 4:55 development was harder than yet another 4:57 shitty Java applet. But the cost 4:59 increase was reasonable considering how 5:02 much more important and capable the 5:04 software was. There was a catch though. 5:08 That's not how it started. 5:11 The iPhone ships on June 29th. 5:16 That is just 18 days from today. 5:20 I believe at 6:00 p.m. in the evening 5:22 they will go on sale. 5:26 June 29th, 18 days from today. 5:29 Now, what about developers? 5:34 What about developers? 5:36 We have been trying to come up with a 5:39 solution to expand the capabilities of 5:42 iPhone by letting developers write great 5:45 apps for it and yet keep the iPhone 5:48 reliable and secure. 5:50 And we've come up with a very sweet 5:54 solution. 5:57 And let me tell you about it. 6:00 So, 6:02 we've got an innovative new way to 6:04 create applications for mobile devices. 6:07 Really innovative. And it's all based on 6:11 the fact that iPhone has the full Safari 6:15 inside it. The full Safari engine is 6:18 inside of iPhone 6:21 and it gives us tremendous capability, 6:24 more than has ever been in a mobile 6:26 device to this date. I will interrupt 6:30 here to say this is a true point at the 6:33 time. Before the iPhone came out, the 6:37 power of these types of mobile devices 6:39 was way less. The capabilities, the 6:42 freedom, the things you could do on it 6:44 was inherently way smaller. And Safari 6:46 on iOS, as silly as it is to say this 6:48 way, was more capable than the Java 6:51 applets on almost every other phone. But 6:53 notice that he's not saying anything 6:55 about native here because that wasn't 6:56 the plan when the iPhone first came out. 6:59 I'll let Steve continue. You can write 7:03 amazing web 2.0 and Ajax apps that look 7:08 exactly and behave exactly like apps on 7:11 the iPhone. And these apps can integrate 7:15 perfectly with iPhone services. 7:18 They can make a call. They can send an 7:21 email. They can look up an location on 7:24 Google Maps. 7:27 After you write them, you have instant 7:29 distribution. You don't have to worry 7:30 about distribution. Just put them on 7:32 your internet server. 7:34 And they're really easy to update. just 7:36 change the code on your own server 7:39 rather than having to go through this 7:41 really complex update process. 7:44 And they're secure 7:46 with the same kind of security you'd use 7:48 for transactions with Amazon or a bank. 7:52 And 7:54 they run securely on the iPhone so that 7:56 they don't compromise its reliability or 7:59 security. 8:01 And guess what? There's no SDK that you 8:04 need. You've got everything you need if 8:07 you know how to write apps using the 8:09 most modern web standards to write 8:11 amazing apps for the iPhone today. You 8:14 can go live on June 29th. 8:17 And we'd like to show you an example of 8:19 the kind of apps that you can write 8:21 starting today. Do you understand just 8:25 how far we have fallen? The number of 8:29 points here like this, no SDK required, 8:32 that's how it should have been. 8:34 And the jump from where mobile 8:36 development was before the iPhone to 8:38 what was promised here was genuinely 8:42 massive, which is why it hurt so much 8:45 that it has regressed since. Starting 8:47 with the release of the app store, the 8:50 capabilities of the mobile devices we 8:53 use every day have gone down 8:55 year-over-year, not up. And I will be 8:58 frank, as much as I prefer Tim Cook to 9:00 Steve Jobs, I think this is one of the 9:02 few things that Steve Jobs would have 9:04 possibly gotten right. That Tim Cook, 9:07 the person trying to maximize every 9:08 penny Apple makes, has gotten entirely 9:11 [ __ ] wrong. And it's possibly doomed 9:13 the direction of software as a whole as 9:16 a result. And a lot of this changed 9:18 because of the nature of the bet that 9:20 was being made. At the time, the iPhone 9:22 was the underdog. They had to convince 9:24 developers to build for it. So, it had 9:26 to be as easy as possible to build and 9:28 they had to convince users to get it 9:30 because they had 0% market share because 9:33 the phone didn't exist yet. They had to 9:35 climb through the market to make this 9:36 device popular. And they did everything 9:39 right from the start because it was the 9:40 only option they had. And then they 9:42 started to get some serious market 9:44 share. And then they started to behave 9:46 like absolute [ __ ] The harsh reality is 9:49 that Apple has their market share. So, 9:50 they don't care anymore. They just 9:53 don't. Every single time an app is 9:56 purchased on the app store, Apple makes 9:58 30%. Every single time you buy a digital 10:01 good in an app, whether you're buying an 10:03 ebook, you're renting a movie, you're 10:05 buying a cosmetic in a game, you're 10:08 paying for an indie developer fun map in 10:10 a game that you're playing, Apple gets 10:12 30% of all of that, too. Apple gets 10:15 their percentage, and they have no 10:17 interest in anything that harms their 10:20 percentage. And as such, they have no 10:22 interest in things that make developers 10:24 lives easier because you're stuck 10:26 building for the iPhone anyways. Apple 10:29 doesn't have to compete on developer 10:30 experience because if you want to make 10:32 money and you want to make a mobile app, 10:34 you have to support Apple. While Apple 10:37 has less than 20% of market share 10:40 globally, they have over 60% of money 10:43 spent on mobile phones. The vast 10:45 majority of money being spent on a phone 10:48 is spent on iPhones. So, if you are 10:50 looking at the split of devices sold and 10:53 think Apple is the wrong bet as an app 10:56 manufacturer, you just don't understand 10:58 the finances behind it. Apple has an 11:00 absurd monopoly on money spent on 11:03 mobile. People in my chat have worked at 11:05 companies that were doing a h 100 plus 11:07 million a year on their mobile apps and 11:09 iOS would push 60 to 70% of that money 11:13 spent on iOS. It's insane. What I'm 11:16 trying to say is that Apple will make 11:17 their money regardless. So what they do 11:20 instead is the bare minimum, the 11:23 absolute bare minimum. And I want to 11:25 show you guys a little bit of what that 11:27 looks like, both through things that 11:29 have happened over the last few years 11:31 and also through my own personal 11:32 experience trying to build apps. I'll be 11:35 real and I'll start with one I was 11:37 crashing out about over the weekend, 11:38 which inspired me to make this video. I 11:40 want to talk about my iPad. 11:43 I could talk a lot about how we should 11:44 be able to build iPad apps on iPads. I 11:47 could talk a lot about how I should be 11:48 able to do a bunch of custom [ __ ] on 11:49 here. I can talk a lot about how the OS 11:51 is gimping this incredible piece of 11:52 hardware, but I'm not. As much as I want 11:54 to talk about those things, that's not 11:55 what I'm here to talk about today. I'm 11:57 here to talk about the absolute insanity 11:59 that is the fact that I was making 12:01 changes to my team's mobile app. And I 12:03 made those changes and I verified them 12:05 on my phone because my phone was already 12:06 attached to my Apple developer account. 12:08 My iPad wasn't. So, I connected my iPad 12:11 to my computer. It autopop populated 12:14 with the Apple provisioning whatever the 12:15 hell and it got put in a pending state 12:18 where it would proceed to stay for 36 12:20 hours. I was not able to use the MacBook 12:24 I purchased to install the app I built 12:26 on the iPad I purchased because Apple 12:29 hadn't given me the thumbs up yet. What 12:31 the [ __ ] That's some 1984 level [ __ ] if 12:34 I'm being real. Like I I still cannot 12:37 process the fact that I had software. I 12:39 had paid a team to build and I had built 12:41 with the team that I couldn't put on one 12:44 of my devices because Apple didn't want 12:46 me to yet. They wanted to go through 12:48 their process of verifying because if I 12:50 had found a way to get the app without 12:52 their permission, that could harm their 12:54 app store. Sorry, that could be insecure 12:56 and they don't want us getting viruses. 12:59 No, that's not what they actually want. 13:01 They want to lock us in because they 13:03 want to make sure there is no path to 13:05 app installs that isn't their app store 13:06 because then they might lose some money 13:08 and they're being [ __ ] evil about it. 13:11 And that is just one of the many things 13:13 I'm about to crash out about. Do not 13:14 worry, we have a long ways to go. This 13:17 is actually a very fun point, Taka. 13:19 Thank you for bringing this one up. 13:20 During the Epic versus Apple trial, it 13:22 was revealed that Apple makes more money 13:24 on games than Sony, Microsoft, and 13:27 Nintendo, and Activision combined 13:29 because they get the 30% of all money 13:32 spent on mobile games. Insane. Actually, 13:34 insane. A company that's never made a 13:36 game makes billions on games because 13:39 they have an entry tax. I'm going to 13:41 crash out about Xcode in a bit, but I 13:43 want to first crash out about the 13:45 signing [ __ ] As I mentioned before, 13:48 despite paying the $100 a year fee and 13:51 buying multiple Apple devices and 13:53 building the app on Apple devices, I 13:56 could not test the app on my iPad until 13:58 waiting a certain amount of time for 14:00 Apple to do the approval. Actually, 14:02 insane. Oh, but Thea, what about 14:04 TestFlight? Did you know TestFlight 14:06 requires you to go through the full app 14:08 review process? I can't use TestFlight 14:10 as a way to get around Apple's stuff 14:12 because you still have to go through it. 14:14 At first, we should just take a moment 14:15 to appreciate how insane it is that you 14:17 have to use a Mac to build apps. Like, 14:21 the exceptions to this rule involve the 14:24 app being built on someone else's Mac in 14:26 the cloud. That's insane. There is no 14:29 way to build an app on your iPad or your 14:32 iPhone without a Mac. It's one of the 14:35 reasons I'm stuck still using a Mac 14:36 despite the fact that I do genuinely 14:38 want to make the move to Linux. That's 14:40 just one of the pieces. It gets a lot 14:42 worse. For example, when you're doing 14:45 the signed app process through the 14:47 computer, you need to make sure your 14:48 devices connect to that computer at 14:50 least once every seven days or the app 14:53 will stop opening. Apple needs to know 14:55 that your app is signed by a developer. 14:58 And I'm going to crash out about that 14:59 process a lot in a bit. You know what? 15:01 I'll I'll put a little more about that 15:02 here because for some reason they have 15:04 you hardcode the credential for signing 15:06 the app in the infop list file, which 15:08 for the most part is a manifest for the 15:10 app and the permissions it needs. But it 15:12 also just so happens to include the 15:14 account and the team that it's attached 15:16 to in the code directly which makes 15:19 doing anything with a platform like I 15:21 don't know Git obnoxious because a 15:23 portion of that file is specific to your 15:26 developer account. The fact that the 15:28 Xcode ecosystem was built pregit is its 15:31 own problem. The fact that it still 15:33 operates with a pregit mindset is the 15:36 real issue though. It just sucks so hard 15:38 to do anything with any of this. If you 15:41 built with any even vaguely modern set 15:42 of tools like any web app or Electron or 15:45 even just React Native the traditional 15:47 blessed way with Expo, you get shielded 15:50 from a lot of the hell that I'm talking 15:52 about here because it is absolutely 15:55 hellish. And having built a lot of 15:56 things for a lot of platforms, the 15:58 absolute shitow that is iOS development 16:01 is so hard for me to fathom. And here's 16:03 where I'm going to get a little spicier. 16:05 This absolute [ __ ] policy is hostile 16:09 to experimentation, to people who want 16:11 to try out new ideas and experiment with 16:14 things and do something no one's done 16:15 before. The people who want to invent 16:17 the future should be encouraged to do 16:19 so, not locked out of doing so, not 16:22 restricted by these layers upon layers 16:24 of rules and fees and processes and 16:27 hardware ownership to even get to the 16:29 point where you're allowed to start. 16:31 It's hostile to open source because if 16:33 somebody opens sources their app and I 16:36 want to make some changes and play with 16:37 it, it doesn't matter that the app's 16:39 already been approved. I have to go 16:40 through the whole process again myself 16:42 and I have to modify a bunch of things 16:43 that could accidentally get checked in 16:45 when I'm trying to make a PR because you 16:47 have to do that in order to even be able 16:49 to build in the first place after you 16:51 already paid the hostage fee, by the 16:53 way. And also making sure that you check 16:55 in with your device plugged into your 16:56 computer every 7 days so the app doesn't 16:57 get locked out. But most importantly, 16:59 and this is the part I really want to 17:00 emphasize, as an Apple fan myself, it's 17:03 hostile towards me. It was easier for me 17:06 to build custom versions of Android for 17:08 my Android phone than it was for me to 17:10 start my first app on my iPhone. And 17:13 it's somehow gotten worse over time, not 17:16 better. When I finally got my iPad 17:18 approved, by the way, I still couldn't 17:20 build to it because I got an obscure 17:22 error telling me that there's some new 17:24 agreement I have to go find in a hidden 17:26 dashboard somewhere before I'm allowed 17:28 to sign my devices again. So, I had to 17:30 go to the developer.apple.com. It 17:31 redirected me to the wrong place twice. 17:33 I finally signed in. It redirected me to 17:35 apple.com. I went back to 17:36 developer.apple.com. And this time, I 17:38 actually stayed off. So, 17:39 developer.apple.com had me signed in. 17:41 And I had to scour through the page to 17:43 find this weird banner that was 17:45 basically impossible to see because 17:46 there was five more above and below it. 17:48 But this one particular banner had a 17:50 button in it that would bring me to a 17:52 page that had this new agreement they 17:53 just put out during the most recent WWDC 17:56 that I had to hit approve on and then 17:58 wait another 20 to 30 minutes for that 18:00 provisioning and that approval to get 18:02 updated on Apple's servers so that I was 18:04 allowed to build the app I made for my 18:06 Mac to my [ __ ] iPad. Are you kidding? 18:10 It is genuinely insane that I can't just 18:13 build the app I made on my iPad that I 18:16 own. It's It's like orders of magnitude 18:20 away from where it should be. We'll come 18:22 back to this later cuz I want to talk 18:24 about the beautiful world we could live 18:26 in if Apple just got over their [ __ ] I 18:28 realize this will go on forever if I 18:30 don't break up the topic, so I just did 18:31 it here. I'm going to rant about the 18:32 sandboxing, Xcode being absolute [ __ ] 18:35 garbage, the App Store policies that 18:36 hold us back from ever having great 18:38 innovative software again, the fact that 18:40 AI can never be good on iOS because of 18:42 Apple's [ __ ] and a tangent on how 18:44 Android doesn't help us at all here. So, 18:46 let's start with the sandboxings. I have 18:47 a lot to say here. Uh, let me just think 18:51 of some examples. Why can't my app send 18:53 messages to each other? They can, but 18:56 the way it sends a message isn't through 18:58 iOS. There is literally no way for apps 19:01 to communicate without you doing it on 19:02 your own external server. You can share 19:05 through Apple's share feature between 19:07 apps. Good luck implementing that in a 19:09 way that makes any sense at [ __ ] all. 19:11 It's hell. Beyond that, why can't I 19:14 customize my apps? Why can't I not 19:16 control the apps at all? Why can't I 19:19 force an app to stay in dark mode? Why 19:21 can't I have an agent change the first 19:23 screen in an app? Why can't I limit the 19:25 way an app works for my business? So 19:28 when people are on our sandboxed phones 19:30 that have like the developer credentials 19:32 on them that are built in a way for my 19:34 network and for my company, why can't I 19:37 make slight changes to an app? 19:38 Obviously, there should be some level of 19:40 restriction and control here. But I can 19:41 install a Chrome extension that changes 19:43 anything I want about a website. I can 19:44 force everyone at my company to have 19:46 that extension installed. Why is there 19:48 literally nothing at all like this for 19:49 iOS? I'll give you a hint. Part of it's 19:51 cuz JIT doesn't work. Just in time 19:53 compilers, things that will make your 19:55 code more efficient for the processor 19:57 when the code appears in the app, are 19:59 not allowed at all because you're not 20:01 allowed to do any dynamic execution in 20:03 iOS apps. Even React Native, the way it 20:05 is built, is on the line for what is or 20:08 isn't allowed because Apple doesn't want 20:10 you doing things on the fly. This kills 20:12 a lot of [ __ ] This makes good 20:14 performant game emulators nearly 20:16 impossible because you need to do some 20:19 specific compilation like shader stuff 20:21 for given games. But if you are updating 20:24 the way the code executes on the fly, 20:26 hard ban from Apple. We'll never get 20:28 good emulators on iOS. Even though Apple 20:30 did loosen their restrictions on the 20:32 concept of emulators, we'll never have 20:34 performant ones because Apple won't let 20:36 us. But most importantly, why can't my 20:39 app install apps? Why can't my app build 20:41 apps? Why can't my app customize apps? 20:45 Why can't my app do anything Apple 20:47 doesn't want us to? It's because Apple 20:49 doesn't care. They don't benefit 20:51 meaningfully from allowing us to do 20:52 these things, but they are potentially 20:55 risking reviews being harder or the apps 20:57 are getting less traffic. On that note, 20:59 why can't I use a different browser 21:00 engine? On my Mac right here, I have a 21:03 shitload of different browsers 21:04 installed. I have Zen, which is based on 21:06 Firefox and Gecko. I have Helium, which 21:08 is based on Chromium. And begrudgingly, 21:11 I have Safari because it comes with the 21:12 Mac and Apple won't let me uninstall it. 21:14 On your phone, you might have Chrome 21:16 installed, but that's not using the 21:18 Chrome engine. That is just using WebKit 21:21 because Apple only lets you use WebKit 21:23 on iOS. It's insane. All of these 21:26 restrictions prevent us from having 21:28 whole categories of potential awesome 21:31 software. It means I can't have a good 21:33 Windows emulator on my iPad. It means I 21:35 can't have a good GameCube emulator on 21:36 my iPhone. It means I can't build a new 21:39 language with its own compiler and then 21:40 play with it on my Apple devices. It 21:42 means I can't try to make a browser 21:44 engine with more capabilities than Apple 21:46 wants it to have. It means I can't do 21:48 anything [ __ ] interesting because 21:50 Apple's already restricted all the 21:52 interesting stuff. I can't build my own 21:54 ecosystem of apps that have their own 21:55 relationships with each other because I 21:57 have to go build a backend to share 21:58 anything between them because Apple 22:00 won't let you. On that note, there's one 22:02 whole category of things that aren't 22:04 allowed due to the way Apple sandboxes. 22:07 plugins. One of the coolest things you 22:09 can do in software is modify it. I can 22:12 install an extension in Chrome that 22:13 changes how a website works. I can 22:15 install extensions in VS Code that 22:17 change how it works. I can install 22:18 extensions in Safari even, but you 22:21 cannot make software that has 22:22 extensions. Apple just doesn't really 22:24 allow it. There are some hacks here and 22:26 there, but you can't really do it. Apple 22:29 doesn't want software to be extendable. 22:31 They want software to be sold by them to 22:34 make them money. That's all they want. 22:36 and they will hold us back every single 22:38 [ __ ] day, preventing cool new ideas 22:41 from ever happening because it's just 22:43 slightly easier for them to review. 22:45 Insanity. The amount of things that 22:47 could have happened if sandboxing wasn't 22:49 so restrictive is incredible. But even 22:51 if they fixed all that, we still 22:52 wouldn't be able to do [ __ ] because 22:54 Xcode is [ __ ] and the App Store policy 22:56 is even more [ __ ] We're a little closer 22:58 to the App Store policy thing here. So, 23:00 I'm going to start with that. that will 23:00 go to Xcode after because the App Store 23:03 policies are so bad that they deserve to 23:06 lose every single court case that 23:07 they've already been losing and their 23:08 malicious compliance with the rulings is 23:10 somehow even more egregious. Here's a 23:12 fun fact. The only way to install an app 23:15 on your phone that wasn't signed by you 23:17 or a team you're in with your device ID 23:19 hardcoded to it is to go through the App 23:22 Store or to go through TestFlight. There 23:24 is no path from my app to your phone 23:27 that isn't App Store or Test Flight. 23:30 both of which require Apple to approve 23:32 it. Which means if you happen to be 23:33 building any of the things Apple doesn't 23:35 want you to build, you have no choice. 23:39 You are just screwed. Just to go through 23:41 a handful of these categories, some have 23:44 maintained the ban. Some have had their 23:45 ban status changed. Streaming videos, 23:48 streaming music, totally fine. Apple's 23:50 okay with that. Streaming games, nope, 23:53 not allowed. This is a whole category of 23:55 software that could have been 23:56 revolutionary that is entirely 23:58 impossible because Apple didn't want it 24:00 to exist. Let's say that your app only 24:02 has O for your like enterprise SL like 24:04 you're a Google or a Microsoft company 24:06 and everyone signs in through that. 24:08 Apple has a hard rule that requires any 24:10 sign-in methods that are provided 24:11 through another O layer whether it's 24:13 Google, Microsoft, whatever else require 24:15 that sign in with Apple is also an 24:17 option. Doesn't matter if it's 0% of 24:19 your users. Doesn't matter if you hard 24:21 restrict them and not be able to do 24:22 anything in the app. You have to have 24:23 that button or Apple won't approve. 24:25 Period. Speaking of which, external 24:28 payment systems. Let's say you built a 24:30 game that has a credit system in it, 24:32 like Fortnite, and you have V-Bucks in 24:34 it. You bought a bunch of V-Bucks on the 24:36 computer version, and then you go to 24:37 play it on the phone. If you don't have 24:39 a way to buy V-Bucks in the phone app, 24:40 they ban you. If they let you keep using 24:42 the credit card you already linked to 24:44 your account, they ban you. You have to 24:46 implement Apple Pay and give them their 24:48 30%. It is required. It is a rule. And 24:52 if you don't do it, you'll be banned. 24:53 And if you don't like it, I hope you 24:54 have good lawyers because you will see 24:56 them in court. There is an unless on 24:57 this one, though. If your app is selling 25:00 services or physical goods, you can get 25:03 by. And when I say services, I mean 25:05 in-person things like an Uber driver 25:07 that is going to drive you from one 25:08 place to another or Door Dasher bringing 25:10 you food or a Task Rabbit hanging up a 25:13 TV. Those don't have to have the 30%. 25:16 Those can be a perfectly flat zero and 25:18 Apple doesn't do anything about it. They 25:20 require you to enable Apple Pay as an 25:22 option, but they won't take a 25:23 percentage. So, your options are 30% if 25:25 Apple doesn't like your category or 0% 25:27 if you're in the blessed section that 25:29 they allow. They also, fun fact, had an 25:31 exception for video streaming 25:33 subscription services because Amazon 25:35 threatened to pull all Apple products 25:36 out of Amazon.com and also pull all of 25:40 their apps out of the app store, 25:41 including the Amazon app, if Apple was 25:43 going to enforce the 30% on Amazon Prime 25:47 for people doing Prime Video. And this 25:49 is why Apple introduced the Apple video 25:51 partner program to allow premium 25:52 subscription video providers to 25:54 participate in new TV watching 25:55 experiences. Also to get a slightly 25:58 lower cut. Getting into this program 26:00 drops your cut from 30% to Apple to 15 26:02 to Apple. And one company has ever in 26:05 history become part of it and it's 26:06 [ __ ] Amazon. It's insane. This should 26:09 have been its own lawsuit. This should 26:10 have been a class action. This should 26:11 have torn them to shreds. the number of 26:13 these types of [ __ ] things they do 26:14 where they put out this whole fake video 26:16 partner program thing literally just to 26:19 skirt the law. Insane. There are so many 26:22 categories of apps that have been made 26:25 nearly impossible or entirely impossible 26:27 thanks to Apple. Even something like 26:29 Twitch, where I'm currently live 26:31 streaming myself recording, Twitch takes 26:34 15 to 50% of the revenue for 26:36 subscriptions. Usually, it's 30 to 50%. 26:40 In order for Twitch to justify that, 26:42 they have to provide an entire platform 26:44 and experience where I and my audience 26:46 can interact. They have to eat a ton of 26:48 costs for video streaming, and they get 26:51 30% when somebody pays me $5. If Apple 26:54 also got 30% for just happening to be 26:56 the place the app was installed on, I'm 26:58 left with 40% of that transaction. And 27:01 don't get me started on something like 27:03 Patreon, where Patreon takes 5 to 15% 27:06 and Apple hard enforces their 30. That 27:09 means that platforms that want to make 27:10 it easier for people to support creators 27:13 like me don't make any sense at all 27:15 because Apple will take a hostage fee. 27:16 If I wanted to out of the goodness of my 27:18 heart create a platform that only takes 27:21 3% because that's what Stripe 27:22 effectively charges and let you donate 27:25 to somebody without me getting any money 27:27 just like a charitable thing. If I built 27:29 like a GoFundMe style app and only took 27:32 transaction fees and nothing else, Apple 27:34 would still get 30% of every single 27:36 transaction. We will never have a 27:38 GoFundMe app because if we did and you 27:40 paid through it, Apple would take a fee. 27:43 And that 30% fee destroys whole 27:45 categories of potential types of 27:47 software. Patreon would not be dying as 27:49 a business if it wasn't for Apple's 27:50 [ __ ] Twitch would still be dying 27:52 because of their own incompetence, but 27:54 they would be struggling a lot less if 27:55 it wasn't for Apple's [ __ ] When I 27:57 was at Twitch, we had to just not allow 27:59 subscriptions on iOS for a while. And 28:01 eventually the workaround that we found 28:03 was selling subs as a currency where you 28:06 could buy a subscription for $6.50. 28:09 It would be cash in your account and 28:11 then when you went to click the sub 28:12 button, it would deduct from that and 28:14 that would effectively let you have this 28:16 tiered system where the 650 is where 28:18 Apple took their 30% and then what was 28:21 left was cashed as a thing you could go 28:23 spend on somebody later. The fact that 28:24 we had to invent a novel currency on 28:26 Twitch just to simply comply with 28:28 Apple's stuff is insane because they 28:30 wouldn't let us offer a cheaper version 28:31 on the site. Horrifying. And don't get 28:34 me started about recommending people 28:35 leave the app because Apple will ban you 28:38 for that, too. In fact, they went back 28:40 to court and lost twice because of how 28:42 strictly they were banning this. I have 28:43 a whole video about Apple's lack of 28:45 compliance with the Epic Games ruling 28:47 that I would recommend watching after 28:48 this if you want to hear even more. Holy 28:51 [ __ ] I'm going to stop myself here even 28:53 though it's hard because I haven't even 28:54 talked about the [ __ ] show that is app 28:56 reviews where Apple can just randomly 28:58 arbitrarily decide that your app's no 29:00 longer allowed because of some 29:01 functionality they approved a year ago 29:03 or because you gave us charges on how 29:04 they can sign into the app and use it 29:06 and they didn't read them and then they 29:07 yell at you and say, "Sorry, we can't 29:09 verify the app. You won't let us use it. 29:10 You're banned now." And you're like, 29:11 "Wait, I literally gave you 29:12 instructions." And they send you a 29:14 screenshot where they typo the [ __ ] 29:15 email and sign in, which I've had happen 29:17 three separate times. I couldn't ship an 29:19 update because the reviewer typoed the 29:21 email address I gave them for a fake 29:22 signin credential. Unfucking believable. 29:25 Theo from the future because I 29:26 remembered one more app store policy 29:28 thing. I can't stop myself. This one's 29:30 important. Uh scamming kids is their 29:32 business model. This one hurts. If you 29:36 don't have kids or friends with kids 29:37 that you've talked to about these 29:38 things, you don't know how bad this is. 29:41 It is incredibly common for kids to 29:43 install an app that says it's free, that 29:45 is free, and then randomly a pop-up 29:47 comes up in it that says you can use 29:49 this part of this app and it's only $50 29:52 a week and the first seven days are free 29:55 and then it bills weekly from that point 29:57 forward and you end up with your kid 29:59 accidentally setting up subscriptions to 30:01 the tune of a,000 plus dollars a month. 30:03 These stories come out all the time. 30:04 They get international news attention 30:06 and Apple doesn't do [ __ ] [ __ ] about 30:08 it. They don't even ban the apps for it. 30:10 Apple makes a meaningful percentage of 30:12 their yearly revenue by scamming 30:14 children. And they're not banning it 30:16 because they don't want to touch the 30:18 golden goose. They'll let those kids get 30:20 scammed. They'll let those parents lose 30:21 all their money because they make money 30:23 off of it. They get 30% of every scammed 30:25 kid's revenue. Why would they ban it? I 30:28 firmly believe there is not a single 30:30 weekly subscription service in the App 30:32 Store that isn't a scam. Apple leaves it 30:34 in because changing it would hurt their 30:36 revenue. Apple doesn't ban these apps 30:38 because banning them would hurt their 30:40 revenue. Apple doesn't address these 30:41 problems because they like their revenue 30:44 more than they like kids having a safe 30:45 experience on their phones. Crazy that 30:48 Apple is at that point, but they are. 30:50 Here's a fun fact. Did you know that 30:52 Xcode is just Nextep? If you were born 30:55 in this century, you probably don't know 30:57 what Nextstep is. Did you know that 30:58 Steve Jobs got fired from Apple and then 31:00 he went and built his own computer 31:02 company? And because he knew the fact 31:04 that Apple's software was such [ __ ] 31:06 garbage, there was no future in which 31:07 they could make an actual developer 31:09 platform. He decided to go the other 31:11 way. He decided to just build useful 31:13 software that would make it possible for 31:15 devs to do real things. Next step was 31:18 the object-oriented computing platform. 31:20 They were trying to make OOP the selling 31:22 point because the Apple development 31:24 ecosystem was so bad. Steve Jobs 31:26 genuinely believed he could sell 31:28 software, he could sell computers just 31:30 by marketing it as we don't suck to 31:32 write code for. And he was right enough 31:34 because Apple had to buy NextStep. And I 31:36 have learned this from Apple employees 31:38 that might even get fired for me 31:40 mentioning this, but it was long enough 31:41 ago that I don't remember their names 31:42 and there's no way the link could be 31:43 made. The majority of the core of Xcode 31:46 is still the same NextStep code base 31:49 that they bought from Steve Jobs when 31:50 they bought his company. Apple was so 31:53 far behind that they rebranded nextep as 31:55 Xcode and have continued to iterate on 31:58 it since. The core of Xcode is over 25 32:02 years old. Why would we ever expect it 32:04 to function? Don't worry though, they 32:06 added a local model to help with code 32:09 completion. [ __ ] die. I cannot 32:12 believe the state of Xcode. It is not a 32:14 shock that the software quality of Apple 32:17 stuff has been going down. that iOS and 32:20 Mac OS are getting buggier because the 32:22 people building it have to build it in 32:23 [ __ ] Xcode. I don't know how good of 32:26 a cake you would expect if they're 32:27 cooking it on [ __ ] plastic. If you 32:30 were given like two pencils and a ruler 32:32 and told to build a cake, I wouldn't 32:33 expect a very good one, but for some 32:35 reason Apple thinks Xcode is in a 32:37 reasonable state and refuses to fix it. 32:39 Do you have any idea how many times 32:41 Xcode has crashed because I checked out 32:43 a different branch? Do you have any idea 32:45 how many times Xcode is locked up and I 32:47 had to go purge its entire cache 32:48 manually to get it to even [ __ ] open 32:50 again? Do you have any idea how much 32:52 time is wasted with Xcode rebuilding 32:54 steps that were absolutely cachable 32:56 because they have no concept of 32:57 progressive build systems? It is easier 33:00 to build a Linux than it is to build an 33:02 iOS app. It's actually insane. I just 33:05 wanted to open Xcode to see how long it 33:07 takes for me to crash it or deal with it 33:08 again. And it's reindexing files that 33:11 haven't changed since I last opened it. 33:13 It's insane. This is a 128 gig of RAM 33:15 machine and Xcode will easily use half 33:17 or more of it. And then the simulators, 33:19 too. Don't get me [ __ ] started on the 33:21 simulators. Holy hell. There's a little 33:23 cloud button now cuz they let you use 33:25 Xcode cloud now because their software 33:28 is so impossible to [ __ ] use that 33:31 you're expected to just put it on their 33:33 cloud instead and pay them money 33:34 instead. 33:36 The fact that this is necessary software 33:38 to build an app is insulting. There is 33:41 no way to build an app for an iPhone 33:44 without it going through Xcode in one 33:46 way, shape, or form. Thankfully, with 33:49 something like Expo, you can build the 33:51 native part once, put it on your phone, 33:53 scan a QR code, and now you can load the 33:56 dynamic.js from a web server on your 33:58 computer, which is so much less bad that 34:00 I could actually get work done on my 34:02 phone from my phone, except for the fact 34:04 that I still have to go phone home every 34:06 7 days to plug in the phone and confirm, 34:08 yeah, I'm allowed to do this. And even 34:10 better, the Expo bundler that they used 34:13 to have on the App Store where you could 34:14 scan a QR code and get work done can no 34:17 longer be updated because of Apple's 34:19 hard ban of anything even vaguely vibe 34:21 coding and app generation related. I 34:23 don't think we're going to pass our 34:24 first round of app store review with T3 34:26 Code. Even though T3 Code doesn't run on 34:28 the phone, it is just a wrapper that 34:30 connects to your computer and sends 34:32 messages to and from the computer. The 34:35 fact that it is dynamic software might 34:37 be enough for Apple to ban us. I don't 34:39 know. I will be sure to report back once 34:40 we go through the review, which we have 34:42 to. Not cuz we're shipping the app, but 34:44 because we want to have access to the 34:46 app in test flight. 34:49 The real reason I'm a web dev is because 34:50 I tried to be a mobile app dev, and 34:52 Apple made it so goddamn hard that I 34:54 gave up and learned a new language and 34:55 platform. I have been avoiding Xcode to 34:57 the best of my ability for the better 34:59 part of a decade now. So, I'm going to 35:01 use AI, Apple's least favorite thing, to 35:03 cite all of the ways it sucks. 35:05 Incremental builds become slower than 35:07 clean ones. No code changes can still 35:09 trigger multi-minute rebuild work. We 35:10 just saw that in mind. Xcode can spend 35:12 most of a build on vague phases like 35:14 planning swift module. Build types are 35:16 nondeterministic enough that devs stop 35:17 trusting the machine. Clean build folder 35:19 is a religious ritual. Deleting derived 35:22 data becomes folk medicine. Build errors 35:24 often disappear after restart, clean, or 35:26 reopen, which trains devs to debug the 35:27 tools before debugging code. And you 35:30 also sometimes can't even see the error. 35:32 When you click it, it goes to some 35:33 random file and gives you no context. So 35:35 even finding the error is obnoxious. 35:36 Small Swift UI changes can cause massive 35:38 type-checking work. Swift's type checker 35:40 is clever in design, horrible in 35:43 practice. Swift compile errors are 35:45 sometimes not your code is wrong. 35:47 Rather, the compiler gave up. There's a 35:49 reason why the guy who designed Swift 35:50 left and says he regrets it. The classic 35:53 error, unable to type check this 35:54 expression in reasonable time is 35:56 especially hated because it often points 35:58 at a broad expression instead of the 35:59 actual cause. Yep. Professionals have to 36:02 refactor code not because the design's 36:03 out, because the compiler can't handle 36:05 the shape of the code anymore. Build 36:07 performance is extra punishing in Swift 36:08 UI because Vuebuilder lets you write 36:10 code that looks clean but explodes the 36:11 compiler's complexity. Mix Objective C, 36:13 Swift, C++, SP, and Copods projects 36:16 become a build system haunted house. 36:17 Don't even get me started on the fact 36:18 that CocoPods is a third party Ruby 36:21 thing that we had to build third party 36:24 because Apple has no concept of a 36:26 module. 36:27 I'm going to die. Archive builds can 36:30 behave differently from run builds. So 36:32 works locally does not mean the shipped 36:34 artifact works. Okay, I'm going to go 36:36 back to the Cocoa Pods thing because uh 36:38 fun fact, do you guys know what the guy 36:40 who made Coco Pods did after trying his 36:42 hardest to fix iOS dev? He went to 36:44 Microsoft and became a Typescript 36:46 contributor because he wanted to 36:47 contribute to an ecosystem that cared 36:49 and actually improved year-over-year. 36:51 Imagine any modern tooling not having a 36:54 way to do packages and instead of 36:56 embracing and embedding it, they just 36:58 ignore it and then the person who makes 36:59 it goes to your biggest competitor and 37:01 works on a different language entirely. 37:02 The fact that didn't become the head of 37:05 developer ecosystem at Apple is way 37:07 funnier to me than the [ __ ] who made 37:09 Brew not being able to get a job. I know 37:11 companies whose builds take over a day 37:13 and a half. And since Apple doesn't 37:15 really allow for caching and incremental 37:17 stuff, because as we mentioned before, 37:18 incremental builds are often longer than 37:20 the clean ones, there's nothing they can 37:22 [ __ ] do. Your reward for making big 37:25 large software on iOS is you need 15 37:28 people to try and keep the build times 37:30 down. And maybe you'll be able to get 37:31 your app out in under two days. Maybe. 37:34 Insanity. The indexing is a shitow. 37:37 breaks your editor when it's running and 37:39 it doesn't function when it's not there 37:41 yet. Swift UI previews like chat, do any 37:44 of you actually use the previews for 37:45 Swift UI? Cuz I've never met a serious 37:47 iOS dev that bothers. Never worked for 37:50 me. No, no, previews are useless. No 37:53 previews are [ __ ] Literally not a 37:55 single person saying yes or sometimes. 37:57 It is one sometimes now. Everybody else 38:00 is never or I don't use Swift UI. 38:02 Someone said they've stopped even doing 38:03 Swifty. I've done the same. I'm back to 38:05 appkit cuz at least it [ __ ] 38:07 functions. LLDB is an absolute shitow. 38:10 So, good luck debugging things that 38:11 aren't just [ __ ] syntax. Oh god, the 38:14 copy pasted simulator breaking happens 38:16 to me at least once or twice a day. It 38:18 is obnoxious. Why I stopped using 38:19 simulator entirely. The simulator need 38:21 to be reinstalled I've had a few times 38:22 too. I thought I was just doing 38:23 something wrong. I did not know that was 38:24 that common. You often have to erase all 38:26 content and settings. The runtime 38:28 downloads are massive. Yeah, when I get 38:29 a new Mac I want to use for iOS dev, I 38:31 just expect it to not work for the day. 38:33 has to download so much [ __ ] 38:34 Multiple simulator versions eat absurd 38:36 amounts of disc space. Yep. Simulator 38:39 bugs are different from device bugs. 38:40 Device bugs are different from simulator 38:41 bugs. Some things work only on physical 38:44 devices, some only on simulators. And 38:46 Apple's docs are not clear about which 38:48 is which. Testing login, AP push, 38:50 background modes, widgets, app groups, 38:52 keychain, and entitlements can send you 38:53 into device simulator mismatch hell. 38:56 Already been there, too. This I ran into 38:58 today. As of the most recent Xcode 26 39:01 build, Mac clipboard paste stopped 39:03 working in simulator. Users reported 39:05 that command V wouldn't do anything and 39:07 there was no paste option with one 39:08 person saying they had to OCR 39:09 screenshots in order to get the error 39:11 messages. Yep, any subset of these bugs, 39:14 any five of them is enough for me to 39:17 move off of a piece of software. But 39:19 instead, we have to deal with thousands 39:21 of them because we're not allowed to use 39:23 other choices. There is no other option. 39:25 We have to use Xcode. So, we deal with 39:28 all of this. Oh, I didn't even get to 39:29 the git section yet. Project.pbx Praj is 39:32 the most hated file in professional 39:34 Apple development, possibly the most 39:35 hated ever other than DS store. It's 39:37 huge, fragile, and not meant to be 39:39 meaningfully handedited. It merge 39:41 conflicts all the time for basically 39:42 anything. The project file can fail to 39:44 open if it's malformed, which makes 39:46 means you can't open the project at all 39:47 to fix things. Diffs are unreadable. The 39:50 IDE mutates project state in ways that 39:51 are hard to review. This is something I 39:53 was talking about earlier. Xcode 39:55 projects preserve a pre-Git worldview 39:57 and rather than fixing it, they are just 39:59 ignoring it. The the fact that Git 40:02 doesn't work properly with iOS apps is 40:04 enough to to end this. Be like, "Okay, 40:07 Apple, fix that. Move on." That would be 40:08 that would be a showstopper by itself. 40:10 But combined with everything else, it 40:11 becomes a [ __ ] bullet point. I'm 40:13 going to drop my hottest take about 40:14 Xcode and then we're going to move on 40:16 from it and talk about the rest. Xcode 40:18 can never be good because the Xcode team 40:20 has never experienced good. Xcode 40:22 developers at Apple have never worked on 40:25 anything other than Xcode to build Xcode 40:27 on Apple platforms. Maybe they used 40:29 Xcode to build an app before and that's 40:30 how they got their job. They don't know 40:32 what good looks like. They don't have a 40:34 reference. They live in their bubble, 40:37 their shitty silver bubble, and they 40:39 never look outside of it because it's 40:40 fully opaque. They don't know how bad it 40:43 is because they've never experienced 40:44 what decent software is, what decent 40:46 experience building software is. They 40:48 don't even know. And you know what? I 40:50 feel bad for them. I genuinely do. These 40:52 are people that will never love building 40:54 software because the software they have 40:57 to build is garbage and the software 40:58 they use to build it is garbage. To go 41:00 back to the cooking analogy, I can't 41:01 imagine somebody becoming a master chef 41:03 if all they have to cook with is a few 41:05 matches in a plastic pan. Like, you're 41:07 just never going to love the thing if 41:08 the things you have to do it with are 41:10 trash. Insane. So, again, Xcode is 41:13 engineered from its core and from its 41:15 team structure to never allow for good 41:18 software development. Somebody in chat 41:20 is so deep in the Stockholm syndrome of 41:23 iOS dev that they sincerely wrote this 41:26 message. I'm not trying to pick on this 41:28 person. I just want you guys to 41:29 understand this is why we have the 41:30 problem. I'm missing a few important 41:32 things. While iOS isn't the best 41:34 experience for devs, it's also not meant 41:36 for super quick iteration like I expect 41:38 from web. He's on a team that deploys 41:40 apps for 20,000 users on the App Store 41:42 only. No Android or web app. And you 41:43 just get used to the quirks after a 41:45 while. You just get used to the quirks 41:48 after a while. You just get used to git 41:51 not functioning in iOS projects. You 41:53 just get used to builds randomly taking 41:55 hours instead of minutes because the 41:57 things that cache them don't function 41:59 properly. You just get used to an app 42:01 that crashes half the time you're trying 42:03 to build. You just get used to an 42:05 ecosystem with no concept of package. 42:07 You just get used to writing software 42:09 like we're still in the [ __ ] '9s. You 42:12 know what? If you want to write software 42:13 like we're in the '90s, feel free. I'm 42:15 gonna write it like we're in 2026. I've 42:18 said enough about Xcode. I've said too 42:19 much about Xcode. I have thought about 42:20 this piece of software way more than any 42:22 human should have to. It is insulting 42:24 that it still exists. And on this note, 42:27 I want to get a little more existential 42:29 because Apple's absolute [ __ ] way of 42:32 running iOS will hold back the future of 42:35 AI powered experiences. I hope we've all 42:38 learned this by now. AI isn't just a 42:41 thing you stuff into your apps. AI is a 42:44 thing that changes how you should use 42:45 your computer. I didn't really have 42:47 issues with how I navigated my Mac 42:49 before I started coding with AI. And 42:51 suddenly the horrible shitow that is 42:54 workspaces on Mac OS combined with the 42:56 less than ideal app hierarchy made me 42:59 feel like I was going insane. So I 43:01 started to use Linux more heavily. And 43:03 it was one of the biggest breaths of 43:04 fresh air I've ever felt in my life. It 43:06 felt like I was trapped in a sewer with 43:08 no light or clean air for my entire 43:10 life. and all of a sudden I was in the 43:12 sun with fresh oxygen. But at the very 43:15 least, we can customize how our OS works 43:17 a little bit. For example, I am 43:20 currently voice detecting on my Mac 43:22 using Whisper Flow. It's really good. It 43:26 has changed part of how I interact with 43:28 my computer. I have a key on my keyboard 43:30 that causes another app to trigger which 43:33 has an overlay that takes over a small 43:35 portion of my screen and then it makes 43:37 changes to the thing I'm currently in. 43:39 If it's a text box, it types things out 43:41 in that text box. That's an OS level 43:44 change. Not in the sense that you have 43:45 to customize the operating system to do 43:47 it, but in the sense that it's not just 43:49 an app that is open and focused like my 43:51 other apps are. It is a thing that 43:53 augments how I use the computer. And the 43:56 harsh reality is that a lot of the best 43:58 AI experiences we're going to have going 43:59 forward are going to be things like 44:01 that. Things that don't just change how 44:03 the app works, they change how the 44:05 relationships between our apps and 44:07 ourselves work. things like the super 44:09 powerful computer use primitives that 44:11 are built into Codeex. Codeex can use my 44:13 browser in another window while I'm 44:16 still using other things on the computer 44:18 at the same time. Code is able to use my 44:19 computer when the screen's off. Codex is 44:21 able to go to different apps and do 44:23 things in them. Codeex can use my 44:25 computer better than I could use my 44:27 iPhone. And you bet your ass Codex can't 44:29 use an iPhone. I'm not saying it's easy 44:31 to do this on other platforms. 44:33 Automating Windows and Mac OS is hellish 44:35 and Linux is better, but not a lot. But 44:37 at least we can. We can customize how we 44:40 use and navigate the platform. People 44:42 have built everything from different 44:43 window managers to spotlight 44:44 alternatives that are 100 times better. 44:46 Seriously, Raycast is one of the best 44:47 things I've ever installed. I'm not even 44:48 paying for it. It's just worth it. 44:50 Definitely recommend it. The fact that 44:52 Spotlight is so slow in comparison is 44:53 just funny to me. But there are so many 44:56 of these things, so many of them that my 44:58 Mac is barely even a Mac to an extent 45:01 because I have added all these things 45:03 that change how it works. I can't do any 45:05 of that on my iPhone. If it turns out 45:08 the best use cases for AI are it 45:10 controlling my device, it navigating my 45:13 device, it pulling context from 45:14 different places into one place, 45:16 customizing how my apps work in 45:18 different ways, using my apps for me, 45:19 all these types of things. We'll never 45:21 know. We'll literally never know because 45:23 Apple will never let us do it. If it 45:26 turns out Siri is actually the best 45:27 place to interact, that holding down a 45:29 button and getting a voice assistant to 45:30 come up and then talking to it is the 45:32 best place, we'll never know because 45:34 Siri's a [ __ ] joke and we can't use 45:36 other options. Siri's the only layer 45:39 into all of these things to the extent 45:41 that Apple's even willing to expose 45:42 them. It's since it's powered by 45:44 absolute garbage that might get a little 45:46 better with the new iOS will never 45:49 really get to embrace what it's 45:51 possible. We'll never really get to 45:52 embrace what it could do. All of the 45:54 innovation happening in places like 45:56 Codeex and Whisper Flow on desktop 45:58 cannot happen on iOS. Whisper Flow even 46:02 has an iOS app and it's pretty cool 46:04 considering the restrictions. The way it 46:06 works is they replace your keyboard with 46:08 a Whisper Flow keyboard. But since you 46:11 can't use voice in the keyboard app if 46:13 you're not the official Apple keyboard, 46:15 hitting the mic button forwards you over 46:17 to the Whisper Flow app to turn on the 46:19 mic and it then becomes a live activity 46:21 which sits at the top of your phone and 46:23 leaves your mic on 24/7 until you go 46:25 manually turn it off. Or you could use 46:27 the awful voice to text on built-in 46:29 Apple keyboard and built-in iPhone and 46:31 just tap it, talk, and then tap it again 46:33 and it gets half the words wrong, but it 46:35 doesn't leave your mic on. We'll never 46:37 see how powerful AI could be on a phone 46:40 because Apple will never let us. Apple 46:42 will never let us make a better iPhone 46:44 AI. They'll never let us experiment with 46:46 new things AI can do on iPhone because 46:48 they have decided that layer is theirs. 46:51 We can build apps on our phone and maybe 46:53 someday Apple will let those apps 46:55 interact with the Siri layer that they 46:58 own and define, but not the other way 47:00 around. We'll never be allowed to make 47:02 an app that controls our phone. We'll 47:04 never be allowed to make an app that can 47:05 adjust other apps. We'll never be able 47:07 to make an app that's not even an app 47:08 that's just a layer that does things on 47:10 our device. We'll never be allowed 47:12 because Apple doesn't care. And this is 47:14 a whole category of things that we'll 47:16 just never get to see or experience. I 47:19 hate to go into whatif territory here, 47:21 but it's hard not to. Imagine a world 47:24 where things like Whisper Flow could be 47:26 used on iPhone properly. Imagine a world 47:28 where something like Codeex and its 47:29 computer use capabilities can work on an 47:31 iPhone. Imagine a world where if you 47:34 have an app you're using that could be a 47:36 little bit better, have a thing changed, 47:37 and you can talk to your phone and it 47:39 changes the app for you. We'll never see 47:41 it. It'll never happen because Apple 47:43 does not want us to try. Apple wants all 47:46 innovation on mobile to come from Apple. 47:48 And you know what? They succeeded 47:50 because we have to crash out a little 47:52 about Android. This is a talk from Scott 47:54 Jensen. He worked on Android at Google. 47:56 He worked on Canonicle and Ubuntu for a 47:59 while, too. And it's one of my favorite 48:00 talks about UX ever. I think about it 48:02 all the time. But there's a specific 48:04 quote I want to grab from here about 48:05 Android that has held true to this day. 48:08 >> Okay, that's what it feels like when you 48:10 color outside the lines. If you do 48:12 something that no one else has done 48:13 before, you're jumping into the trash 48:14 compactor. But how can we be Princess 48:17 Leia? We need to be Princess Leia. We 48:20 need to try some of these more crazy 48:21 things. And I know it's hard, but how 48:24 can we do these experiments in such a 48:26 way that we don't feel like we're taking 48:28 so much of a risk? 48:31 Some of my stuff at Google was not 48:32 shipping and I was quite frustrated. I 48:34 talked to a VP about it and he said 48:35 something I'll never forget. He goes, 48:36 "The fastest way to ship your features 48:38 to have Apple do it first." Thanks, Mr. 48:40 Senior visionary guy. 48:46 It was so frustrating that but that's 48:49 what why we were copying desktop in the 48:53 first place because they took all of the 48:55 the pressure off of us and yet we have 48:57 to be think more about that. So, you get 48:59 the idea. Android doesn't bring anything 49:02 to the table because Android is just 49:04 Google's attempt at copying iOS. That's 49:07 all it is. Almost everything we've 49:09 talked about here, okay, twothirds of 49:11 what we talked about here is the case on 49:13 Android 2. Not because Google is greedy 49:16 or selfish or is trying to maximize 49:18 their return. It's just because they're 49:19 copying Apple one for one. Google didn't 49:21 take 30% of App Store purchases on the 49:24 Google Play Store because they want to 49:25 make a bunch of money. They make almost 49:26 nothing off it. They did that because 49:28 it's what Apple does. Google doesn't 49:30 have a complex app review process that 49:32 gets rejected all the time for even 49:34 worse reasons than Apple apps do because 49:36 they wanted to or because it protects 49:38 them in some way. There's still way more 49:40 malware on the Android store than there 49:41 will ever be on anything Apple's ever 49:43 made. They do it because Apple does. 49:45 Google doesn't restrict the OS level 49:47 controls that your apps can make because 49:49 they want to because they're protecting 49:51 your device. They're doing it because 49:53 Apple does. Android isn't [ __ ] because 49:55 Google is [ __ ] Okay, it's partially 49:57 [ __ ] because Google is [ __ ] Android is 49:59 largely [ __ ] because iOS is. It is sad 50:02 that we live in this world, but we do. 50:05 The vast majority of the problems I have 50:07 with iOS still exist with Android, but 50:09 there's a big difference. My iPhone is 50:11 still a good phone and it still has good 50:13 apps. And I wish that wasn't the case. I 50:16 wish Google would let us do a little 50:18 more with Android. I wish they would 50:19 take advantage of the unique opportunity 50:21 they have. I wish they would like buy 50:23 Expo and embed it into the platform and 50:25 let everyone customize every app on 50:27 their phone. Let everybody build their 50:28 own overlays, build their own voice to 50:30 text, build their own whatever they 50:31 want. If Android was to be treated less 50:34 like iOS and more like Chrome, we could 50:36 live in a different world than we do 50:38 today. But we don't because Android 50:40 isn't trying to be good. It's not trying 50:43 to be Google's. It's trying to be Btier 50:46 iOS. And you know what? They succeeded. 50:49 That's all it is. And every major 50:51 Android update just feels more like a 50:53 bad iPhone than before. And a lot of the 50:55 things they copied were for the better. 50:57 Like the navigation system they stole 50:58 from iOS is way better than the old back 51:00 button. I'll fight you Android people on 51:01 that. It's so much easier to navigate. 51:04 It makes so much more sense. Even if the 51:05 apps haven't been updated accordingly 51:07 because the apps never get updated 51:09 because nobody cares about Android apps. 51:10 I don't make any money. Nah, Android is 51:12 a shitow necessarily and I don't think 51:15 that will ever change. That said, I'm 51:18 working on my own slot fork of Android 51:19 that'll allow the types of customization 51:21 I'm looking for. I don't think it'll go 51:22 anywhere, but I'm just doing it out of 51:24 curiosity at this point because anything 51:26 is better than the [ __ ] show we live in 51:27 today. So, what could things look like? 51:30 What would the future be like if we 51:33 could actually do the things we should 51:36 be able? Want to talk briefly about the 51:39 what if. Imagine a world where a 51:41 10-year-old who just got their first 51:43 iPad could also build iPad apps. Imagine 51:46 a world where once they build that app 51:48 on their iPad, they can share it with 51:50 their friends. Imagine a world where 51:51 somebody could customize their iPad and 51:53 the way it interacts based on their 51:54 specific needs or possibly their 51:56 disabilities. Imagine a world where 51:57 instead of Siri is the only option, we 51:59 could have chat GPT, Claude, and maybe 52:02 even Gemini as options that have the 52:04 same level of OS primitive access and 52:06 control. Imagine a world where keyboards 52:08 aren't forced to only use like 50 52:11 megabytes of RAM and connect to other 52:12 things. Imagine a world like the one 52:15 that Steve Jobs promised us all the way 52:18 back where you don't even need an SDK to 52:21 get started. Where you could build an 52:23 app and access everything your device is 52:25 capable of without needing Apple's 52:27 permission to do stuff. Imagine a world 52:29 as creative and exciting as Steve Jobs 52:31 imagined it. Imagine a world like the 52:33 one Steve Jobs promised in his first 52:35 discussion of apps on the iPhone. 52:38 Imagine how much cooler software could 52:40 be today. Maybe we wouldn't all just 52:42 rotate between the same four apps all 52:44 day. Maybe we wouldn't all just live in 52:45 YouTube and Twitter and Gmail. Maybe, 52:48 just maybe, someday, we'll see a world 52:50 where our phones are somewhat 52:52 customizable. Maybe even half of what 52:54 our computers can do. But sadly, we 52:57 don't live in that world today. We live 52:59 in a world where all the cool [ __ ] 53:01 happening happens on computers. And the 53:04 coolest thing you could do on your phone 53:05 right now is send a message to a 53:07 computer so it can go do real work. It's 53:09 so hard to imagine this world that when 53:12 I tried to do my Android slot fork where 53:14 it could bundle apps itself, even an AI 53:17 as powerful as Fable couldn't imagine it 53:19 and just couldn't figure out what I was 53:21 asking for. It kept trying to figure out 53:23 where the server would run and 53:24 eventually concluded that it could 53:26 virtualize Linux in order to do the 53:28 build on my device because the world I'm 53:31 imagining here is so different from 53:33 reality that even the best AI in the 53:35 world can't imagine what I'm thinking 53:36 of. But do you know what I'm thinking 53:38 of? I'm just thinking of my Mac. I'm 53:41 just thinking of Linux. I'm just 53:42 thinking of my Windows computer. I'm not 53:45 thinking that far out. I'm not asking 53:47 for infinite customization. I'm not 53:49 asking for infinite control. I'm asking 53:51 for Apple to stop treating the [ __ ] 53:53 iPhone like a Blackberry from 2004. I 53:56 want a device that I can install 53:58 software on myself. I want a device that 54:00 I can talk to with a system I chose. I 54:04 want a device that can be used for 54:05 things other than Apple's blessed 54:07 categories because the device is too 54:09 powerful and too useful and too much in 54:12 my life and in my pocket for it to be so 54:14 goddamn restricted. In many ways, my 54:17 iPhone is the most magical device I've 54:18 ever owned. It's unbelievable what it's 54:20 capable of on a thing that small in my 54:22 pocket. It can do almost anything. It's 54:25 a shame Apple lets you touch a third of 54:27 those things at best. 54:29 And John Tarnis, the new CEO of Apple, 54:32 your heart's in the right place. You 54:35 care more about hardware and reliability 54:38 than you care about profitability. Tim 54:40 Cook had one job. Maximize margins. And 54:44 he did it so goddamn well. He took Apple 54:46 from a failing company just barely 54:48 surviving on the iPod and iPhone to one 54:50 of the most valuable companies in the 54:51 world. Briefly the most valuable company 54:53 in the world. If you guys don't fix 54:55 this, you're not going to be able to 54:57 hold your position there. But you still 54:59 have this insane lead in hardware. Let 55:02 the hardware win. It always was going 55:04 to, and you know that, and you're going 55:06 to ensure that since the hardware 55:08 division is guaranteed to be successful, 55:11 let software experiment a bit, just a 55:14 little. Let me install apps without 55:17 getting permission. Let me build an iPad 55:20 app on my iPad. Let the children cook. 55:23 Let the next generation invent the next 55:26 generation. Don't prescribe the way 55:28 Blackberries worked in 2004 to the 55:31 children that don't know what a 55:32 BlackBerry is. Most kids will never 55:35 experience the ability to install an app 55:38 or customize it outside of the App Store 55:40 until they get their first MacBook or 55:42 Windows computer in their late teens to 55:45 early 20s. The lock in on iOS is no 55:48 longer just locking down the platform. 55:50 It's locking down the brains of these 55:53 kids. They don't know how to think 55:54 outside of the box because you've made 55:56 the walls too stiff. They're too opaque. 55:58 They don't see outside of it anymore. 56:01 Fix this before we die off or the next 56:03 generation will never realize software 56:05 can be changed. Because the world they 56:07 live in is a world where software is 56:09 done the way the software is done. And 56:11 that's not the world I want to live in. 56:13 I'm excited for a future where the kids 56:15 make their own apps, build their own 56:17 experiences, invent their own games, 56:19 share their own worlds with their 56:21 friends, and you stand between us in 56:23 that world. Apple's the only thing 56:26 preventing this from happening. And I 56:29 really [ __ ] hope they stop because 56:31 the impact is no longer just iOS. The 56:33 impact is generational. And the kids 56:36 don't know what files are anymore. They 56:38 certainly don't understand that they can 56:40 build their own software. Fix it now 56:42 before it's too late. It might already 56:44 be. I knew I had feelings on this one, 56:47 but holy [ __ ] I Yeah, I've said all I 56:51 have to. Hopefully, you know this video 56:53 is sincere because this is a thing that 56:56 I've been concerned about for a long 56:57 time. And the severity of it has been 56:58 raising in my head the more I talk to 57:00 the next generation and realize how much 57:02 Apple's corrupted their brains with 57:03 their [ __ ] 57:05 I don't think they'll fix it. It might 57:06 already be too late. This might have 57:07 been a useless rant, but I had to get it 57:09 out of myself. I hope that you guys 57:11 heard what I had to say here and that 57:12 you actually understand what I'm trying 57:14 to get out of me. 57:17 I don't want to live in a world where 57:19 software can't be changed. And I hope 57:21 that maybe one of you guys might buy one 57:22 of your kids a Linux computer at a young 57:24 enough age to actually use it for cool 57:26 things and that you can get them excited 57:27 about software being malleable instead 57:30 of tired of software being locked in. 57:32 The web I used to explore has been 57:34 replaced by apps that are super locked 57:35 down. The operating systems that I used 57:38 to customize have been replaced with 57:39 ones that I can't even install apps on 57:41 without Apple's permission. The devices 57:43 I used went from absolute shitows that 57:45 need to be tethered to a wall to 57:46 unbelievable generation defining 57:48 hardware that can run for days without 57:50 needing a charge that can only do the 57:53 things Apple allows. And every time a 57:56 law changes in a way that it might 57:57 benefit us as Apple users, you guys go 58:00 out of your way to make sure it can't. 58:03 This is going to hurt the next 58:04 generation in ways I can't even fathom 58:07 and I'm already seeing it play out 58:08 today. Hopefully, you guys will make 58:10 sure this doesn't happen because I don't 58:12 trust Apple to do it. In fact, I don't 58:15 trust Apple at all anymore. The moment I 58:17 can finally get good photo and video 58:19 editing software on Linux, I might 58:21 finally retire this guy, except for the 58:23 fact that I need it to build iPhone 58:24 apps, which is why we end up here again. 58:28 I I'm done. I have nothing else to say. 58:31 I'm sorry I don't have a better message 58:32 to end this one on. Hug your loved ones 58:34 and buy them a Linux computer. It's the 58:36 only choice we have.