Hacker News new | ask | show | jobs
by mikeryan 2873 days ago
There’s an inherent dichotomy in UI in that the most “efficient” interfaces generally have the steepest learning curve. You can be really efficient in a terminal or VIM. But figuring those out take a lot of work.

When we design interfaces we try to make them have a short learning curve but expose greater ability as you use them but it’s still hard.

4 comments

Completely agree, but we can also figure out how to make it easier. Take a look at http://kakoune.org/why-kakoune/why-kakoune.html#_improving_o... (this is the section that introduces the flip on vim's command structure, but is otherwise a great article to read top to bottom).

There are a lot of ways vim is right or not right, but this lowers the barrier to entry in a profound way. We can keep advancing like this, and stacking those advancements on each other until vim isn't hard. Maybe? What do you think?

I think one of the big ways vim is hard is what Kakoune attempts to fix - visualizing selection. Adding a "layer" to working in vim, we had `u` and `^r` to figure things out - doing something and knowing we could go back. Now with Kakoune we have movement before action. This adds another way the program can converse with the user.

Disclaimer: I don't use Kakoune, but I dig what it's doing and I want to try it out. I think it is a fantastic critique of vim.

I'm not trying to say Kakoune's exploration is without value, but Vim very much does have "movement before action" mode. It's the visual mode, entered by the "v" key. It's the main feature vim has over vi.
That makes sense, for example Reddit has a very simple concept with the upvote/downvote, but also more advanced features if you need them. But I would also argue that UIs also implicitly convey a preference for how data on the web should be organized, and that affects usage.

For example the feed, besides being a UI pattern, also claims that content on the web is for consumption and not exploration, and so we remain stationary on these aggregation platforms instead of 'browsing' the web as we used to. This is efficient but politically bad for society, and we would need to introspect on how we use the internet in tandem with the development of new tech like decentralized platforms.

Duckduckgo David Galernter and Lifestreams. He predicted the feed over 20 years ago but his vision accounted for the exploration aspect as well.
I think this is nowhere more evident than in the world of games. In my opinion RTS games stagnated and died because they failed to innovate in interface department, outside of a few like Total Annihilation / Supreme Commander. The classic Dune2/Warcraft interface only works for selecting single units and squares. So when any bigger engagement happens, it's just people throwing blobs at one another and juggling group hotkeys.

I think RTS games should be controlled primarily by keyboard, not mouse. Select units of X type by pressing a key, target them at units of Z type, make the command 'attack' by pressing A. Vim-inspired.

It's not surprising that games are chiefly aimed at the least patient people - the goal of publishers is to sell to as many people as possible.

Hmm. To me, large-army games and small-army games are just very different games, and I have little interest in large-army games. I don't see Total Annihilation ever replacing StarCraft for me, for instance. If I could only control the game via keys, I'd be very uninterested as that'd be a very different kind of game. Most of these games went turn based for a reason.

I specifically like AoE II for the feeling of grabbing a pack of Mangudai and watching them quickly run somewhere and fire arrows. It's not realistic, but it's understandable and pleasing, in a way that a super serious military simulator isn't.

I think RTS, like many other genres, mostly "died" due to stagnation around clones, which I think has more to do with the industry at large that is not innovating all that much anymore, and RTS is often not the genre of choice for a small indie developer, either.

https://en.wikipedia.org/wiki/Learning_curve

> The familiar expression "a steep learning curve" is intended to mean that the activity is difficult to learn, although a learning curve with a steep start actually represents rapid progress.

Well, progress along the Y axis is only achieved if progress is made on the X axis too. If the curve is too steep, the user is expected to learn too much too quickly, and many will simply give up.
The X axis of an actual-jargon “learning curve” is effort, not time. Steeper slope means higher “learning ROI”—more learning out per unit of effort invested in.