[{"data":1,"prerenderedAt":97},["ShallowReactive",2],{"writing":3},[4,39,68],{"id":5,"title":6,"body":7,"date":30,"description":13,"extension":31,"meta":32,"mins":33,"navigation":34,"path":35,"seo":36,"stem":37,"__hash__":38},"writing\u002Fwriting\u002Fwindow-managers.md","Window managers solve the wrong problem",{"type":8,"value":9,"toc":26},"minimark",[10,14,17,20,23],[11,12,13],"p",{},"I spent six months building a window manager. Not using one—building one. Calyptra runs inside Hammerspoon, written in Lua, and it does exactly what I designed it to do: tiles, floats, tracks focus state across spaces, makes the keyboard fast. It works well. I used it for three months and then I stopped thinking about it entirely, which is exactly what a tool should do.",[11,15,16],{},"But here's what I noticed while building it: the reason most people want a window manager isn't windows. It's that their workflow has a seam in it. They're context-switching, and the physical act of reaching for the mouse and repositioning windows is the moment they can feel the cost. The window manager promises to remove that cost. And it does. But it doesn't remove the seam.",[11,18,19],{},"I've worked with people who run yabai with a 400-line config and are still context-switching twelve times an hour. The windows are in perfect positions. The work is still scattered. The tool solved the symptom and called it done.",[11,21,22],{},"The useful question isn't \"how do I arrange my windows.\" It's \"why do I have twelve things open.\" That's a workflow question, not a window question. Most window managers can't answer it—and they're not trying to.",[11,24,25],{},"Calyptra taught me to be suspicious of tools that are answers to the wrong question. The best version of the problem was never window placement. It was something upstream of that, something about how I was structuring work. The window manager was a distraction I needed to build in order to see past it.",{"title":27,"searchDepth":28,"depth":28,"links":29},"",2,[],"2026-04-10","md",{},7,true,"\u002Fwriting\u002Fwindow-managers",{"title":6,"description":13},"writing\u002Fwindow-managers","6ptN_a0SfhLrBlc_CuqRAtJFsarnrcj6q-tpNOi2_oI",{"id":40,"title":41,"body":42,"date":61,"description":46,"extension":31,"meta":62,"mins":63,"navigation":34,"path":64,"seo":65,"stem":66,"__hash__":67},"writing\u002Fwriting\u002Fthe-pencil.md","What is a pencil",{"type":8,"value":43,"toc":59},[44,47,50,53,56],[11,45,46],{},"The best tools disappear. Not when you're not using them—when you are. You stop being aware of the weight in your hand. You stop thinking about the interface. The distance between idea and artifact collapses and the only thing in the room is the problem and what you're making.",[11,48,49],{},"I think about pencils a lot. A pencil is a nearly perfect tool. It's weighted in a way that feels calibrated, even though it wasn't calibrated for you specifically. It gets shorter as you use it, which changes the weight and grip in a way that somehow works. The mark it makes erases, which means the thing you're building isn't precious, which means you'll take more risks with it. The whole system is designed to keep you moving.",[11,51,52],{},"I'm trying to build software that behaves like a pencil. Not literally—though there's something interesting in software that changes as you use it, that leaves traces, that cheapens the cost of being wrong. But in the sense of: I want the interface to recede. I want the person holding the tool to become more capable, not more dependent.",[11,54,55],{},"This is not the same as invisible design, which is often a way of saying \"the user will figure it out.\" A pencil isn't invisible. It's present and correct. It puts itself in exactly the position where it won't get in the way.",[11,57,58],{},"That's the brief: present and correct, out of the way. Every decision I make in a tool is either moving toward that or away from it.",{"title":27,"searchDepth":28,"depth":28,"links":60},[],"2026-03-28",{},5,"\u002Fwriting\u002Fthe-pencil",{"title":41,"description":46},"writing\u002Fthe-pencil","9Lp2zkYSIxkI6iCJySGSD5VlCr2qwFOB8WeKa2QAJF0",{"id":69,"title":70,"body":71,"date":90,"description":75,"extension":31,"meta":91,"mins":92,"navigation":34,"path":93,"seo":94,"stem":95,"__hash__":96},"writing\u002Fwriting\u002Fordering-that-feels-like-ordering.md","Ordering that feels like ordering",{"type":8,"value":72,"toc":88},[73,76,79,82,85],[11,74,75],{},"The first version of OrdrUs had a dropdown for pizza size, a checkbox list for toppings, and a quantity field. It worked. It was also completely wrong.",[11,77,78],{},"Ordering a pizza is not filling out a form. It's a conversation you've had a hundred times, with a set of constraints you already know. You say \"large, half pepperoni half mushroom, thin crust\" in one breath. You don't say \"SIZE: large. TOPPINGS: see below. SECTION A: pepperoni. SECTION B: mushroom. CRUST: thin.\" Nobody talks like that, and nobody thinks like that. But that's what most ordering software asks you to do—translate human intent into database schema.",[11,80,81],{},"The insight that changed OrdrUs was simple: the interface should match how people already think, not how databases need to store things. Those are two completely different problems. One is a UX problem. The other is an engineering problem. Engineering solved its problem decades ago. The UX problem mostly went unsolved because the people building the software were solving the engineering problem again, in a box labeled \"interface.\"",[11,83,84],{},"What does a pizza interaction look like if it follows the mental model? It looks like: you tap the pizza, you get the pizza builder, the builder knows which sections exist and lets you fill them like a real pizza looks—half and half, quarter divided, extra cheese on one part. The price updates live because the price conversation happens live. You can see what you're building.",[11,86,87],{},"This sounds obvious in retrospect. Most UX insights do. The reason it doesn't happen isn't lack of imagination—it's that forms are easy to build and conversations are hard. The easy thing became the default. OrdrUs was ten years of choosing the hard thing.",{"title":27,"searchDepth":28,"depth":28,"links":89},[],"2026-02-14",{},6,"\u002Fwriting\u002Fordering-that-feels-like-ordering",{"title":70,"description":75},"writing\u002Fordering-that-feels-like-ordering","i6ByPB3FMiZsmssdYLdpXuUY3rSOb1g7mQo3-Nq5WAY",1777306838105]