Hacker News new | ask | show | jobs
by blunte 2006 days ago
When I read people like or love Notion, I wish I could watch them use it. Obviously they are doing things very differently than I do...

Typing latency while writing or editing a page is really high (bad). Every keypress you do, must be going through a long chain of "what can we interpret the user to be wanting ?" questions. Guess what!? The user is probably just trying to fucking type! Special features and options should be hotkey activated, not "smart" default deduced.

The afore-mentioned smart typing is 99% wrong or in the way. 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.

I could go ON and ON with examples. It actually feels like this app was designed for people who only use one finger to type and the other hand driving a mouse all day.

Oh one last tidbit. You know how people put icons on buttons and other things to help you identify them quickly, hopefully to make it easier for you to click and get what you want? Notion has a clever fuck you to all those users. If you use the navigation tree panel, and you see the item you want - especially because you quickly recognized its icon - and you click it (the icon), do you get the item you wanted? No, of course not! You get a handy Change Icon popup. Now not only do you not know if you found the item you wanted (since you didn't get to see its associated page), but instead you now have to dismiss that popup. Clicking that icon should have done exactly the same thing as clicking the text beside it: open the damned content associated with that thing.

Now, maybe you want to copy a link to that item. How do you do that? That's in the hidden/hover [...] button for the item. That's fair. And that's where the change icon action should be.

There's so much wrong with this app that I sometimes wonder if this isn't an enormous practical joke - like the people who write completely nonsensical research papers just to prove how broken the research publishing system is; this joke is for the VCs and the shiny-toy users.

/rant

6 comments

> It actually feels like this app was designed for people who only use one finger to type and the other hand driving a mouse all day.

I think there's a great product somewhere in Notion – the blending of wiki/database/etc is great – but THIS is the biggest issue I have with it. Everything I do just takes that bit longer than software that I choose to use, because everything is designed around the mouse.

Keyboard shortcuts aren't enough to create a good UX for the keyboard, the whole UX needs consideration, and Notion has unfortunately failed on that.

For a while their text editor was very poor, to the point where my colleagues and I all edited text in other software and copied it in. This has improved a lot in the last year or so, but there are still plenty of issues at the block level and upwards, it's just the word-level that got better.

> I could go ON and ON with examples.

Please, If you could you should, it helps us, the ones building new tools, to avoid making the same mistakes.

I find your comment, and the post like this, very useful, often I look for inspiration in most popular tools, Notion recently, because I want to build something that feels familiar for many many users, yet new, and I'd like incorporate only the good patterns and trying to not make same mistakes.

I actually started writing an itemized response to this topic, but I got so frustrated I stopped (and restarted later and stopped again).

It really comes down to the oft-used expression, "do one thing, and do it well". People think they want a flying car, but once they try it they discover it's a bad car and a bad airplane.

Notion tries to do everything in one app - and for all users. To be fair, that last part is the fault of the user; if they can tell they are not the target audience, they should not use it. Unfortunately, it is such a "cool" app that the upper management audience falls for it and forces it upon the rest of the company.

So issue #1 is that it tries to replace too many other apps. But if you've used any of the apps it tries to replace, you will know what I mean.

If you write much, you will find Google Docs or even MS Word to be better.

If you use spreadsheets for more than just columns and rows to put basic text in, then you'll find Google Sheets or Excel to be better.

I haven't even bothered trying to use Notion as a database. I would bet real money that it would be a regretful experience.

If you use kanban boards, you'll most likely be happier with Trello or Jira or Asana or other organizer apps.

Issue #2 is about target audience and use cases.

If the target audience is developers, especially those who type quickly, they will suffer greatly. I don't want to sound condescending about other audiences, but from years of seeing "regular users" use software, I would say that slower actions and more (tedious) mouse clicking is already their way of working - so Notion is fine for them.

I'm not a UX researcher, but I believe part of their work involves measuring how users use software - which features are most used and which ones are least used; which UX behaviors are surprises that get in the way of the user; which features do users spend time looking for but never find; and so on.

Here are two specific examples - a small not awful but still obvious UX misfeature, and perhaps the worst usability behavior I face all the time:

The Change Icon feature when you click the icon of an item in the nav panel should not be initiated by clicking the icon of the item. The purpose of a nav tree is to navigate. It is not a place to edit items, at least not as first-class actions. Also, icons exist to help the user more quickly identify the thing they are looking for. The user is compelled to click on the icon as a means of choosing the nav item they want to open/expand down. But in Notion, clicking that icon pops up a Change Icon window. Other extra actions, like rename, delete, share, etc. are properly buried under an on-hover [...] popup menu, and change icon should be there as well. Incidentally, the icon in the nav item is between the expand > button and the Item Name. So even when trying to expand the tree, it is fairly easy to misclick and open the Change Item popup.

I reported that misfeature many times to them, even directly to one of their onboarding specialists for our company. As a developer, I am certain that moving that action to the [...] menu and making the icon have the same click effect as the Nav Item Text would be a small effort. That it hasn't been fixed yet tells me something bad about their management... because, in this case I know I'm not (just) a weird user. The frequency with which users will want or need to change nav item (usually a short name for the page) will be very low.

But my worst pain comes from the slash / character handling. When writing in a block, hitting the / causes a general action helper popup to open. If you type "In Elixir, we prefer cond or function pattern matching to if/else", you'll get a popup because of the /, and the popup will search for "else" within some list of actions. If you happen to be typing quickly, and if that if/else happened to be at the end of the block you were typing (such that you now hit return), then you'll get whatever action applied to the block or document state that was associated with that action.

In the if/else case, it happens to match on "Create Linked Database", and your return puts you on a new block which conveniently opens another popup to help you select a database from within the user databases in your Notion tree.

Oh also, the /else got eaten and is now gone; you may not notice, because you're now in a new block trying to decide how to undo this select database thing...

There are so many wild possibilities here. You can inadvertently apply H1 style to the block. You can insert an inline equation (with a convenient popup to type your eq into!). You can delete your whole block. To find out what all you could do, just type / and scroll down the list.

By the way, if you're in an inline code section `x = a / b you get that popup, and you can't ignore it by typing the closing `.

Here's the puzzle. Keyboard shortcuts are for power users. Keyboard shortcuts also usually require a modifier, unless you have a multi-mode editor like Vim. If a power user wants to use a keyboard shortcut, they will use it once they learn it. Most people, even casual users, know about CTRL-C/V, or at least CTRL-Z. Really simple users can still use the mouse to do things. It's just poor judgement to make a standard typed keypress to launch an action helper.

Furthermore, it begs the question of "What does Notion expect people to be putting into blocks?" I would have thought people would put mostly content, and then occasionally sprinkle some formatting or other goodies. Again, mouse-menu actions or modifier keyboard shortcuts could meet this need.

Lastly, I didn't really go into detail about why Notion is inferior to specialized apps, but I have zero doubt that I could take any typical Excel user and show them the Notion "spreadsheet" block and they would be frustrated to the point that they would give up. Take any writer and give them a Notion editor that interrupts their typing all the time, and they will give up too.

At my company, at least in my group, we occasionally write first and only in Notion. Notion is our official document store, but often we write first elsewhere and then copy paste (a whole other fail topic) into Notion, or most often we just put a link in the Notion page that leads the user to the real document in Gdocs.

This comment is the only one I've read about Notion that I've agreed with. Maybe it's because it was over hyped and other people didn't already have a system in place to compare to or something?

I really tried to like Notion but I found it just slowed me down -- as in actually delayed what I was doing with lag and silly things like trying to be clever as you say, not just the learning curve

I'm now trying out Obsidian(1) with a plain old directory of md files, but YMMV I never needed the table/db stuff so I dunno if Obsidian has that sort of thing or an equivalent. The directory is mounted from my NAS using its Tailscale(2) IP so it's in theory accessible everywhere, but of course I've not been able to test that much this year

(1) https://obsidian.md/

(2) https://tailscale.com/

e: I should note I use this for bigger notes. I use blank business cards and a pen to catch ideas, so obsidian's current lack of mobile apps wasn't an issue

If you'll allow me to rant a bit about Obsidian, its never going to be a mainstream competitor to Notion because it's file-based. For modern tools like Notion, Airtable, etc the filesystem is just a fallback option for piping data around when other more direct methods do not exist. Modern tools are database-driven, supporting multiple data types (images, text, tables, etc), different editing UIs for different content, multi-user support with comments, and instantaneous pointer updates when content is renamed/deleted/moved.

I've seen several products now including Obsidian that seem to take markdown support quite literally, centering themselves around .md files and markdown presentation (### Heading 3), rather than simply markdown keyboard shortcuts and ability to export as markdown. Markdown has its place but its primarily for easy diffing in text-only content like code editors, or a human readable option for backing up content. Tools like Obsidian are essentially lightly tweaked code editors, not modern project-based editors the whole company can use.

For context I should have mentioned this is for my solo use only. I have no idea how or if this setup would work if multiple people were editing.

My go to for a team would be good old wiki software of some sort (probably dokuwiki)

> 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.

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.

Everyone has their own experience, but I drive Notion entirely by keyboard - and I have a touchbar mac (with caps lock rebound to esc). Their search is also really good, so I never really find myself clicking around.

For all the small UX bits that aren’t 100%, there are a dozen other apps that can’t even get pictures, text, equations, and hierarchy right. Google Drive, org mode, or Roam are complete paradigm shifts away from an extremely consistent text editor that can embed anything. For every little quirk with icons, I’m reminded that while Notion might not be perfect, it’s still leagues beyond anything else in the space. And it shouldn’t even be hard.

In what ways is it leagues beyond? I've read lots of negative comments about it; I'd like to understand your side.
The slash menu drive me mad. Why the heck would anyone want it in the middle of a word? The only time I use slash commands is in a brand new empty block. It would be lovely to simply be able to disable this.