# File over app principle The File over App principle, articulated by [[Steph Ango]] (CEO of [[Obsidian]]), states that data should be stored in durable, open file formats that outlive any particular application. The idea is to separate applications from the data they operate on, leaving data under full user control. If an app disappears, the files remain readable and editable by other tools. This contrasts with apps that lock data in proprietary databases or cloud-only storage, making users dependent on the app's continued existence and the company's goodwill. The principle advocates for plain text formats ([[Markdown]], [[Org-mode]], JSON, CSV) over proprietary binary formats. [[Obsidian]] exemplifies this: notes are Markdown files stored locally, editable with any text editor. If Obsidian disappears tomorrow, users retain all their data. This philosophy aligns with [[Local-First Software]] and emphasizes user data sovereignty. Critics note that open formats may sacrifice features (real-time collaboration, rich media); proponents argue durability and ownership outweigh these trade-offs. The principle is especially relevant for [[Personal Knowledge Management (PKM)]], where notes may need to last decades. ## The Principle ``` ┌─────────────────────────────────────────────────────────────┐ │ FILE OVER APP PRINCIPLE │ │ (Steph Ango) │ ├─────────────────────────────────────────────────────────────┤ │ │ │ "In the fullness of time, the files you create are more │ │ important than the tools you use to create them." │ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ APP-CENTRIC FILE-CENTRIC │ │ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ App │ │ Files │ │ │ │ │ │ ┌───────┐ │ │ .md .txt │ │ │ │ │ │ │ Data │ │ │ .json │ │ │ │ │ │ └───────┘ │ └──────┬──────┘ │ │ │ │ └─────────────┘ │ │ │ │ │ ┌────┴────┐ │ │ │ │ App dies → Data lost App A App B App C │ │ │ │ Any app can read │ │ │ │ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ ``` ## Core Ideas | Idea | Description | |------|-------------| | **Data durability** | Files outlive applications | | **Open formats** | Use standards anyone can read | | **User ownership** | You control your data | | **Portability** | Move data between apps freely | | **Longevity** | Plain text readable for decades | | **No lock-in** | App can be replaced anytime | ## File Formats | Format | Durability | Use Case | |--------|------------|----------| | **Plain text** | Excellent | Notes, logs | | **Markdown** | Excellent | Documentation, notes | | **Org-mode** | Excellent | Emacs users | | **JSON** | Excellent | Structured data | | **CSV** | Excellent | Tabular data | | **HTML** | Good | Web content | | **PDF** | Good | Documents | | **SQLite** | Good | Local databases | | **Proprietary** | Poor | Avoid | ## App-Centric vs File-Centric | Aspect | App-Centric | File-Centric | |--------|-------------|--------------| | **Data storage** | Inside app/cloud | Filesystem | | **Access** | Only through app | Any compatible app | | **Longevity** | Tied to app survival | Outlives apps | | **Export** | Often limited | Always available | | **Ownership** | App company | User | | **Examples** | Notion, Evernote | Obsidian, plain text | ## Examples | App | Approach | File Format | |-----|----------|-------------| | [[Obsidian]] | File-centric | Markdown | | [[Logseq]] | File-centric | Markdown/Org | | VS Code | File-centric | Any text file | | Notion | App-centric | Proprietary DB | | Evernote | App-centric | Proprietary | | Apple Notes | App-centric | Proprietary | ## Benefits | Benefit | Description | |---------|-------------| | **Future-proof** | Files readable in 50 years | | **Freedom** | Switch apps without losing data | | **Backup** | Standard tools work | | **Sync** | Use any sync service | | **Privacy** | Data stays local | | **Simplicity** | Plain text is universal | ## Trade-offs | Trade-off | Consideration | |-----------|---------------| | **Features** | Some apps offer more with proprietary formats | | **Collaboration** | Real-time sync harder with files | | **Rich content** | Embedding media more complex | | **Convenience** | Cloud apps "just work" | ## References - https://stephango.com/file-over-app - https://sive.rs/plaintext ## Related - [[Local-First Software]] - [[Obsidian]] - [[Markdown]] - [[Plain Text]] - [[Personal Knowledge Management (PKM)]] - [[Data Ownership]] - [[Steph Ango]] - [[Org-mode]]