format-design
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFormat Design
格式设计
"Smart people think of good things that are crazy enough that they just might work, and then they give them away, over and over, until they slowly take over the world." — Anil Dash
"聪明的人会想出足够疯狂但可能可行的好点子,然后不断免费分享,直到它们慢慢席卷全球。" — 阿尼尔·达什(Anil Dash)
What Is It?
什么是格式设计?
Format Design is the art of creating data formats, protocols, and conventions that actually get adopted. It's not about technical superiority — it's about fit, timing, and community.
Markdown beat Textile. JSON beat XML. RSS survived. Why?
格式设计是创造能被实际采用的数据格式、协议与规范的艺术。它无关技术优越性,而在于适配性、时机与社区。
Markdown击败了Textile,JSON取代了XML,RSS留存了下来。为什么?
The 10 Reasons Markdown Won
Markdown成功的10个原因
From Anil Dash's "How Markdown Took Over the World" (January 2025):
来自阿尼尔·达什2025年1月9日的文章《Markdown如何席卷全球》:
1. Had a Great Brand
1. 拥有出色的品牌
"'Markdown' as a name is clever as hell. Get it — it's not markup, it's markdown."
- Memorable — Sticks in the mind
- Self-explanatory — Name implies purpose
- Clever — Rewards understanding
MOOLLM parallel: YAML Jazz, SOUL-CHAT, K-lines — memorable names that reward understanding.
"‘Markdown’这个名字简直太巧妙了。你懂的——它不是标记语言,而是‘降标记’语言。"
- 易记——过目不忘
- 自解释——名称暗示用途
- 巧妙——能让理解它的人产生共鸣
MOOLLM类似案例:YAML Jazz、SOUL-CHAT、K-lines——这些名字易记且能引发共鸣。
2. Solved a Real Problem
2. 解决了真实问题
"Millions of people were encountering the idea that it was too difficult or inconvenient to write out full HTML by hand."
Not abstract improvement. A specific, felt problem.
Test: Can you describe the pain point in one sentence? Can users?
"数百万人都遇到过这样的困扰:手动编写完整HTML太过困难或不便。"
不是抽象的改进,而是具体、切实的痛点。
测试标准:你能用一句话描述痛点吗?用户能做到吗?
3. Built on Existing Behaviors
3. 基于现有行为构建
"The format is based on the ways people had been adding emphasis and formatting to their text for years or even decades."
People already used for emphasis in email. Markdown just formalized it.
*asterisks*Principle: Don't invent new behaviors. Codify existing ones.
"该格式基于人们多年甚至几十年来在文本中添加强调和格式的习惯。"
人们早已在邮件中用表示强调,Markdown只是将其规范化。
*星号*原则:不要发明新行为,而是将现有行为标准化。
4. Mirrored RSS in Its Origin
4. 起源与RSS相似
"Both were spearheaded by a smart technologist who was also more than a little stubborn."
A champion who believed, advocated, and refined. Community built around a person.
Requirement: Someone must care deeply enough to keep pushing.
"两者都由一位聪明且略带固执的技术专家牵头。"
有一位坚信、倡导并持续优化的倡导者,社区围绕这个人建立。
要求:必须有人足够投入,持续推动发展。
5. Community Ready to Help
5. 社区随时准备提供支持
"Markdown was part of a community that could build on it right from the start."
Prior art (Textile), beta testers (Aaron Swartz), early adopters (bloggers).
Principle: No format succeeds alone. Build with others.
"Markdown从一开始就属于一个可以对其进行拓展的社区。"
已有先例(Textile)、测试用户(亚伦·斯沃茨,Aaron Swartz)、早期采用者(博主)。
原则:没有任何格式能独自成功,要与他人共同构建。
6. Had the Right Flavor for Every Context
6. 针对不同场景有适配版本
"Various communities that were implementing Markdown could add their own 'flavors' as they needed."
CommonMark for standardization. GitHub-Flavored for tables. Obsidian for wikilinks.
Principle: Core should be simple. Extensions should be possible.
"各个实现Markdown的社区可以根据需要添加自己的‘适配版本’。"
CommonMark用于标准化,GitHub适配版支持表格,Obsidian适配版支持维基链接。
原则:核心要简洁,同时支持拓展。
7. Released at a Time of Behavior Change
7. 在行为转变时期发布
"You can get people to change their behaviors when they're using a new tool."
Blogging was new in 2004. People were already learning new habits.
Timing matters: Launch during transitions (new platforms, new tools, new eras).
"当人们使用新工具时,你可以让他们改变行为。"
2004年博客刚兴起,人们已经在学习新习惯。
时机至关重要:在转型期推出(新平台、新工具、新时代)。
8. Came at the Cusp of the "Build Tool Era"
8. 恰逢“构建工具时代”的开端
"Markdown is a raw material that has to be transformed into HTML, it perfectly fit this new workflow."
Build pipelines became standard. Markdown fit the compile-to-output model.
Principle: Align with emerging workflows, not legacy ones.
"Markdown是需要转换为HTML的原始素材,它完美适配这种新工作流。"
构建流水线成为标准,Markdown契合“编译至输出”的模式。
原则:与新兴工作流对齐,而非遗留工作流。
9. Worked with "View Source"
9. 支持“查看源代码”
"It only takes one glimpse of a source Markdown file for anyone to understand how they might make a similar file of their own."
Inspectable. Learnable by example. No teaching required.
Test: Can someone learn your format by looking at one example?
"任何人只需瞥一眼Markdown源文件,就能明白如何制作类似的文件。"
可检查,通过示例即可学习,无需专门教学。
测试标准:有人能通过一个示例学会你的格式吗?
10. Not Encumbered by IP
10. 不受知识产权限制
"There are no legal restrictions around Markdown. Nobody's been afraid to use the format."
No patents. No licenses. No approval needed.
Principle: Generosity enables adoption. Give it away.
"Markdown没有任何法律限制,没人害怕使用这种格式。"
无专利、无许可证、无需批准。
原则:慷慨促成采用,免费分享。
The "Worse is Better" Principle
“差胜于好”原则
Richard Gabriel (1989):
"Simplicity is the most important consideration in a design."
理查德·加布里埃尔(Richard Gabriel,1989):
"简洁是设计中最重要的考量因素。"
The Two Philosophies
两种理念
| MIT/Stanford ("The Right Thing") | New Jersey ("Worse is Better") |
|---|---|
| Correctness is paramount | Simplicity is paramount |
| Consistency matters | Interface should be simple |
| Completeness required | 80% solution acceptable |
| May sacrifice simplicity | May sacrifice correctness |
| MIT/斯坦福(“正确的事”) | 新泽西(“差胜于好”) |
|---|---|
| 正确性至上 | 简洁性至上 |
| 一致性重要 | 界面应简洁 |
| 需完整 | 接受80%的解决方案 |
| 可能牺牲简洁性 | 可能牺牲正确性 |
Why "Worse" Wins
为什么“差”的会赢
The simpler thing:
- Gets implemented faster
- Gets adopted more easily
- Gets modified more readily
- Survives longer
Examples:
- Markdown beat Textile (simpler, less precise)
- JSON beat XML (simpler, less expressive)
- JavaScript beat Java in browsers (simpler, less typed)
- Unix beat Multics (simpler, less secure)
更简洁的事物:
- 实现更快
- 更易被采用
- 更易被修改
- 留存更久
示例:
- Markdown击败Textile(更简洁,精度更低)
- JSON取代XML(更简洁,表达力更弱)
- JavaScript在浏览器中击败Java(更简洁,无类型)
- Unix击败Multics(更简洁,安全性更低)
The Lesson
经验教训
"If you're using ALL of C++ in your projects you're 'doing it wrong.' It is not a well-designed language." — @calmbonsai, Hacker News
Complex formats that aren't fully used are worse than simple formats fully used.
"如果你的项目中用到了C++的全部特性,那你‘做错了’。它不是一个设计良好的语言。" — @calmbonsai,Hacker News
未被充分使用的复杂格式,不如被充分使用的简单格式。
Postel's Law in Format Design
格式设计中的Postel法则
"Be liberal in what you accept, and conservative in what you send."
"接受要宽松,发送要保守。"
For Parsers
针对解析器
Accept:
- Variant spellings
- Missing optional fields
- Extra whitespace
- Unknown extensions
接受:
- 拼写变体
- 缺失的可选字段
- 额外空格
- 未知拓展
For Generators
针对生成器
Output:
- Canonical form
- Complete required fields
- Minimal complexity
- Maximum compatibility
输出:
- 标准格式
- 完整的必填字段
- 最小复杂度
- 最大兼容性
The Superset Pattern
超集模式
From HN:
"CommonMark Markdown is a rough superset of HTML, like how YAML is a superset of JSON."
Successful formats often nest:
- Markdown ⊃ HTML
- YAML ⊃ JSON
- JSX ⊃ JavaScript
Benefit: Easy migration path from simpler format.
来自Hacker News:
"CommonMark Markdown大致是HTML的超集,就像YAML是JSON的超集一样。"
成功的格式通常是嵌套的:
- Markdown ⊃ HTML
- YAML ⊃ JSON
- JSX ⊃ JavaScript
优势:从简单格式迁移的路径更顺畅。
Case Studies
案例研究
Markdown (2004) — Won
Markdown(2004)——成功
| Factor | Score |
|---|---|
| Brand | ✅ Clever name |
| Problem | ✅ HTML too verbose |
| Existing behavior | ✅ Email conventions |
| Champion | ✅ John Gruber |
| Community | ✅ Bloggers |
| Timing | ✅ Blog era |
| Simple | ✅ 10 minute learning curve |
| Inspectable | ✅ Raw = readable |
| Free | ✅ No restrictions |
| 因素 | 评分 |
|---|---|
| 品牌 | ✅ 巧妙的名字 |
| 问题 | ✅ HTML过于冗长 |
| 现有行为 | ✅ 邮件规范 |
| 倡导者 | ✅ 约翰·格鲁伯(John Gruber) |
| 社区 | ✅ 博主群体 |
| 时机 | ✅ 博客时代 |
| 简洁性 | ✅ 10分钟学习曲线 |
| 可检查性 | ✅ 原始文件即可读 |
| 免费 | ✅ 无限制 |
Textile (2003) — Lost
Textile(2003)——失败
| Factor | Score |
|---|---|
| Brand | ❌ Obscure name |
| Problem | ✅ Same as Markdown |
| Existing behavior | ⚠️ Some |
| Champion | ⚠️ Dean Allen (less visible) |
| Community | ⚠️ Smaller |
| Timing | ✅ Same era |
| Simple | ⚠️ Slightly more complex |
| Inspectable | ✅ Yes |
| Free | ✅ Yes |
| 因素 | 评分 |
|---|---|
| 品牌 | ❌ 晦涩的名字 |
| 问题 | ✅ 与Markdown相同 |
| 现有行为 | ⚠️ 部分契合 |
| 倡导者 | ⚠️ 迪恩·艾伦(Dean Allen,知名度较低) |
| 社区 | ⚠️ 规模更小 |
| 时机 | ✅ 同一时代 |
| 简洁性 | ⚠️ 略复杂 |
| 可检查性 | ✅ 是 |
| 免费 | ✅ 是 |
XML (1998) → JSON (2002)
XML(1998)→ JSON(2002)
| XML | JSON | |
|---|---|---|
| Verbosity | High | Low |
| Types | Complex | Simple |
| Parsing | Hard | Easy |
| Learning | Weeks | Hours |
| Adoption | Declined | Dominant |
| XML | JSON | |
|---|---|---|
| 冗长性 | 高 | 低 |
| 类型 | 复杂 | 简单 |
| 解析难度 | 难 | 易 |
| 学习周期 | 数周 | 数小时 |
| 采用情况 | 下降 | 主导 |
Designing for MOOLLM
为MOOLLM设计格式
When creating new formats (skill cards, room files, etc.):
在创建新格式(技能卡片、房间文件等)时:
Checklist
检查清单
- Name — Memorable? Self-explanatory?
- Problem — Clear, specific pain point?
- Existing behavior — Building on something familiar?
- Community — Who will help?
- Simplicity — Can you remove more?
- Inspectable — Learnable by example?
- Free — No restrictions?
- 名称——易记?自解释?
- 问题——清晰、具体的痛点?
- 现有行为——基于熟悉的事物构建?
- 社区——谁会提供帮助?
- 简洁性——还能再简化吗?
- 可检查性——通过示例可学习?
- 免费——无限制?
Format Smell Tests
格式测试要点
Red Flags:
- Requires documentation to understand examples
- Has more than 5 required fields
- Uses abbreviations or codes
- Needs special tools to view
- Includes binary components
Green Flags:
- One example teaches the format
- Readable without rendering
- Extensible without breaking
- Works with standard tools
危险信号:
- 需要文档才能理解示例
- 必填字段超过5个
- 使用缩写或代码
- 需要特殊工具查看
- 包含二进制组件
积极信号:
- 一个示例就能学会格式
- 无需渲染即可阅读
- 可拓展且不破坏原有功能
- 可与标准工具配合使用
The Community Point
社区要点
From Anil:
"The people who make the real Internet and the real innovations also don't look for ways to hurt the world around them, or the people around them."
Formats succeed when:
- Created to solve the creator's own problem
- Shared freely for others' benefit
- Refined through feedback
- Not used to extract rent
Generosity scales. Greed doesn't.
来自阿尼尔:
"构建真正互联网与真正创新的人,也不会想方设法伤害周围的世界或人。"
格式成功的条件:
- 为解决创造者自身的问题而创建
- 免费分享以惠及他人
- 通过反馈不断优化
- 不用于榨取利益
慷慨能规模化,贪婪则不能。
Dovetails With
相关链接
- markdown/ — Case study in success
- yaml-jazz/ — MOOLLM's data format
- plain-text/ — The substrate
- postel/ — Liberal parsing
- k-lines/ — K-lines (symbolic activators)
- markdown/ — 成功案例研究
- yaml-jazz/ — MOOLLM的数据格式
- plain-text/ — 基础载体
- postel/ — 宽松解析
- k-lines/ — K-lines(符号激活器)
Protocol Symbol
协议符号
FORMAT-DESIGNInvoke when: Designing new formats, evaluating existing ones, choosing between options.
FORMAT-DESIGN调用场景:设计新格式、评估现有格式、在选项间做选择时。
The Bottom Line
核心结论
"Nearly every bit of the high-tech world, from the most cutting-edge AI systems at the biggest companies, to the casual scraps of code cobbled together by college students, is annotated and described by the same, simple plain text format."
That format wasn't designed by a committee. It was created by one person to solve their own problem, tested by a teenager, and given away for free.
Design like that.
"高科技世界的几乎每一部分,从大公司最前沿的AI系统,到大学生拼凑的零散代码,都由同一种简单的纯文本格式进行注释与描述。"
这种格式不是由委员会设计的,而是由一个人为解决自己的问题创建,经一名少年测试,然后免费分享出去的。
就像这样设计。