Hacker News new | ask | show | jobs
by jcgrillo 820 days ago
To be honest I think mostly nothing has substantially changed. Windows 95 isn't substantially different from Mac OSX 14 or Gnome or whatever. They're all the same clunky pointy clicky distracting paradigm where you have to memorize a bunch of visual rituals. The problem is that they change not which changes are "better" or "worse".

By contrast, emacs has improved dramatically from v26, to v27, 28, and now 29. It's gotten faster with things like tree-sitter and native compilation. LSP has been completely revolutionary. You know what hasn't changed? The UX.

Same thing with Android/iOS. The new features don't change the fact that the device is a terrible compromise. It's pretty bad at being a telephone compared to the actual phones which preceded it--for example, try making a phone call without looking at the device. With a physical number pad I used to be able to dial numbers with one thumb while driving, without looking at my phone. Try doing that with your "smart" phone.

It's also terrible at being a computer because it lacks a keyboard and any way to run normal computer programs--everything is these nerfed "apps". Why can't I have a shell, emacs, gcc, etc?

So, I guess no. I'm not glad, really. Neither Windows nor Android made anything fundamentally better for me. And incrementally polishing these turds doesn't either.

1 comments

I use and love emacs, but pointing to it as an example of how to evolve UX over time is indicative of your perspective. iOS/Windows/Android are used by the majority of people on the planet, emacs is not.

Which UX do you think young people today and in the future will most understand? iOS/Android or emacs? Why is that?

It depends what these people are using a computer for. If they're writing software, then a shell, a text editor, and a language toolchain are what they'll be using. Bash/zsh/fish, emacs/vi(m)/whatever, gcc/llvm/cargo/babel/etc. These are all tools with UX. But these tools--the ones programmers use--don't change willy-nilly. Doing so would hurt us, so we don't do it. Why do we treat "non-technical" users differently?
I think there have been and will continue to be UX improvements to programmer tools. GitHub is one example.

You think tools that stagnate will continue to see the same levels of adoption in new generations of programmers? It's an empirical question, I guess I just don't see it, and I say that as someone who loves vim & emacs.

Stagnation is a good thing. It means you got it right. Your search has found a local optimum. For example, the screw cutting lathe has been stagnant for about two and a quarter centuries[1]. Sure, there have been incremental advancements--geared heads, power feeds, numeric control--but the basic UX is fundamentally the same. You have gears (virtual or physical) to control the feed rate of the cutting tool, and hand wheels to move the saddle and compound.

EDIT: I'd bet the unix shell experience is similar. It's hit a pretty stable point where it's unlikely to be revolutionized. There are certain improvements--tools like atuin[2] are nice--but fundamentally the UX will remain the same: you type text commands into a prompt, the basic readline controls work, you may have tab-complete. Text editing has hit this same stable point. You're not going to do better than vim or emacs.

EDIT2: Actually, I think GitHub is a good example of this kind of good stagnation. The code review experience of GitHub's competitors is largely the same as GitHub's.

[1]https://ocw.tudelft.nl/wp-content/uploads/ED2011_2_Fabrikage... [2]https://github.com/atuinsh/atuin

Familiarity
You think the only reason vim & emacs aren't used as much as iOS/Android/Windows (or equivalent defaults on those platforms) is familiarity?
No.

I think users feel the other options are better due to familiarity.

I generly find modern interfaces clunky and really inefficient to use and this iescoming from a younger person who grew up in win 98+.

After I actually spent some time on a cli and using vim there's no way I would go back. Sure I can put up with it but if you give me a choice I would use the cli and vim any day of the week. Unfortunately these days you need graphical applications for things so I use a tiling window manager as a compromise and would you believe I like windows 10 and 11 purely because I can use them mostly the same way.

I generally want a single full screen thing on my screen and to be able to switch "desktops" to another full screen thing. Add something like tmux (I settle for tabbed terminal when using windows) and I'm happy.

Modern windows and macos with multi desktop workflows does exactly that.

For applications I never want to move my hands from exactly the position they are in right now. Added bonus, don't make me search through a billion and one menus for a thing I want to do and specially don't make me practice my FPS aiming to hit the button.

Ironically the GUI applications I like the most have a fuzzy finder on a keyboard shortcut or every single action is available from a keyboard shortcut.

The ones I hate follow "good modern UI" you know like putting everything in a ribbon that scrolls across the screen for 20 pages and all the buttons are tiny and the screen is cluttered with crud.

So yes I will take vim over VS code for both UI and UX any day of the week.

Sometimes it's perfectly fine for a user who has never used tour product to not know how to use it fully.

Keep your fancy UX design Philosophy for the website that teaches how to use the app. I need UX to get out of my way, not make 5 functions easy to use and everything else a pain in the backside.

Recently I've seen more and more things adopt the C-k shortcut to mean "pop up a fuzzy search box". Slack and other tools do this, and it's wonderful. It allows me to avoid using someone else's idea of what a "good UI" might be and just find the thing I want.