Brent Simmons

RSS: https://inessential.com/xml/rss.xml
Brent Simmons 的博客,NetNewsWire RSS 阅读器作者。

iOS 27 Beta 导致 NetNewsWire 崩溃,让我有些恼火

我从一次美好的暑假(与家人、海滩相伴)归来时,却发现 iOS 27 测试版把分屏视图与紧凑视图之间的切换搞砸了——我遇到了一大堆崩溃问题,大部分发生在 Pro Max 设备上,还有少数在 iPad 上。 这里有一个 代表性撞击日志。在 TestFlight 中的反馈都提到要旋转手机。 事情是这样的:iOS 应用开发(以及 Mac,不过程度没那么严重)其实就是在不断迭代、不断更新。我还以为今年能休一...
评论点赞收藏23 天前

NetNewsWire 年度回顾:退休后的技术债偿还与现代化重构

NetNewsWire 作者退休后回顾过去一年项目进展。重点在于偿还技术债务:迁移到 Swift 结构化并发、适配 Liquid Glass UI、优化性能与电池续航、重构代码。新增 Cache-Control 支持和 iCloud 同步优化。作者强调通过增加诊断工具(如错误日志、iCloud 存储统计)提升用户透明度,从而减少支持成本并加速新功能开发。同时感谢开源贡献者,并提到社区已迁移至 Discourse 论坛。
评论点赞收藏60 天前

我试着向家人解释我的工作

作者尝试向非科技圈亲友解释自己的工作,指出外界常误以为其工作“数学繁重且神秘”,但实际上并非如此。文章包含作者对自己职业内容的梳理,以及解释为何开发 NetNewsWire 这款应用的动机和背景。这是一篇带有个人色彩的技术从业者自我剖析,主要面向对开发者心路历程感兴趣的人群。
评论点赞收藏165 天前

本周西雅图 Xcoders 技术分享会不容错过

作者强烈推荐本周四在西雅图举行的 Xcoders 技术分享会。两场演讲极具价值:一是 Laura Savino 关于开发者如何面对快速变化的工具和保持学习心态的分享,强调幽默与同理心;二是 Jake Savin 展示如何利用 Claude 大模型重构经典的 UserLand Frontier 应用,这是 AI 辅助大型软件重写的实战案例,对理解当前 LLM 的工程能力边界有重要参考意义。
评论点赞收藏166 天前

重拾旧爱:为什么我重新爱上了 Objective-C

作者先回顾了自己曾极力推崇Swift并抛弃Objective-C的经历,随后在开发命令行工具时重新拾起OC。他提出OC虽然语法看似怪异,但语言本身极简、稳定且几乎不会变化,这使得技术债务积累极慢。相比不断演进的新语言,OC这种“确定性”反而成了优势。作者通过个人实战体验,反驳了OC已过时的主流观点,认为其在特定场景下兼具速度与可控性,是比新语言更优雅的选择。
评论点赞收藏169 天前

为什么我们要抛弃 Objective-C:一次大规模迁移的工程复盘

作者分享了在 Audible 主导将遗留 Objective-C 代码全面迁移至 Swift 的工程实践与思考。尽管重写现有代码风险巨大(甚至导致过造成数十万美元损失的推送故障),但作者认为迁移是必要的,主要基于三点:一是 Swift 的类型安全性能显著减少隐蔽的崩溃 Bug;二是消除 Swift 与 Objective-C 互操作的痛点,避免为了兼容老代码而牺牲现代 Swift 特性;三是降低团队维护成本,因为多数工程师不熟悉 ObjC。文章强调这并非盲目推崇 Swift,而是基于大规模工程经验的务实选择,并为后续讨论 ObjC 的新价值做铺垫。
评论点赞收藏178 天前

为什么NetNewsWire不做成网页应用

NetNewsWire作者Tim Bray深入分析了为何坚持做原生App而非Web App。主要理由有三:一是经济账,Web托管成本远高于原生开发,且收费违背其免费初衷,捐赠无法覆盖成本;二是隐私保护,原生App数据在本地,执法部门无法强制获取用户订阅列表,而Web端服务器必然持有数据;三是自由理念,作者认为计算机应当是用户控制的终端,而非仅仅访问他人服务器的“哑终端”,保留本地运行代码的自由至关重要。尽管对苹果等平台管控感到不满,但出于成本、隐私和理念的综合考量,仍选择维持现状。
评论点赞收藏315 天前

写Mac和iOS应用不该这么难

作者回顾90年代在UserLand开发Frontier的经历,指出当时通过脚本语言+C内核实现了无摩擦的热更新和持久化,开发效率极高。对比2025年Mac/iOS开发仍需频繁Build-Run的痛苦,作者认为Apple应引入类似机制,用脚本或专用DSL处理UI和业务逻辑,而非全部依赖Swift。文章质疑当前Xcode工作流的落后性,认为热更新和低代码摩擦应是现代开发平台的标配。
评论点赞收藏344 天前

Apple 果园里的艰难季节:从 Liquid Glass 到政治反思

NetNewsWire 作者分享适配 Liquid Glass 的工程细节,直言该设计导致界面模糊、 illegible,是“醉酒的主角”。作者将当前 Apple UI 和 Swift 的复杂化视为“艰难的季节”,相信终会过去。但笔锋一转,强烈批评 Tim Cook 向总统献金像的政治行为,认为这不仅是 UI 问题,更是道德困境,质疑在威权转向下开发者是否还应继续为 Apple 平台工作,呼吁行动而非被动等待。
评论点赞收藏355 天前

退休日:结束 41 年职业生涯,回归 NetNewsWire 开发

作者 William Pierce 宣布今日正式从 Audible 退休,结束近 41 年的职业生涯。他回顾了从 1984 年高中时期在餐厅端盘子开始工作,到如今作为高级工程师退休的经历,并幽默地指出两者在“收拾残局”和“营造体验”上的相似性。文中列举了他参与开发的多个知名应用,包括 Userland Frontier、NetNewsWire、MarsEdit、OmniFocus 等。目前他的计划是休息调整,并在下周在家观看 WWDC,随后继续投入 NetNewsWire 的开发工作。这是一篇充满个人色彩和技术情怀的退休感言。
评论点赞收藏435 天前

我对大厂工程师的错误偏见

作者从独立开发者转型至亚马逊Audible后,反思并纠正了以往认为“大厂工程师不如独立开发者”的偏见。他通过实际工作经历发现,大厂工程师在协作能力、专业严谨性及多元化背景上具有显著优势,且拥有团队协作经验的人才往往更具竞争力。文章最后以退休感言致谢团队,强调合作与共同成长的价值。
评论点赞收藏442 天前

NetNewsWire Conditional Get 缺陷分析与修复复盘

NetNewsWire作者深入分析了一个由第三方测试发现的Conditional Get Bug。核心问题在于应用为了优化性能,在检测到RSS原始数据哈希值未变化时直接跳过处理,导致未能更新Last-Modified和Etag头信息。作者不仅公开了错误逻辑的代码片段,还提出了修复方案,并承认可能还有其他潜在Bug。这是一篇典型的工程师式透明复盘,展示了如何定位、解释并修复底层网络协议交互中的细微缺陷,对关注客户端开发、RSS协议实现及软件透明度技术的读者极具参考价值。
评论点赞收藏742 天前

NetNewsWire 为何不支持 Mastodon 原生客户端功能

NetNewsWire 作者回应是否支持 Mastodon。结论是:不会做成原生 Mastodon 客户端,因为 RSS 的三栏已读/未读模式与社交媒体的单时间线体验冲突,强行融合会导致界面混乱。但会优化通过 RSS 订阅 Mastodon 账号的体验(如显示头像、图片)。作者认为理想的统一应用应是单时间线模式,但这不符合 NetNewsWire 的设计哲学。
评论点赞收藏919 天前

为什么 NetNewsWire 没有在 Vision Pro 上提供

NetNewsWire 作者解释为何未在 Vision Pro 上架应用。核心原因是开发者不愿在未拥有该设备的风险下开发,模拟器无法替代真机测试,且 Vision Pro 的交互模式与 iPad 兼容性尚不明确。作者强调作为唯一维护者需谨慎,避免仓促上架后难以撤回。此外,作者个人偏好 Mac 平台,认为 Vision Pro 目前不符合其阅读写作需求,除非未来开发者共识证明 iPad 兼容模式可行,否则暂不支持。
评论点赞收藏923 天前

公司不值得被爱

作者作为资深 Apple 开发者,回顾了自己与 Apple 几十年的渊源,并指出虽然 Apple 改变了他的职业生涯,但他必须时刻提醒自己:Apple 是一家公司,不是人,无法回馈情感。文章以 Apple 近期允许美国 App 使用外部链接支付的政策为例,批评其执行方式生硬、缺乏人情味,强调用户不应将情感投射在追求利润最大化的商业实体上,这种“去魅”视角在科技圈容易引发关于厂商与用户关系的共鸣和讨论。
评论点赞收藏940 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。