Hacker News new | ask | show | jobs
by busrf 2007 days ago
> Typing slash ( / ), for any reason apparently, and in any context, pops up the Basic Blocks selection window. If you type, for example, "10 / 2 = 5", or perhaps "a/b testing", or any other very common valid use of the slash symbol, you are left with that stupid popup on the screen. You have to hit ESC to close it. Pity the fool who has a touchbar Mac. And if for some reason you wanted to end your line with a slash, and you hit return after typing that /, the popup eats the slash and puts you in a new block below.

You can just keep typing and the menu will close. The vast majority of the time, it doesn't actually interrupt the flow of typing in content. This happens even if what you are typing matches with a menu item. As you said, you have to press enter to actually invoke one of the actions in the menu.

Using a single key to invoke a menu and then having successive keystrokes search through that menu as well as enter the text in the editor at the same time is a UI choice I actually vastly prefer over having say dedicated keyboard shortcuts for each of those menu items, or having to click a button to open the menu. It's similar to having leader-key-driven menu selection in Vim or Spacemacs (but of course different in that the editor is modal). It is a menu discoverability and ease-of-use tradeoff they have to make.

1 comments

The slash handler is surely part of the cause of the higher typing latency compared to nearly every other program I use.

I know of no other app which does what they do. Other apps do things like cmd-space (spotlight, which I use ALL the time), ctrl-space (which I have mapped instead of ctrl-b in tmux), shift-shift, which opens search in JetBrains IDEs, etc. Notion could have made cmd or ctrl-/ open that menu at the current cursor location. Adding that one modifier requirement would eliminate so much badness.

As it is now, if your /-whatever is at the end of a line, you're stuck with that popup (hit ESC or mouseclick elsewhere). They even act on the / key within an inline ` code block! So if you want to type a code sample, and you happen to use / toward the end and then hit return as you naturally would, you will in fact select any match in that popup. Who edits code and manually applies styles to auto-syntax-highlighted code?

You may like the slash feature, but I believe strongly that UX educated people would consider this user-hostile. At minimum it is a visual disruption. You can type right on past it and it may eventually go away, but as a user you have to learn to ignore it. It is also absolutely consuming resources while it is going search filtering on every keypress you make until it gives up and goes away. If all you do is use Notion, then it may not be noticeable. But if you are a dev with multiple projects open, multiple local servers running, and other load, you do not need apps that simply waste resources.

(I work at Notion)

One of the apps you cited, JetBrains IDEs, provide extensive predictive hints and documentation in menus that automatically open after any character is typed. I think the difference between the Notion predictive menus and the JetBrain ones is an issue of performance, rather than concept.

That isn’t to say the slash menu isn’t annoying - we have a lot of work to do!

VSCode had (may still have?) a problem with code completion popups that would get in the way and not go away. But it, like IDEA and other IDEs, gives you the option to disable some or all helpers. So in vsc I turned off code completion.

Just let me turn off the / helper in Notion, even if I need to edit a config file to do it.