Hotkey for next suggested topic

Could we add a hotkey for going to the next suggested topic? I want to skim-read as much of Meta’s content as possible, but sometimes after glancing at the first post I already know my input is not needed and I can move on. But if the topic already has 10+ replies, I need to either scroll quite a ways down or click on the page counter.

5 Likes

Alternatives:

  1. Add a shortcut to go to the bottom or top of a topic. Then you can just J/K your way from there through Suggested topics.
  2. Alternatively, perhaps Shift+J/Shift+K should consider the Post Stream and the Suggested Topics separate “sections” to navigate between.

Why? Just press the end key to jump to the end?

This will move your read position though which I’m unclear if you want in this scenario. But there’s no other way to get to suggested…

2 Likes

Interesting idea. I just hit back arrow to return to the new or unread page (on my phone, anyway).

Since I’m on a MacBook there’s no end but rather fn+ which is quite a bit more cumbersome.

Also a full Unread queue can easily be 50 per day, which means reducing this workflow from 50 keyboard clicks + 50 mouse clicks to 50 keyboard clicks is a pretty big save.

3 Likes

When I’m skimming, I use j to quickly move down, then o to go to the top suggested topic when I get there.

It is a lot more j than you are suggesting, but if you’ve ever played a game on your PC it’s quite natural to tap the same key over and over to move :slight_smile:

3 Likes

This might make sense as an “ejector seat” button for a topic where you don’t want to scroll to the bottom and set a read position, just to get to the Suggested Topics.

I suspect this would need to be a server call, after pressing the hotkey, grab the list of suggested off the server (because they may or may not be in the viewport of the topic yet) and go to the first one?

I think it is a reasonable thing to want, and since it is a hotkey it won’t impact typical users. Can you assign the work @zogstrip?

5 Likes

@dan can you add that to your list?

We need a new shortcut to go to the first suggested topic either by grabbing it from the DOM or asking the server when not available.

3 Likes

I agree with @codinghorror that having an eject seat is a fine addition here. I suggest gs as the power shortcut. Sadly, I doubt I would use this shortcut that much, but I get the request. I guess it is most handy if you land on the topic, then do a big bunch of “up scrolling” to catch up on context and finally … want out.

I did try today doing my daily catch up with the keyboard, but I keep hitting 2 very specific issues with j k navigation that keep me reaching to my mouse, and thus not use jenter as my next suggested usual pattern.

  1. When I hit k on a long post, I miss out on a portion of the post, so I need to reach to the mouse or remember to hit down arrow on long posts… which is hard for my aging brain so I just reach to the mouse.

  2. I find the transition between posts mega jerky, I hit j and “shock” :exploding_head: I am looking at another post with zero transition effect which I find jarring.

Combined the 2 issues make me keep using the mouse :frowning:

3 Likes

I personally don’t mind #2 but #1 is the only reason I have to use the :computer_mouse: during my morning routine…

Unfortunately I don’t see an easy fix :expressionless:

1 Like

I agree long posts are the major downside to keyboard use. Fortunately most posts are not long.

Having said that, I can imagine a possible solution. Instead of showing the red line for the entire vertical length of a post when using j/k, we could show it for the vertical area that’s visible. If you hit j again, it would then scroll to the next visible part of the post.

In other words, long posts would require hitting keys a few more times, once per visible area.

2 Likes

I’ve added the shortcut in

https://github.com/discourse/discourse/pull/6978


I tried to improve it in this PR:

https://github.com/discourse/discourse/pull/6979

But, now it lags behind when spamming J/K. Maybe I should keep the “mega jerky” jump when another animation is in progress?

5 Likes

I don’t think we should be so quick to add an animation here. I want to skip to the next post as fast as possible, personally.

3 Likes

I’m also a fan of animationless UX. I value speed over fancy animation anytime.

I wonder if that should be a theme component?

5 Likes

Personally, I do not use my keyboard to navigate because when I press J, I always feel like I am missing something (what if I pressed twice?) and often press K to go one up and then J again.

A short animation of 100ms seems to be the best of both worlds, it is so quick it does not interrupt the usual flow (keeping J pressed doesn’t make it lag behind) and gives the sense that something happened.

Would a user preference under “Interface” be a better option?

1 Like

I would say this is a big enough change to start by experimenting with a theme component.

In fact I would add @eviltrout’s suggestion into the same theme component, it is great. (j should first check if entire post is in view… if not … scroll down one page minus a buffer of sorts)

You can call the component jk smooth mooves to honour JK.

8 Likes

A post was split to a new topic: Smooth J/K navigation when using keyboard