2025-05-21 09:43:15
过于批判
苹果的转型
我花了很多时间思考苹果应该怎样做不同的事情。我写了《苹果转型》一书,因为我的很多想法都陷入了僵局:我再也无法相信苹果会在不改变领导层的情况下做出这些改变。
当一家公司被描述为“处于转型期”时,通常意味着它需要恢复财务健康和偿债能力。上世纪90年代末的苹果正处于转型期。如今的苹果是世界上最成功的公司之一,经常报告巨额利润,因此这个术语似乎不再适用。
有一句老话:不要让好危机白白浪费。当事情变糟时,人们更容易接受以前不会考虑的改变。但完全避免危机更好。这就是苹果目前所处的境地:需要转型规模的改变,但目前并不处于那种(通常是财务)危机中,这种危机会促使其领导者做出改变。
新领导层几乎是转型的必要组成部分。一方面,这是因为财务表现不佳是少数仍能可靠追究责任的罪过之一。但另一方面,某些类型的改变需要新面孔带来的可信度。
那么,这些改变具体是什么?我认为苹果应该做些什么,但当前的领导层似乎不愿改变?需要领导层以何种程度的参与和理解才能实现这些改变?
为开发者的新协议
苹果与开发者的关系是其长期成功的关键。苹果无法独自完成所有事情。它需要第三方开发者来扩展其产品和平台的功能。开发者使苹果的产品更具价值。
苹果需要第三方开发者创造的东西,但还需要另一样东西:他们的信任和热情。2007年iPhone发布时(不支持第三方应用),苹果的开发者社区充满热情,渴望开发自己的iPhone应用。他们渴望得如此强烈,以至于在苹果2008年宣布iPhone SDK之前,就通过破解技术取得了成功。这种热情帮助苹果平台迅速达到了如今令人难以置信的成功高度。iPhone曾是一股上升的潮流,提升了所有船只的水位——至少在最初是这样。
如今,开发者对与苹果的关系感到不满。有很多理性的理由说明他们“不应该”满意,但正如我在《可能性的艺术》中所论证的,这些都无法改变现实情况。
苹果现任领导层能否改变某些政策来扭转局面?也许可以,但要赢回已失去的东西将是一场艰难的斗争。多年来,苹果拒绝采取任何措施来弥合这一分歧。即使法院要求其在这一领域做出改变,苹果也努力确保其“遵守”这些裁决对开发者来说改善效果最小。与此同时,苹果尽其所能(甚至超出)去抵制这些改变。
因此,对于苹果来说,说服开发者它已经改变了作风将非常困难,即使它想这么做。(而且,到目前为止,它显然不想这么做。)新领导层将拥有更有说服力的故事和更强烈的变革授权。
在思考这些改变可能是什么时,人们可能会认为这仅仅是改变开发者和苹果之间的收入分成比例。但金钱并不是问题的核心。看看苹果在2020年将App Store的佣金率从30%降至15%后,开发者情绪并未明显改善。
开发者喜欢金钱,但真正需要的是尊重。他们需要的是苹果倾听他们的声音并理解他们的体验。他们需要的是能够自主决定其产品和业务。
要理解仅靠App Store佣金率对修复这一关系有多大的作用,可以考虑苹果即使保持佣金率不变,也能扭转开发者情绪。也许像这样……
首先,将App审核从卡夫卡式的噩梦转变为一个理性、有效、支持性的流程,其中苹果和开发者合作成功发布软件。这意味着苹果内部有可识别的人类实体,能够及时、双向地沟通,并且能够说服开发者他们已阅读并理解了信息,同时被授权帮助解决问题。
其次,创建一个公开的漏洞跟踪器(允许开发者选择保留部分信息或整个漏洞报告的隐私,以确保专有信息不被泄露)。尽可能公开地开发苹果自己的软件。公布平均的漏洞响应时间和修复时间,并将这些数字维持在开发者满意的水平。
最后,取消所有对第三方支付方式和应用商店的限制。为第三方应用商店和支付系统提供一个公平的竞争环境(在可能的范围内)。选择的自由是确保开发者对苹果App Store分成、应用内购买系统和应用审核流程满意的最佳方式(也许是唯一方式)。不喜欢这些的开发者可以去其他地方。如果苹果想让他们回来,就必须为他们的业务竞争。
如果苹果能够很好地做到这些,它就可以维持当前的App Store分成,同时满足开发者。
最终,细节并不比选择正确的成功衡量方式更重要。当第三方开发者感觉苹果是他们的成功伙伴,而不是对手或统治者时,苹果就知道它已经成功了。
为高端价格提供高端体验
要以高价格维持客户满意度,最好的方式是培养一种始终如一支持产品的声誉。如今的苹果在这方面其实表现得相当不错。其硬件大多坚固可靠,支持体验在业内可能属于最佳之一(尽管这可能是一个相当低的标准)。
但有一个领域,苹果远未达到其理想状态:软件可靠性。高端品牌在产品按预期运行时会积累巨大的客户忠诚度。对于软件来说,实现这一目标需要不懈地追踪漏洞,直到剩下的漏洞如此罕见,以至于大多数人从未见过。
虽然对于从未在软件行业工作过的人来说,这可能并不明显,但其实这是一个领导层的问题。在创造新功能和确保现有功能正确运行(并逐步改进)之间找到正确的平衡,需要致力于这一战略的领导层。
这个行业中的几乎所有事物都会促使领导层朝相反方向发展。新功能推动销售。当有热门的新技术时,公司需要展示其能够使用它,否则就会被甩在后面。这些都是良好的、重要的动机——这也是为什么领导层很难成功地维护那些远不那么光鲜的实践,即修复漏洞和增强现有功能。
但维护是必须的。添加功能赢得游戏,但修复漏洞赢得冠军。
自从苹果现任领导层上一次展示出愿意以牺牲新功能为代价强调软件可靠性以来,已经过去了15年。从那时起,主要功能中的漏洞被允许长期存在,未被修复。
最近的苹果智能系统丑闻表明,苹果离正确优先考虑软件可靠性比以往任何时候都更远。苹果似乎愿意牺牲一切,包括自己的声誉,以确保在WWDC上宣布足够的新AI功能。如果我们想要不同的结果,似乎需要不同的领导层。
艰难的扩张之路
随着iPhone销量趋于饱和,苹果转向服务收入以维持增长。不幸的是,向现有客户销售越来越多的服务本质上会损害导致苹果巨大成功的根本理念。史蒂夫·乔布斯曾这样描述前苹果CEO约翰·斯库利的错误:
“我的激情是建立一家持久的公司,让员工有动力创造伟大的产品。产品,而不是利润,才是动力。斯库利将这些优先级颠倒了,目标变成了赚钱。这是一个细微的差别,但最终意味着一切。” ―史蒂夫·乔布斯
在iOS设置中的每一个红色徽章、每一个弹窗邀请订阅Apple TV+、每一个价值数十亿美元的产品植入广告,苹果都在以收入增长为代价侵蚀客户体验。
将财务成功置于一切之上的追求最终必然导致衰败。过去,蒂姆·库克曾展示出他对此的理解。但到目前为止,他对服务收入增长的承诺坚定不移。他要么不认为这与苹果的核心价值观相悖,要么愿意以牺牲这些价值观为代价换取增长。
苹果的新领导层无疑会面临类似的继续增长压力。如果服务收入增长不在考虑范围内,还有哪些选择?
有普遍共识认为,iPhone销量已经趋于平稳,因为苹果“已经没有更多人”了。几乎每个能负担智能手机的人已经拥有了一部。但并非所有人都拥有iPhone。安卓手机在全球市场份额中仍占主导地位。
如果苹果想要增长,它应该尝试用传统方式赢得一些新客户:制造更多人想要购买的产品。在这种情况下,意味着制造当前安卓用户想要购买且能负担得起的iPhone。
历史上,向下市场发展一直是苹果的禁忌。苹果的定价是重要的市场信号,传达产品品质和吸引力。假设苹果能与低端安卓手机竞争是不现实的。但同样荒谬的是,认为当前安卓(约70%)和苹果(约30%)的市场份额线是不可动摇的。每年都有数百万部“iPhone级别”(iPhone定价)的安卓手机被销售。苹果应该并可以竞争这部分业务。
未来之日
这些建议并不全面。一份完整的苹果应做的事情清单将包括在AI方面整顿内部事务、减少对中国的依赖、实现2030年的环境目标、重新打造一款出色的Mac Pro,以及数以百万计的其他事情,其中大部分苹果在目前的状态下都可以完成。
本文特别关注的是苹果似乎在没有新领导层的情况下无法或不愿做的事情。我已经描述了其中最重要的三点,但还有更多。这就是政权更迭的承诺和危险。新的人有希望超越过去的错误,做出新的选择。他们也可能犯新的错误,并有自己的优势和弱点。没有完美的领导。
例如,如果我必须选择一个人来成功地将苹果从目前对中国的依赖中转移出去,那会是蒂姆·库克。但这项工作需要更多年,而库克表示他可能不会在十年末之前继续担任苹果的职位。
无论何时找到蒂姆·库克的合适继任者都不会容易。但必须找到,而且越早越好。
我希望我错了。我希望苹果现任领导层能够认真审视这些长期存在的问题,并勇敢地改变他们的想法。失去的信任可以通过努力恢复。无论如何,我一如既往地支持苹果的成功。
© 2010-2025 约翰·西拉库萨
Hypercritical
Apple Turnaround
I spend a lot of time thinking about what Apple should be doing differently. I wrote Apple Turnover because so many of my notions kept running into a dead end: I could no longer bring myself to believe Apple would do these things without a change in leadership.
When a company is described as being “in turnaround,” that usually means it needs to be restored to financial health and solvency. Apple in the late 1990s was in turnaround. Apple today is one of the most successful companies in the history of the world, regularly reporting huge profits, so the term may seem inapplicable.
There’s an old adage: never let a good crisis go to waste. When things get bad, people are more open to changes they previously wouldn’t consider. But avoiding a crisis entirely is even better. This is where Apple finds itself today: in need of turnaround-scale changes, but not currently in the kind of (usually financial) crisis that will motivate its leaders to make them.
New leadership is almost always part of a turnaround. In part, that’s because poor financial performance is one of the few remaining sins for which CEOs are reliably held to account. But it’s also because certain kinds of changes need the credibility that only new faces can bring.
So what are those changes? What are the things I think Apple should do, but that its current leadership seems unwilling to budge on? What changes require a level of engagement and understanding that Apple no longer seems to have?
A New Deal for Developers
Apple’s relationship with developers is an essential part of its long-term success. Apple cannot do everything on its own. It needs third-party developers to expand the capabilities of its products and platforms. Developers make Apple’s products more valuable.
Apple needs the things third-party developers produce, but it also needs something else: their trust and enthusiasm. When the iPhone was introduced in 2007—without support for third-party apps—Apple’s developer community was on fire with the desire to create their own iPhone apps. They wanted it so badly that they hacked their way to success even before Apple announced the iPhone SDK in 2008. This passion from developers helped rocket the platform to its current astronomical level of success. The iPhone was a rising tide that lifted all boats—at the start, anyway.
Today, developers are unsatisfied with their relationship with Apple. There are plenty of rational arguments for why they “shouldn’t” be, but as I argued in The Art of the Possible, none of that changes the facts on the ground.
Could Apple’s current leadership change some policies to turn this around? Maybe, but it would be an uphill climb to win back what has been lost. For years, Apple has refused to do what it takes to heal this divide. Even when ordered by the courts to make changes in this area, Apple has worked hard to ensure that its “compliance” with these rulings does as little as possible to make things better for developers. And all the while, Apple has done everything in its power (and some things beyond) to fight the changes.
So, yeah, it would be very hard for that Apple to convince developers that it has turned over a new leaf, even if it wanted to. (And, thus far, it very much does not want to.) New leadership would have a more convincing story and a stronger mandate for change.
When thinking about what those changes might be, it’s tempting to believe it would be as simple as altering the revenue split between developers and Apple. But money is not actually the heart of the matter. Witness how developer sentiment did not appreciably improve when Apple lowered its App Store commission from 30% to 15% in 2020 for businesses earning less than $1 million per year.
Developers like money, but what they need is respect. What they need is to feel like Apple listens to them and understands their experience. What they need is to be able to make their own decisions about their products and businesses.
To understand just how little power the App Store commission rate alone has to heal this relationship, consider how Apple might leave the rate unchanged and still turn developer sentiment around. Maybe something like this…
Start by changing App Review from a Kafkaesque nightmare to a sane, functioning, supportive process in which Apple and developers work together to successfully release software. That means timely, two-way communication with recognizably human entities at Apple. App reviewers should be able to convince developers that they have both read and understood their messages, and they should be empowered to help solve problems.
Next, create a public bug tracker (with an option for developers to keep some information or entire bug reports private to ensure proprietary information is not exposed). Develop Apple’s own software “in the open” as much as possible. Publish average response times and fix times for bugs, and maintain those numbers at levels that satisfy developers.
Finally, remove all restrictions on third-party payment methods and app stores. Provide an even playing field (to the extent possible) for third-party replacements for Apple’s own store and payment systems. Freedom of choice is the best way—perhaps the only way—to ensure that developers are satisfied with Apple’s App Store commission, in-app purchase system, and app review process. Developers who don’t like it can go elsewhere. If Apple wants them back, it will have to compete for their business.
An Apple that does all of this well could maintain its current App Store commission while also satisfying its developers.
In the end, the details don’t matter as much as choosing the correct way to measure success. Apple will know it has succeeded when third-party developers feel like Apple is their partner in success, rather than their adversary or overlord.
A Premium Experience for Premium Prices
One of the best ways to command high prices while maintaining customer satisfaction is to cultivate a reputation for standing behind your products. Apple today is actually pretty good at this. Its hardware is mostly sturdy and reliable, and its support experience is arguably among the best in the industry (even if that is an admittedly low bar).
But there’s one area where Apple falls far short of its ideals: software reliability. Premium brands accrue tremendous customer loyalty when their products work as expected. When it comes to software, achieving this goal requires the relentless pursuit of bugs until the ones that remain are so uncommon that most people never see them.
Though it might not be obvious to people who have never worked in the software industry, this is actually a leadership issue. Striking the correct balance between creating new features and ensuring that existing features work correctly (and gradually improve) requires leadership dedicated to this strategy.
Nearly everything in this industry will push leaders in the opposite direction. New features drive sales. When there’s a hot new technology, companies need to show that they’re able to use it, lest they get left behind. These are all good, important motivators—which is why it’s so incredibly hard for leaders to successfully defend the far less glamorous practices of fixing bugs and enhancing existing features.
But defend they must. Adding features wins games, but bug fixing wins championships.
It’s been 15 years since Apple’s leadership last demonstrated that it’s willing to emphasize software reliability at the cost of new features. Since then, bugs in major features have been allowed to fester, unfixed, for years on end.
The recent Apple Intelligence fiasco has revealed that the company is further away from properly prioritizing software reliability than it has ever been. Apple was seemingly willing to sacrifice everything, including its own reputation, to ensure that it had enough new AI features to announce at WWDC. If we want a different result, it seems like we need different leaders.
Growth the Hard Way
As iPhone sales have plateaued, Apple has turned to services revenue to maintain its growth. Unfortunately, selling more and more services to your existing customers is inherently corrosive to the core philosophy that has led to Apple’s tremendous success. Here’s Steve Jobs describing where former Apple CEO John Sculley went wrong:
“My passion has been to build an enduring company where people were motivated to make great products. The products, not the profits, were the motivation. Sculley flipped these priorities to where the goal was to make money. It’s a subtle difference, but it ends up meaning everything.” ―Steve Jobs
With every red badge in iOS Settings, every pop-up come-on to subscribe to Apple TV+, and every multi-billion-dollar product placement deal, Apple chips away at the customer experience in exchange for income growth.
The pursuit of financial success above all else inevitably leads to ruin. In the past, Tim Cook has demonstrated that he does understand this. But thus far, his dedication to services revenue growth has been unshakable. He either doesn’t agree that this runs counter to Apple’s core values, or he’s willing to undermine those values in exchange for growth.
New leadership at Apple will surely face similar pressure to continue growing. If pursuing services revenue is off the table, what options remain?
It’s conventional wisdom that iPhone sales have leveled off now that Apple has “run out of people.” Nearly every human who can afford a smartphone already has one. But they don’t all have iPhones. Android phones still dominate in worldwide market share.
If Apple wants growth, it should try winning some new customers the old-fashioned way: by making products that more people want to buy. In this case, that means making iPhones that current Android customers want to buy…and can afford.
Historically, going down-market has been anathema to Apple. Apple’s pricing is an important market signal that communicates product quality and desirability. It’s unrealistic to assume that Apple can compete with the lowest of the low-end Android phones. But it’s equally absurd to believe that the current market share line between Android (~70%) and Apple (~30%) is unmovable. Millions of “iPhone-class” (and iPhone-priced) Android phones are sold every year. Apple can and should compete for that business.
Future Days
This list of suggestions is not exhaustive. An inventory of all the things Apple should do would include getting its house in order when it comes to AI, reducing its dependence on China, hitting its 2030 environmental goals, making a decent Mac Pro again, and a million other things, most of which Apple can accomplish as it exists today.
This article is specifically about the things it seems like Apple can’t or won’t do without new leadership. I’ve described three of the most important and impactful, but there’s more. That’s the promise and the danger of regime change. New people have a chance to rise above the sins of the past and make new choices. They can also make new mistakes, and they’ll have their own strengths and weaknesses. There is no such thing as a perfect leader.
For example, if I had to pick one person to successfully transition Apple away from its current level of dependence on China, it would be Tim Cook. But that job will take many more years, and Cook has said he probably won’t be at Apple much past the end of the decade.
Finding a good successor for Tim Cook won’t be easy, no matter when it happens. But it does have to happen, and sooner is better than later.
I hope I’m wrong about all this. I hope Apple’s current leaders take a hard look at some of these longstanding issues and are brave enough to change their minds. Faith lost can be restored, with effort. Either way, as always, I’m pulling for Apple to succeed.
© 2010-2025 John Siracusa
2025-05-10 01:46:32
苛刻的
苹果扭亏为盈
某些年龄层的Mac用户可能还记得Ambrosia Software,这家软件公司曾推出过标志性的共享软件杰作,如Maelstrom和Escape Velocity。在过去的十多年里,Ambrosia网站的首页都包含着这句引言:
“美德并非来自金钱,而是美德带来金钱,以及所有其他对人类有益的事物。” ——苏格拉底
换句话说,不要试图赚钱。要努力创造伟大的事物,金钱自然会随之而来。这是一种简单易懂的策略,但对任何公司来说几乎都难以遵循。
高管层会试图告诉你,这两个目标是完全一致的——创造伟大的产品是成为盈利公司的组成部分。但他们表达的方式就如同把Frosted Flakes视为完整早餐的一部分。确实,麦片在餐桌上,当然还有牛奶、水煮蛋、果酱吐司和水果。结果发现,对于大公司而言,这幅图景中的一部分其实相当可有可无。
从美德带来金钱,以及所有其他对人类有益的事物。每当我想到苹果时,这个想法就会萦绕在我的脑海中。这是最简洁的解释,说明了苹果如何从1990年代濒临破产的边缘走向如今的辉煌成功。不要试图赚钱。尝试在宇宙中留下印记。做到这一点,金钱自然会自行解决。
转啊,转啊,转啊
苹果最狂热的粉丝对其的不满,在不同时期曾达到高潮,包括公开要求更换领导层。引发这些事件的原因可能严重到苹果屈服于专制政权的压力,也可能微小到发布一款令人不满的新应用程序或操作系统版本。
尽管我靠批评苹果谋生,但我通常不会陷入当前的争议中。当苹果毁掉了其笔记本电脑键盘时,我并没有要求蒂姆·库克下台。我只是希望他们能修复键盘。而他们最终做到了。
但成功隐藏了问题,即使是最好的公司也可能迷失方向。凡事都有其季节。
在我看来,苹果领导层唯一真正的致命罪过就是忽视了产品美德与财务成功之间的正确关系——不仅只是暂时的,而是从根本上、顽固地、多年以来都如此。令人遗憾的是,我认为这已经发生了。
证据的压倒性是不容置疑的。在太多方式、太多年份里,苹果做出的决策并未使其产品变得更好,而这一切都是为了控制、杠杆、保护、利润——一切为了金钱。
需要澄清的是,我不指的是像在Mac上对RAM和SSD升级收取高昂价格,或在App Store中对应用内购买收取过高的比例。这些只是轻微的罪过。真正令人担忧的是那些似乎不可动摇的核心信念,这些信念促使苹果做出与美德循环相悖的决策,而这种美德循环曾帮助苹果摆脱了多年前的黑暗时期。
苹果,正如其过去十年或更长时间领导层的决策所体现的,似乎不再主要致力于创造伟大的产品。一次次的政策使苹果的产品对客户变得更差,以换取更多的权力、控制和,是的,金钱。
当人们可以在Kindle应用内购买电子书时,iPhone会成为更好的产品。然而,苹果在过去14年里一直反对这一功能,耗费数百万美元的法律费用,直到最近法院下令才让步(他们仍在上诉)。
在苹果强制规定的应用销售、支付处理、客户服务和软件商业模式等领域缺乏竞争的情况下,苹果在这些领域的独家产品已停滞多年。本应激励苹果改进的动机——创造伟大的产品——似乎已消失。而本不应激励苹果的动机——对权力、控制和利润的追求——却似乎无处不在。
我不是指在小方面如此;我是指在大方面如此。我们对苹果在这些决策上的内部讨论了解得越多,就越能证实苹果已经失去了其指引方向的北极星。或者说,它已经用一颗新的、黑暗的星取代了它。而一次次的了解都表明,这些决策一直上升到最高层。
最好的领导者能够根据新信息改变主意。最好的领导者能够被说服。但经历了数十年的斗争、诉讼和监管,苹果却在每一个转折点上更加固执己见。很明显,只有一条路能带来不同的结果。
在每一个健康的实体中,无论是组织、机构还是生物体,旧事物都会被新事物取代:首席执行官、统治者或细胞。现在是时候为苹果带来新的领导了。我们目前所走的道路不会为苹果或其客户带来任何好的结果。春天来了,我选择相信新的生机。我发誓,这还为时不晚。
更多关于此主题的内容,请参阅后续文章:苹果的转型
© 2010-2025 John Siracusa
---------------
Hypercritical
Apple Turnover
Mac users of a certain age may remember Ambrosia Software, maker of iconic shareware hits like Maelstrom and Escape Velocity. For over a decade, the Ambrosia website included this quotation on its homepage:
“Virtue does not come from money, but rather from virtue comes money, and all other things good to man.” ―Socrates
In other words, don’t try to make money. Try to make great things, and the money will surely follow. It’s a strategy that’s simple to explain, but almost impossible for any company to follow.
Folks in the C-suite will try to tell you that these two goals are perfectly aligned—that making great products is part of being a profitable company. But they mean it in the same way that Frosted Flakes is part of a complete breakfast. It’s on the table, sure…along with a glass of milk, a poached egg, toast with jam, and a piece of fruit. It turns out that, as far as big corporations are concerned, one part of this spread is actually kind of optional.
From virtue comes money, and all other good things. This idea rings in my head whenever I think about Apple. It’s the most succinct explanation of what pulled Apple from the brink of bankruptcy in the 1990s to its astronomical success today. Don’t try to make money. Try to make a dent in the universe. Do that, and the money will take care of itself.
Turn, Turn, Turn
Dissatisfaction with Apple among its most ardent fans has, at various times, reached a crescendo that has included public demands for a change in leadership. The precipitating events could be as serious as Apple bowing to pressure from an authoritarian regime, or as trivial as releasing an unsatisfying new version of an application or operating system.
Despite making my living by criticizing Apple, I tend not to get caught up in the controversy of the moment. When Apple ruined its laptop keyboards, I wasn’t calling for Tim Cook’s head. I just wanted them to fix the keyboards. And they did (eventually).
But success hides problems, and even the best company can lose its way. To everything, there is a season.
As far as I’m concerned, the only truly mortal sin for Apple’s leadership is losing sight of the proper relationship between product virtue and financial success—and not just momentarily, but constitutionally, intransigently, for years. Sadly, I believe this has happened.
The preponderance of the evidence is undeniable. Too many times, in too many ways, over too many years, Apple has made decisions that do not make its products better, all in service of control, leverage, protection, profits—all in service of money.
To be clear, I don’t mean things like charging exorbitant prices for RAM and SSD upgrades on Macs or taking too high a percentage of in-app purchases in the App Store. Those are venial sins. It’s the apparently unshakable core beliefs that motivate these and other poor decisions that run counter to the virtuous cycle that led Apple out of the darkness all those years ago.
Apple, as embodied by its leadership’s decisions over the past decade or more, no longer seems primarily motivated by the creation of great products. Time and time again, its policies have made its products worse for customers in exchange for more power, control, and, yes, money for Apple.
The iPhone is a better product when people can buy ebooks within the Kindle app. And yet Apple has fought this feature for the past fourteen years, to the tune of millions of dollars in legal fees, and has only relented due to a recent court order (which they continue to appeal).
In the (Apple-mandated) absence of competition in the realms of app sales, payment processing, customer service, and software business models, Apple’s exclusive offerings in these areas have stagnated for years. What should be motivating Apple to make improvements—the desire to make great products—seems absent. What should not be motivating Apple—the desire for power, control, and profits—seems omnipresent.
And I don’t mean that in a small way; I mean that in a big way. Every new thing we learn about Apple’s internal deliberations surrounding these decisions only lends more weight to the conclusion that Apple has lost its north star. Or, rather, it has replaced it with a new, dark star. And time and again, we’ve learned that these decisions go all the way to the top.
The best leaders can change their minds in response to new information. The best leaders can be persuaded. But we’ve had decades of strife, lawsuits, and regulations, and Apple has stubbornly dug in its heels even further at every turn. It seems clear that there’s only one way to get a different result.
In every healthy entity, whether it’s an organization, an institution, or an organism, the old is replaced by the new: CEOs, sovereigns, or cells. It’s time for new leadership at Apple. The road we’re on now does not lead anywhere good for Apple or its customers. It’s springtime, and I’m choosing to believe in new life. I swear it’s not too late.
For more on this topic, see the follow-up article: Apple Turnaround
© 2010-2025 John Siracusa
2025-05-01 23:43:31
超批判
超空间更新
两个月前,我推出了Hyperspace,一款可在不删除文件的情况下回收磁盘空间的Mac应用程序。1.0版本的功能集有意非常保守。正如我在发布帖子中所写的,Hyperspace会修改它并未创建且不拥有文件的文件。这本身就是一个固有的风险。
Hyperspace的第一个版本通过完全避开某些文件和文件系统位置来缓解这些风险。我知道解除这些限制会是潜在客户常见的请求。我的计划是先以最安全的功能集发布1.0版本,然后逐步扩展应用程序的功能,直到所有这些有意设置的1.0限制都被解除。
本周早些时候,随着Hyperspace 1.3的发布,我实现了这一目标。以下是克服1.0版本三大功能限制的时间线:
1.0:2025年2月24日 - 发布
1.1:2025年3月14日 - 包
1.2:2025年4月3日 - 云存储
1.3:2025年4月28日 - 库
以下是这些限制的解释,为什么它们存在,以及克服它们所需的步骤。
包
“包”是一个被呈现为文件的目录。例如,由TextEdit创建的.rtfd文档(即“带附件的富文本文档”)实际上是一个包含.rtffile和任何附件(如文档中的图片)的目录。Finder会将此.rtfd目录显示和处理为一个单独的文件。
为了使包正常工作,其所有内容都必须保持完整。Hyperspace努力处理和恢复各种错误,但在极少数需要手动干预的情况下,要求用户修复包内的问题并不理想。由于包看起来像单个文件,大多数人并不习惯打开它们并查看其内部结构。
这可能看起来有些晦涩,但有一些包类型被广泛使用,且通常包含大量数据。让我们从最大的开始:Apple的照片库是包的一种。iMovie库、某些Logic项目也是如此。这些包在潜在空间节省方面都是Hyperspace的理想目标。但它们也常常包含用户最珍贵的数据。
总的来说,包内的文件不需要以不同于“正常”文件的方式处理。解除这一限制的延迟是为了让应用程序先成熟一些。尽管我拥有大量测试用户,但没有比真实用户使用更能发现错误和边缘情况的了。经过五个1.0.x版本的发布后,我终于对Hyperspace的基本功能足够有信心,允许访问包。
然而,我谨慎地添加了启用包访问的设置,但默认情况下保持关闭。我还为扫描包内部和回收包内的文件提供了单独的设置。启用扫描但不启用回收,使得包内的文件可以作为“源文件”使用,这些文件永远不会被修改。
最后,macOS需要特殊的权限才能访问照片库,因此还有一个单独的设置。
哦,还有一个Hyperspace目前仍然忽略的常见包类型:应用程序(即.app包)。应用程序包的内容受苹果代码签名系统的约束,对更改非常敏感。我可能有一天会处理应用程序,但目前这并不是常见的客户请求。
云存储
任何受苹果“文件提供者”系统控制的文件都被视为由云存储支持。过去,iCloud Drive是唯一的例子。如今,第三方服务也使用苹果的文件提供者系统。例如,Microsoft OneDrive、Google Drive以及某些版本的Dropbox。
在访问特定文件时,Hyperspace与其他进程之间总是存在竞争的潜在可能。但在云存储的情况下,我们知道有其他进程正在密切关注每一个由云支持的文件。Hyperspace必须小心行事。此外,由云存储支持的文件可能并未完全下载到本地磁盘,即使下载了,也可能不是最新的。
与包内的文件不同,由云存储支持的文件不仅仅是普通的文件。它们需要使用不同的API进行特殊处理。在确定了“正常”文件处理,包括包内的文件之后,我准备开始处理云存储。
最终,没有出现重大问题。苹果处理云支持文件的API似乎大多能正常工作,只有一些小问题。如果Hyperspace无法从这些API获得明确的确认,表明某个文件是回收的合适候选,它会谨慎地跳过该文件,而不是进行回收。
库
在Mac OS X的早期,有关用户在他们的主目录中发现名为“Library”的文件夹,并决定不需要它或其内容,然后将其移到废纸篓的悲剧喜剧故事。如今,macOS默认隐藏该文件夹,这是有充分理由的。其内容对您的Mac的正常运行至关重要!同样,启动卷顶部的“Library”目录也是如此。
Hyperspace之所以长期避免访问Library文件夹,是因为其内容非常重要,而且这些内容更新频率出人意料地高。与包类似,我需要在确保Hyperspace基本功能可靠之前,才决定对Library文件夹进行处理。
这个功能是最后添加的,因为其他两个功能更受用户期待。通常,Library访问是通过一个设置来启用的,默认情况下是关闭的。由于Library文件夹存在高度竞争的可能性(运行中的应用程序不断与其内部文件进行交互),这可能是三个主要功能中最危险的一个,这也是我将其留到最后的原因。如果不是因为Library文件夹是意外空间节省的丰富来源,我可能根本不会添加这个功能。
未来
还有更多内容即将推出,包括用户界面改进,以及尝试克服沙盒机制的一些限制,可能允许Hyperspace在多个用户账户之间回收空间。(最后一个目标有点“挑战性”,但我以前做过类似的事情。)
如果您想了解更多Hyperspace的工作原理,请阅读详尽的文档。如果您有兴趣参与Hyperspace未来版本的测试,请发送电子邮件给我。
在某些方面,Hyperspace 1.3是我最初设想的版本。但软件开发从不是一条直线。它更像是一片森林。就像森林一样,很容易迷失方向。以更有限的1.0版本发布导致了一些愤怒的评论和Mac App Store中的低评分,但它使应用程序从第一天起就更加安全,并最终对所有用户,包括未来用户,都更好。
© 2010-2025 John Siracusa
---------------
Hypercritical
Hyperspace Update
Two months ago, I launched Hyperspace, a Mac app for reclaiming disk space without removing files. The feature set of version 1.0 was intentionally very conservative. As I wrote in my launch post, Hyperspace modifies files that it did not create and does not own. This is an inherently risky proposition.
The first release of Hyperspace mitigated these risks, in part, by entirely avoiding certain files and file system locations. I knew lifting these limitations would be a common request from potential customers. My plan was to launch 1.0 with the safest possible feature set, then slowly expand the app’s capabilities until all these intentional 1.0 limitations were gone.
With the release of Hyperspace 1.3 earlier this week, I have accomplished that goal. Here’s the timeline for overcoming the three major 1.0 feature limitations:
1.0: February 24, 2025 - Launch
1.1: March 14, 2025 - Packages
1.2: April 3, 2025 - Cloud storage
1.3: April 28, 2025 - Libraries
Here’s an explanation of those limitations, why they existed, and what it took to overcome them.
Packages
A “package” is a directory that is presented to the user as a file. For example, an .rtfd document (a “Rich Text Document With Attachments”) created by TextEdit is actually a directory that contains an .rtf file plus any attachments (e.g., images included in the document). The Finder displays and handles this .rtfd directory as if it were a single file.
For a package to work, all its contents must be intact. Hyperspace works hard to handle and recover from all sorts of errors, but in the rare case that manual intervention is required, asking the user to fix a problem within a package is undesirable. Since packages appear as single files, most people are not accustomed to cracking them open and poking around in their guts.
This may all seem esoteric, but there are some kinds of packages that are widely used and often contain vast amounts of data. Let’s start with the big one: Apple Photos libraries are packages. So are iMovie libraries, some Logic projects, and so on. These packages are all ideal targets for Hyperspace in terms of potential space savings. But they also often contain some of people’s most precious data.
For the most part, files within packages don’t need to be treated any differently than “normal” files. The delay in lifting this limitation was to allow the app to mature a bit first. Though I had a very large set of beta testers, there’s nothing like real customer usage to find bugs and edge cases. After five 1.0.x releases, I finally felt confident enough in Hyperspace’s basic functionality to allow access to packages.
I did so cautiously, however, by adding settings to enable package access, but leaving them turned off by default. I also provided separate settings for scanning inside packages and reclaiming files within packages. Enabling scanning but not reclamation within packages allows files within packages to be used as “source files”, which are never modified.
Finally, macOS requires special permissions for accessing Photos libraries, so there’s a separate setting for that as well.
Oh, and there’s one more common package type that Hyperspace still ignores: applications (i.e., .app packages). The contents of app packages are subject to Apple’s code signing system and are very sensitive to changes. I still might tackle apps someday, but it hasn’t been a common customer request.
Cloud Storage
Any file under the control of Apple’s “file provider” system is considered to be backed by cloud storage. In the past, iCloud Drive was the only example. Today, third-party services also use Apple’s file provider system. Examples include Microsoft OneDrive, Google Drive, and some versions of Dropbox.
There’s always the potential for competition between Hyperspace and other processes when accessing a given file. But in the case of cloud storage, we know there’s some other process that has its eye on every cloud-backed file. Hyperspace must tread lightly. Also, files backed by cloud storage might not actually be fully downloaded to the local disk. And even if they are, they might not be up-to-date.
Unlike files within packages, files backed by cloud storage are not just like other files. They require special treatment using different APIs. After nailing down “normal” file handling, including files within packages, I was ready to tackle cloud storage.
In the end, there were no major problems. Apple’s APIs for wrangling cloud-backed files mostly seem to work, with only a few oddities. And if Hyperspace can’t get an affirmative assurance from those APIs that a file is a valid candidate for reclamation, it will err on the side of caution and skip the file instead.
Libraries
In the early years of Mac OS X, there were tragicomic tales of users finding a folder named “Library” in their home directory and deciding they didn’t need it or its contents, then moving them to the Trash. Today, macOS hides that folder by default—for good reason. Its contents are essential for the correct functionality of your Mac! The same goes for the “Library” directory at the top level of the boot volume.
Hyperspace avoided Library folders for so long because their contents are so important, and because those contents are updated with surprising frequency. As with packages, it was important for me to have confidence in the basic functionality of Hyperspace before I declared open season on Library folders.
This capability was added last because the other two were more highly requested. As usual, Library access is enabled with a setting, which is off by default. Due to the high potential for contention (running apps are constantly fiddling with their files within the Library folder), this is probably the riskiest of the three major features, which is another reason I saved it for last. I might not have added it at all, if not for the fact that Library folders are a surprisingly rich source for space savings.
The Future
There’s more to come, including user interface improvements and an attempt to overcome some of the limitations of sandboxing, potentially allowing Hyperspace to reclaim space across more than one user account. (That last one is a bit of a “stretch goal”, but I’ve done it before.)
If you want to know more about how Hyperspace works, please read the extensive documentation. If you're interested in beta testing future versions of Hyperspace, email me.
In some ways, Hyperspace version 1.3 is what I originally envisioned when I started the project. But software development is never a straight line. It’s a forest. And like a forest it’s easy to lose your way. Launching with a more limited version 1.0 led to some angry reviews and low ratings in the Mac App Store, but it made the app safer from day one, and ultimately better for every user, now and in the future.
© 2010-2025 John Siracusa
2025-04-11 00:43:26
爱、死亡与机器人是Netflix上的动画合集系列。每一集都是独立的故事,尽管在形式上有一些跨季的微弱连续性,比如一集会引入过去某一季中出现的角色。
我喜欢动画,但出于几个原因,我犹豫是否推荐爱、死亡与机器人给普通观众。首先,这部剧不适合儿童观看。它包含大量暴力、血腥、露骨和性内容。这并不是大多数人期待的动画内容。
其次,作品质量参差不齐。我并不是指动画制作的质量,因为通常都很出色。而是指它们作为故事的表现力。每集只有十分钟到十五分钟的时长,必须在短时间内介绍角色、设定(通常是科幻题材)并讲述一个令人满意的故事。这是一种具有挑战性的格式。
自2019年以来,已经发布了三季的爱、死亡与机器人。随着第四季将于五月首播,我想尝试说服更多人去尝试这部剧。这是一个罕见的情况,我不推荐从第一季第一集开始按顺序观看。那些质量不高的剧集肯定会让大多数人却步。相反,我会告诉你哪些是真正值得一看的佳作。
以下是我在第一季到第三季中选出的最佳剧集列表。它们都是独立故事,因此可以按任意顺序观看,但(保持系列一贯的风格)我仍然建议按以下顺序观看。
最后再提醒一次:虽然并非每一集都充满血腥和暴力,但大多数都包含这些元素,有时甚至包括性暴力。如果你不想看到这些内容,我仍然建议观看那些避免这些元素的几集。请记住,每一集都是独立故事,即使只看一集也是可以的。
《Sonnie’s Edge》(第一季第一集)——这是系列的完美入门剧集。它阴郁、暴力、血腥,动画制作精美,但又带有一些意想不到的情感共鸣。
《Three Robots》(第一季第二集)——这个故事中引入的角色已成为该系列的非官方吉祥物。你将会再次看到他们。这一集轻松可爱,但背景设定却显得格外阴森。
《Good Hunting》(第一季第八集)——是的,传统的二维动画仍然存在!但不要期待迪士尼风格的作品。这个故事融合了奇幻、神话、科幻、性、爱情、死亡以及……至少还有仿生人。
《Lucky 13》(第一季第十三集)——如果你喜欢《异形》和《明日之后》这类科幻动作片,那么这一集就是为你准备的。正如该系列一贯的风格,这里还加入了一些脑洞大开和情感丰富的元素。
《Zima Blue》(第一季第十四集)——这是我认为系列中最好的一集,但它是相当奇怪的一集。我确信有些人会觉得它完全不讨喜,但对我而言却很吸引人。这一集中没有任何暴力、性或血腥内容,只有简单的一个想法被巧妙地呈现出来。
《沙漠中的雪》(第二季第四集)——这一集包含了整部电影般的故事量,包括一些不错的世界观构建和大量熟悉的主题与情节。虽然没有出人意料的元素,但制作水平非常高。
《Three Robots: Exit Strategies》(第三季第一集)——我们可爱的朋友机器人再次登场,这次还带上了更多黑色幽默。
《Bad Travelling》(第三季第二集)——在海上展开的洛夫克拉夫特式恐怖。它极其黑暗且令人作呕。
《The Very Pulse of the Machine》(第三季第三集)——我想我最喜欢那些略显俗套但奇特的剧集,因此这一集是我第二喜欢的。它将通常只在小说中出现的科幻概念与情感内核结合在一起。动画风格是3D建模与赛璐璐着色的完美融合。(如Frame Game #75中所见)
《Swarm》(第三季第六集)——我会看到你的《异形》式科幻,再给你一个昆虫恐惧症和身体恐怖的堆叠。令人不安且诡异。
《In Vaulted Halls Entombed》(第三季第八集)——“太空海军”遇上克苏鲁。对于我们的英雄来说,这进行得并不顺利。
《Jibaro》(第三季第九集)——这一集的动画风格非常疯狂。我从未见过类似的作品。故事本身较为单薄,但这一集完全凭借其视觉效果入选。这些视觉效果令人不安、困惑,同时也令人惊叹。我不确定我是否真的喜欢这一集,但确实很特别。
如果你读完以上内容仍然无法判断哪些剧集适合那些想避免血腥、性内容和暴力的观众,我推荐你观看《Three Robots》(第一季第二集)、《Zima Blue》(第一季第十四集)、《Three Robots: Exit Strategies》(第三季第一集)和《The Very Pulse of the Machine》(第三季第三集)。但请记住,这些剧集都不适合儿童观看。
如果你观看并喜欢其中的任何一集,那么不妨尝试观看该系列的其他剧集。你可能会发现一些比我的最爱更让你喜欢的剧集。
此外,如果你在Netflix客户端中看到这些剧集的顺序不同,那是因为Netflix会根据你的观看习惯和历史来重新排列剧集顺序。每个人在Netflix上看到的剧集顺序可能不同。由于这是一部合集系列,观看顺序并不重要,但这出乎意料且我认为不太明智。无论如何,上述链接将直接带你进入每一集。
我很高兴这样的一部系列作品存在。它让我想起了我青少年时期看过的《Liquid Television》:一些奇特、常常故意越界的动画作品,隐藏在主流媒体平台中。它们并非全部都是成功之作,但那些在自身框架内成功的,我依然十分珍惜。
© 2010-2025 John Siracusa
---------------
Love, Death & Robots is an animated anthology series on Netflix. Each episode is a standalone story, though there is the barest of cross-season continuity in the form of one story featuring characters from a past season.
I love animation, but I’m hesitant to recommend Love, Death & Robots to casual viewers for a couple of reasons. First, this show is not for kids. It features a lot of violence, gore, nudity, and sex. That’s not what most people expect from animation.
Second, the quality is uneven. I don’t mean the quality of the animation, which is usually excellent. I mean how well they work as stories. Each episode has only a ten- to fifteen-minute runtime, during which it has to introduce its characters, its (usually sci-fi) setting, and then tell a satisfying story. It’s a challenging format.
Three seasons of Love, Death & Robots have been released since 2019. With season four set to debut in May, I thought I’d take a shot at convincing more people to give this show a chance. This is a rare case where I don’t recommend starting with season 1, episode 1 and viewing in order. The not-so-great episodes will surely drive most people away. Instead, I’m going to tell you where the gems are.
Here’s my list of the very best episodes of Love, Death & Robots in seasons 1–3. They’re standalone stories, so you can watch them in any order, but (back on brand) I do recommend that you watch them in the order listed below.
One last warning: Though not every episode is filled with gore and violence, most of them are—often including sexual violence. If this is not something you want to see, then I still recommend watching the handful of episodes that avoid these things. Remember, each episode is a standalone story, so watching even just one is fine.
Sonnie’s Edge (Season 1, Episode 1) - This is a perfect introduction to the series. It’s grim, violent, gory, beautifully animated, but with some unexpected emotional resonance.
Three Robots (Season 1, Episode 2) - The characters introduced in this story have become the unofficial mascots of the series. You’ll be seeing them again. The episode is lighthearted, cute, and undercut by a decidedly grim setting.
Good Hunting (Season 1, Episode 8) - Yes, traditional 2D animation is still a thing! But don’t expect something Disney-like. This story combines fantasy, myth, sci-fi, sex, love, death, and…well, cyborgs, at least.
Lucky 13 (Season 1, Episode 13) - If you like sci-fi action as seen in movies like Aliens and Edge of Tomorrow, this is the episode for you. As expected for this series, there’s a bit of a cerebral and emotional accent added to the stock sci-fi action.
Zima Blue (Season 1, Episode 14) - This is my favorite episode of the series, but it’s a weird one. I’m sure it doesn’t work at all for some people, but it got me. There’s no violence, sex, or gore—just a single, simple idea artfully realized.
Snow in the Desert (Season 2, Episode 4) - There’s a full movie’s worth of story crammed into this 18-minute episode, including some nice world-building and a lot of familiar themes and story beats. There’s nothing unexpected, but the level of execution is very high.
Three Robots: Exit Strategies (Season 3, Episode 1) - Our lovable robot friends are at it again, with an extra dose of black humor.
Bad Travelling (Season 3, Episode 2) - Lovecraftian horror on the high seas. It’s extremely dark and extremely gross.
The Very Pulse of the Machine (Season 3, Episode 3) - I guess I like the sappy, weird ones the best, because this is my second-favorite episode. It combines the kind of sci-fi ideas usually only encountered in novels with an emotional core. The animation is a beautiful blend of 3D modeling and cel shading. (As seen in Frame Game #75)
Swarm (Season 3, Episode 6) - I’ll see your Aliens-style sci-fi and raise you one pile of entomophobia and body horror. Upsetting and creepy.
In Vaulted Halls Entombed (Season 3, Episode 8) - “Space marines” meets Cthulhu. It goes about as well as you’d expect for our heroes.
Jibaro (Season 3, Episode 9) - The animation style in this episode is bonkers. I have never seen anything like it. The story, such as it is, is slight. This episode makes the list entirely based on its visuals, which are upsetting and baffling and amazing in equal measure. I’m not sure I even “like” this episode, but man, is it something.
If you’ve read all this and still can’t tell which are the “safest” episodes for those who want to avoid gore, sex, and violence, I’d recommend Three Robots (S1E2), Zima Blue (S1E14), Three Robots: Exit Strategies (S3E1), and The Very Pulse of the Machine (S3E3). But remember, none of these episodes are really suitable for children.
If you watch and enjoy any of these, then check out the rest of the episodes in the series. You may find some that you like more than any of my favorites.
Also, if you see these episodes in a different order in your Netflix client, the explanation is that Netflix rearranges episodes based on your viewing habits and history. Each person may see a different episode order within Netflix. Since viewing order doesn’t really matter in an anthology series, this doesn’t change much, but it is unexpected and, I think, ill-advised. Regardless, the links above should take you directly to each episode.
I’m so excited that a series like this even exists. It reminds me of Liquid Television from my teen years: a secret cache of odd, often willfully transgressive animation hiding in plain sight on a mainstream media platform. They’re not all winners, but I treasure the ones that succeed on their own terms.
© 2010-2025 John Siracusa
2025-02-25 23:00:10
超批判
超空间
2025年2月25日 上午10:00,作者约翰·西拉库萨
我对文件系统的兴趣始于1984年发现我的原始Macintosh电脑上类型和创建代码以及资源分支如何贡献于出色的用户界面。在1990年代末期,当苹果似乎可能收购Be Inc.以解决其操作系统问题时,Be文件系统是我最兴奋的部分。但后来苹果收购了NeXT,并(最终)创建了Mac OS X,我非常期待ZFS成为Mac的新文件系统。但这也未能实现。
最终,在2017年WWDC上,苹果宣布了macOS的Apple文件系统(APFS),(在历史上最大胆的技术举措之一中)秘密地将所有人的iPhone转换为APFS,然后在一次早期iOS 10.x更新中将其恢复为HFS+。
APFS不是ZFS,但它仍然比HFS+有了巨大的飞跃。其最重要的两个功能是时间点快照和写入时复制克隆。快照允许更可靠和高效的Time Machine备份。写入时复制克隆基于使快照成为可能的相同底层架构特性:目录条目与其对应文件内容之间的灵活安排。
今天,大多数Mac用户甚至不会注意到,使用Finder中的“复制”命令复制文件时,并不会真正复制文件内容。相反,它会创建一个“克隆”文件,与原始文件共享数据。这就是为什么在Finder中复制文件几乎是瞬间的,无论文件大小如何。
尽管自APFS引入以来的近八年里我已了解克隆文件,但除了知道在Finder中复制大文件时不会占用更多磁盘空间的小小激动外,我并未深入思考它们。但去年年底,随着我的Mac磁盘逐渐填满,我开始思考如何能回收一些磁盘空间。
如果我能找到内容相同但彼此不是克隆的文件,我就可以将它们转换为克隆文件,所有文件都共享磁盘上的单一数据实例。我花了一个下午编写了一个Perl脚本(调用了一个用C语言和另一个用Swift语言编写的命令行工具)来对我的磁盘进行操作,以查看通过这样做能节省多少空间。结果发现可以节省大量空间:数十GB。
此时,已经没有回头路了。我必须将这个想法变成一个应用程序。有许多Mac应用程序可以通过查找重复文件并删除重复项来节省磁盘空间。使用APFS克隆,我的应用程序可以在不删除任何文件的情况下回收磁盘空间!作为一名数字收藏爱好者,这对我来说非常有吸引力。
在那一周结束时,我写了一个基础的Mac应用程序,实现了与Perl脚本相同的功能。在接下来的几个月里,我完善并测试了这个应用程序,将其命名为Hyperspace。我很高兴地宣布,Hyperspace现已在Mac App Store上架。
Hyperspace是一款免费下载的应用程序,扫描以查看可能节省多少空间也是免费的。要实际回收其中的任何空间,您必须购买该应用程序。
与我所有的应用程序一样,Hyperspace有点难以解释。我在Hyperspace文档中详细地尝试过解释。我希望它能足够清晰地传达给足够多的人,成为Mac生态系统的一个有用补充。
对于可能感兴趣的开发人员,这是我的第二个使用SwiftUI的Mac应用程序,也是第一个使用SwiftUI生命周期的。它也是我的第二个使用Swift 6的应用程序,而且是我从开发初期就开始使用Swift 6的第一个应用程序。我发现从一开始就使用Swift 6比将现有的发布应用程序转换为Swift 6要容易得多。尽管如此,Swift 6仍然有许多粗糙的地方,我期待着未来几年这些地方能够被进一步完善。
在最近的一期ATP中,我将当时未命名的Hyperspace描述为“一个极其危险的应用程序”。就像从HFS+转换到APFS的过程一样,Hyperspace会修改它并未创建和拥有的文件。这无疑是迄今为止我创建的最危险的应用程序。(回收磁盘空间不像整理谷物那样简单……)但我也认为它可能是对最多人数最有用的应用程序。希望你们喜欢它。
© 2010-2025 约翰·西拉库萨
---------------
Hypercritical
Hyperspace
February 25, 2025 at 10:00 AM by John Siracusa
My interest in file systems started when I discovered how type and creator codes1 and resource forks contributed to the fantastic user interface on my original Macintosh in 1984. In the late 1990s, when it looked like Apple might buy Be Inc. to solve its operating system problems, the Be File System was the part I was most excited about. When Apple bought NeXT instead and (eventually) created Mac OS X, I was extremely enthusiastic about the possibility of ZFS becoming the new file system for the Mac. But that didn’t happen either.
Finally, at WWDC 2017, Apple announced Apple File System (APFS) for macOS (after secretly test-converting everyone’s iPhones to APFS and then reverting them back to HFS+ as part of an earlier iOS 10.x update in one of the most audacious technological gambits in history).
APFS wasn’t ZFS, but it was still a huge leap over HFS+. Two of its most important features are point-in-time snapshots and copy-on-write clones. Snapshots allow for more reliable and efficient Time Machine backups. Copy-on-write clones are based on the same underlying architectural features that enable snapshots: a flexible arrangement between directory entries and their corresponding file contents.
Today, most Mac users don’t even notice that using the “Duplicate” command in the Finder to make a copy of a file doesn’t actually copy the file’s contents. Instead, it makes a “clone” file that shares its data with the original file. That’s why duplicating a file in the Finder is nearly instant, no matter how large the file is.
Despite knowing about clone files since the APFS introduction nearly eight years ago, I didn’t give them much thought beyond the tiny thrill of knowing that I wasn’t eating any more disk space when I duplicated a large file in the Finder. But late last year, as my Mac’s disk slowly filled, I started to muse about how I might be able to get some disk space back.
If I could find files that had the same content but were not clones of each other, I could convert them into clones that all shared a single instance of the data on disk. I took an afternoon to whip up a Perl script (that called out to a command-line tool written in C and another written in Swift) to run against my disk to see how much space I might be able to save by doing this. It turned out to be a lot: dozens of gigabytes.
At this point, there was no turning back. I had to make this into an app. There are plenty of Mac apps that will save disk space by finding duplicate files and then deleting the duplicates. Using APFS clones, my app could reclaim disk space without removing any files! As a digital pack rat, this appealed to me immensely.
By the end of that week, I’d written a barebones Mac app to do the same thing my Perl script was doing. In the months that followed, I polished and tested the app, and christened it Hyperspace. I’m happy to announce that Hyperspace is now available in the Mac App Store.
Hyperspace is a free download, and it’s free to scan to see how much space you might save. To actually reclaim any of that space, you will have to pay for the app.
Like all my apps, Hyperspace is a bit difficult to explain. I’ve attempted to do so, at length, in the Hyperspace documentation. I hope it makes enough sense to enough people that it will be a useful addition to the Mac ecosystem.
For my fellow developers who might be curious, this is my second Mac app that uses SwiftUI and my first that uses the SwiftUI life cycle. It’s also my second app to use Swift 6 and my first to do so since very early in its development. I found it much easier to use Swift 6 from (nearly) the start than to convert an existing, released app to Swift 6. Even so, there are still many rough edges to Swift 6, and I look forward to things being smoothed out a bit in the coming years.
In a recent episode of ATP, I described the then-unnamed Hyperspace as “An Incredibly Dangerous App.” Like the process of converting from HFS+ to APFS, Hyperspace modifies files that it did not create and does not own. It is, by far, the riskiest app I’ve created. (Reclaiming disk space ain’t like dusting crops…) But I also think it might be the most useful to the largest number of people. I hope you like it.
© 2010-2025 John Siracusa
2024-02-10 04:15:39
最近的Beeper争议短暂地将“蓝色气泡与绿色气泡”这一话题重新带入主流。以下是对不了解该问题的读者的简要回顾。使用iMessage服务发送的消息会在信息应用中显示为蓝色文本气泡。使用非iMessage服务(如短信或即将推出的RCS)发送的消息则显示为绿色文本气泡。
iMessage服务和信息应用仅在苹果设备上可用。这通常被呈现为iPhone的竞争优势。如果你想使用iMessage服务,唯一(合法)的方式就是购买苹果设备。如果苹果将iMessage扩展到非苹果平台,这将消除一个购买iPhone的理由——至少这是论点的核心。
我认为这种对问题的普遍理解略有偏差——或者至少是出于不同的原因而正确。iMessage服务本身并不好到足以使iPhone对客户更具吸引力。真正让iMessage有吸引力的是iPhone。是iPhone赋予了iMessage光环,而不是相反。
这一真理在“蓝色气泡与绿色气泡”争论的核心显而易见。绿色气泡受到轻视的一个最大原因在于,它们表明接收方没有iPhone。iPhone价格昂贵、设计时尚且备受追捧。蓝色气泡则让发件人进入拥有iPhone的“内圈”。
单独来看,iMessage服务本身的吸引力要小得多。以下是一份2013年苹果内部的评估,该评估在最近的Epic诉讼中通过内部邮件被披露,讨论了让iMessage在非苹果设备上运行的想法。
Eddy Cue:我们拥有最好的消息应用,应该将其打造为行业标准。[...]
Craig Federighi:你有没有想过如何让大量安卓用户(他们没有很多iOS朋友)觉得转向iMessage(从WhatsApp)是有吸引力的?iMessage是一个不错的应用/服务,但若要让用户转换社交网络,我们需要的不只是略微更好的应用。
虽然我欣赏Eddy的热情,但我认为Craig更接近真相:如果iMessage真的比竞争对手好——这本身就很值得商榷——那也只是略微好一些。
这些苹果内部邮件写于十多年前。在这些年里,iMessage有所改进,但竞争对手也同步进步。如今,它仍然感觉像是iPhone在支撑iMessage。从个人观察来看,我的两个青少年孩子都有iPhone,但他们在与朋友的群聊中使用的是WhatsApp。
苹果几乎肯定错过了将iMessage打造为“行业标准”消息服务的最佳时机。但正如老话所说,种树的最佳时机是30年前,其次是现在。苹果在将iMessage扩展到其他平台方面几乎没有什么可失去的,而且仍然可能有所收获(即使只是让Messages中的混合安卓/苹果对话更加顺畅)。
© 2010-2025 John Siracusa
---------------
The recent Beeper controversy briefly brought the “blue bubbles vs. green bubbles” topic back into the mainstream. Here’s a brief review for those of you who are (blessedly) unaware of this issue. Messages sent using the iMessage service appear in blue text bubbles within the Messages app. Messages sent using something other than the iMessage service (e.g., SMS, or (soon) RCS) appear in green text bubbles.
The iMessage service and the Messages app are only available on Apple devices. This is usually presented as a competitive advantage for the iPhone. If you want to use the iMessage service, the only (legitimate) way to do so is to buy an Apple device. If Apple were to make iMessage available on non-Apple platforms, that would remove one reason to buy an iPhone—or so the argument goes.
I think this popular conception of the issue is slightly wrong—or right for a different reason, at least. The iMessage service is not so good that it makes the iPhone more attractive to customers. It’s the iPhone that makes iMessage attractive. The iPhone gives iMessage its cachet, not the other way around.
This truth is plainly evident at the core of the “blue bubbles vs. green bubbles” debate. One of the biggest reasons green bubbles are looked down upon is that they indicate that the recipient doesn’t have an iPhone. iPhones are expensive, fancy, and desirable. Blue bubbles put the sender into the “in” crowd of iPhone owners.
The iMessage service itself, when considered in isolation, has considerably less draw. Here’s an assessment from 2013 from within Apple, as revealed during the recent Epic trial by internal emails discussing the idea of making iMessage work on non-Apple devices.
Eddy Cue: We have the best messaging app and we should make it the industry standard. […]
Craig Federighi: Do you have any thoughts on how we would make switching to iMessage (from WhatsApp) compelling to masses of Android users who don’t have a bunch of iOS friends? iMessage is a nice app/service, but to get users to switch social networks we’d need more than a marginally better app.
While I appreciate Eddy’s enthusiasm, I think Craig is closer to the mark: if iMessage is better than its competitors at all—and this is highly debatable—it is only marginally so.
Those Apple emails were written more than a decade ago. In the years since, iMessage has improved, but so has the competition. Today, it still feels like the iPhone is carrying iMessage. Anecdotally, both my teenage children have iPhones, but their group chats with their friends take place in WhatsApp.
Apple has almost certainly missed the most advantageous window of time to make iMessage “the industry standard” messaging service. But as the old saying goes, the best time to plant a tree is 30 years ago, and the second-best time is now. Apple has little to lose by expanding iMessage to other platforms, and there still may be something to be gained (even if it’s just making mixed Android/iPhone conversations in Messages a bit more smooth).
© 2010-2025 John Siracusa