[dev] j/n in list view should be restricted only to the items currently in view

I don’t know if this is actually a good idea in practice, but here it is nevertheless, I think it’s worth a shot:

  • I find the list view to be a great tool to skim through tens and hundreds of titles with lightning speed;
  • the problem I have is that using the keyboard I can not get to the story I actually want to read: when I press j, the next unopened story is opened (which can be several screens above the point I reached by skimming the titles); likewise, pressing n. This kills the work-flow - when I’m done reading the story I don’t know where I left off downwards so I can return
  • so the solution I found for the above problem is the following: the j keyboard shortcut should open stories only from the ones that are currently visible (if there are no currently opened story, it should start at the top in the viewable list); n likewise. When I get to the bottom, they should keep opening stories until the end of the feed.

I would love to know your thoughts about this.


1 Like

That’s how the iOS app works. In fact, that should be how the web works. You hit n and it makes sure there are no visible unread stories before it starts loading the next page of stories.

Well, this is not my experience so far in web. Maybe you misunderstood me…

When I’m in a list view and I have a feed with stories and I keep pressing space until the top stories disappear from view and then I press j or n, the current view gets scrolled upwards and the first (unread in the case of n) story in the feed gets expanded/opened for reading (in the case of j). I don’t want for the view to get scrolled up, I want it to stay put and j should open the first story that’s currently visible on the list (and n should open the first unread story that’s currently visible in the list).

Edit: I think you can take a look at the way Gmail does keyboard navigation in the list of emails: they have a pointer that moves when pressing the Up/Down arrows and when you want to actually open a message and read it you press Enter. Of course, the pointer should be restricted and start only from the currently viewable items.

How about making a cursor with the same makings (grey background) as the cursor that appears when hovering with the mouse, but can also be controlled with the keyboard (with up/down or j/k) and when you want to open a story and read it you click on Enter (Space/Shift+Space being used to scroll up/down)?