Programmatic interfaces vs graphical user interfaces (GUIs)
Two ways to interface with software:
Programmatic interfaces
- Interface through code, commands, text
- Examples: command-line (CLI), APIs, stdin/stdout,
SELECT * FROM users
- Requires BYO mental model: interface doesn't educate, expects you to know what's possible
- Used by: humans (developers) AND machines (scripts, automation, AI)
- Not accessible to non-technical people
- Might have
help or man pages, but minimal — the interface executes, doesn't teach
Graphical User Interfaces (GUIs)
- Interface through visual elements — buttons, windows, menus, forms, frames
- Examples: Google Docs, MarioKart, this website
- Present a model: visual menu of affordances, skeuomorphic metaphors (desktop, folders, trash)
- Used by: humans (point, click, drag, type)
- Machines CAN use them (screen scraping, AI computer use) but it's clunky and far behind agentic programmatic computer use
- Self-educating: can show up knowing little, learn by exploring
2025-11-14
Home