来自工作室
工作手记。
走进我们的创作。
我们在设计独立软件时学到的东西:布局引擎、默认私有工具以及想法和有用产品之间的顽固细节。
PhotoBooks 指南
MailVault 指南

· 邮件归档 · 阅读约 2 分钟
什么是 EML 文件,为什么它很重要?
了解 EML 文件包含什么、它与截图或 PDF 有何不同,以及开放格式的邮件文件为什么有助于保存可迁移的归档。
- MailVault
- 实用指南
MeatPad 指南

· 笔记与写作 · 阅读约 2 分钟
使用 Markdown 表格,而不让笔记难以编辑
用 Markdown 表格进行简短比较,保持单元格简洁;信息超出这种格式的承载能力时,改用列表或电子表格。
- MeatPad
- 实用指南
// 最新思考
· 工程 · 9 分钟阅读
50,000 封邮件,14 毫秒:MailVault 背后的搜索索引
MailVault 在 50,000 封邮件的邮箱上,每个查询的搜索用时 7 到 14 毫秒。测量数据、用来复现它们的命令、背后朴素的 SQL 索引,以及我们发布后又发现的 30 倍性能下降。
- 搜索
- SQLite
- MailVault
· 工程 · 9 分钟阅读
两个 Mac 应用,一台 Mac mini:589 项测试全程入镜
一个下午,一台 Mac mini,两段录屏:MeatPad 的 50 个 XCUITest 用例,405.032 秒;MailVault 跨 81 个 spec 文件的 539 个端到端用例,16 分钟 3 秒。为什么一个用例在一边要花 8.3 秒,在另一边只要 1.8 秒。
- 测试
- XCUITest
- WebdriverIO
· 工程 · 8 分钟阅读
八次点击 98 秒:测试 SwiftUI 应用与测试 Tauri 应用
一台 Mac mini 跑我们两款桌面应用的全部测试。MailVault 拿到了 1,604 个测试用例和 53 个端到端规格。MeatPad 有了它的第一批 UI 测试,代价是每次点击十二秒。这里是测量数据,以及造成这一差距的那个结构性原因。
- 测试
- SwiftUI
- Tauri
· 工程 · 7 分钟阅读
63 MB:一个不是浏览器的 Mac 代码编辑器要花多少内存
MeatPad 开着十九个小时占 63 MB,载入一个 2,721 个文件的项目后占 108 MB。这里有测量结果、可以自己重跑的命令、数字背后的四个设计决定,以及唯一会让一切崩掉的文件大小。
- 性能
- macOS
- MeatPad
· 工程 · 6 分钟阅读
一台 Mac mini 替你点开邮件客户端,免得你事后吃苦头才发现问题
MailVault 的每一个功能,只有在一台机器打开真实应用、点击真实按钮、并从实际屏幕上读取结果之后,才会发布。端到端测试套件是如何运作的,以及它为何运行在一台 Mac mini 上,而不是我们平时工作用的那台机器上。
- 测试
- Tauri
- MailVault
· 电子邮件 · 7 分钟阅读
Gmail 限量配给你自己的邮件:每日 2,500 MB 下载上限
Google 将 IMAP 下载限制为每位用户每日 2,500 MB,超出后账户最长可能被锁定 24 小时。这对任何要归档大型邮箱的人意味着什么——以及当服务器喊停时,备份工具应该如何应对。
- Gmail
- IMAP
- MailVault
· 工作室 · 4 分钟阅读
什么是 Graphic Meat?不是素食主义者,也不是屠夫——它是软件。
我们不出售食物,也不伤害动物。这个名字是图形讽刺:肉代表了工作的实质——你可以实际咀嚼的编码结果。
- 工作室
- 讽刺剧
- 命名
· 设计系统 · 8 分钟阅读
网络解决了自动砌筑问题。为什么没有写真集?
多年来,浏览器一直将不均匀的内容放入平衡的网格中。印刷相册仍然要求人们将每张照片拖到一个盒子里。缺失的不是布局,而是判断力。
- 自动布局
- 计算设计
- PhotoBooks








