To Move Without Latency

Craig Mod has some pretty interesting thoughts on why software should be lightning fast. One example he makes is this:

Sublime Text has — in my experience — only gotten faster. I love software that does this: Software that unbloats over time. This should be the goal of all software. The longer it’s around, the more elegant it should become. Smooth over like a river stone. I have full trust in the engineering of Sublime Text because I’ve used it for over a decade, but also because it always feels like a fast, focused tool (even though it’s actually very complicated) and has only become faster the longer I’ve used it.

Last week I switched from Atom to VS Code and I immediately felt the same way that Craig does about Sublime. VS Code is lightning fast – you can search for a string in a million line codebase in a flash.

But there’s something else that’s special about VS Code, too: whereas other programming tools treat programming as any other kind of text, I feel like the designers of VS Code get that code isn’t text. They see that code can have this interconnectedness – one example of this might be a React component that has a ton of other React components within it. In a flash you can cmd+click into that sub-component and keep moving.

And I know that VS Code probably wasn’t the first to do that but the culmination of its extensive feature set and its extensions is nothing short of wonderful.

But to be honest I would trade all of these nifty features for sheer speed. I don’t care about functionality anywhere near as much as being able to do common tasks easily and quickly, or as Mod calls it “to move without latency.” That’s all I want when I’m using software – whether that’s a website or a giant complicated macOS application – I want to move without latency.

I remember a couple of years ago my brother showing me Drive Club, a video game on PS4, and how it boots instantly. You can go from popping in the disk to jumping into a race in a matter of seconds. I gasped the first time I saw this because I thought he was showing me a video. And I have a very strong feeling that the next generation of video games consoles won’t be about better graphics but pure, raw speed. No load screens. No waiting around for some dumb gif to spin endlessly. Just game. Good, game.

I want all this for websites too because it’s clear to me after all this time working on them that bad performance is not a bug and speed isn’t an additional feature you can slop on top of something.

If an interface is not fast then it is not good.