Notion is a UX Disaster

Notion is a UX Disaster

Anonymous Software Developer

I am an unfortunate user of Notion. I have to use it in my day to day job because it is the tool of my company choice. I suffer every time I'm doing anything in it. Maybe it's just me. But I honestly don't think so.

It's been a year since my company migrated to Notion from Confluence. And I'm quite confident now that these UX quirks I'm going to talk about won't go. They are built into Notion DNA. The UX issues are so complex and broad that I don't even know where should I start. Also, I'm not a user experience expert, so don't expect my analysis to be deep and thorough. This is a user report.

I pursuit two goals by publishing this document:

  1. Attract Notion developers attention to the UX issues hoping that it is still possible to fix most of them.
  2. Attract potential Notion customers' attention to UX issues to reduce pain and suffering in the world.

Let's start with the basics. The idea Notion was built around is that everything is readily editable by default. A good idea actually. But let's talk about the implementation...

Editable by default

So you're creating a new page in Notion. You start with with something like using /page command and typing content. Fast forward a little bit and you have a shiny new piece of documentation that you are ready to share with the rest of your colleagues. So you're copying the URL to the page and share it in something like corporate Slack channel. So far so good.

Fast forward a little bit more and you are starting to get a strange feedback from your colleagues who are reading your page. They report that content looks like unordered a little. You check and it indeed looks like that the paragraphs have changed their location. What is going on?

First thing you learn when getting used to Notion is that every page you share should be locked from editing! Your readers could pretty unintentionally reorder paragraphs on an unlocked page. Especially so on mobile device. I have many times seen that page content is being modified by unaware people. This problem is being amplified by UX bugs that transform user actions to modifications outside visible area. I'll tell about them later.

Page lock is shared between all users

The next problem with edit lock is that you can't unlock the page just for you. So you are a good user of Notion and keep all pages locked from editing. But every time you want to modify a page, you unlock it and everyone can (unintentionally) modify it while you're editing.

Users who have subscribed to changes to the page you are editing will get their notifications while you are still editing it. Attracting additional viewers doesn't help keeping page content not modified accidentally.

Adding or editing content isn't the only case when you need your page to be unlocked. It is impossible to add comments on locked page. Remember, every time the page is unlocked, your precious content is being broken accidentally and nothing could be done to prevent it.

Untimely notifications

If you work in a company with high communications culture, you're likely to write some kind of meeting notes after a meeting. Of course you should do it in Notion if your company uses Notion. So you start with an empty page and write down a list of participants. After a minute or so your page is starting to get visits from mentioned colleagues. This is a distraction for you and a wasted time for your colleagues because they are expecting to see a somewhat completed meeting notes. Your colleagues leave your page disappointed.

What happens then? You finish writing meeting notes. And guess what? Your colleagues wouldn't be notified about that. They were already notified when the page was almost empty. What a useless notification!

This time you learn that you should only mention your colleagues on your page only when its content is ready to be consumed. It is easy to do on meeting notes like pages. But it is much more difficult on action plan like pages.

Intricate notifications from table rows

As you may already know, Notion tables are very feature rich. For example you can make a column to mention your colleagues. What notification your colleague would get if you mention them? Remember that every row in a table in Notion is a subpage! Your colleague will get a notification that they were mentioned in some subpage. You'll be lucky if that subpage even have a name. Name of subpage is specified in a special unremovable column that is often left not used because there is no formatting allowed in it.

I'm an experienced Notion user, so I know how to navigate to the page where you've really been mentioned. But it is still a source of frustration for our less experienced colleagues.

Broken PgUp and PgDown navigation

This one is a real shame. I still can't believe it. If you select any text block, you can't navigate using Page Up and Page Down keys. They just cease to work. And no, you can't fix it using a keyboard. If you press Escape the selection disappears but Page Up and Page Down don't start working.

Accidental block mode

This one is a real shame. When editing your text you may accidentally switch to block mode. When typing text you are in a text mode. You can deliberately enter block mode if you select entire content block (i. e. a paragraph). In block mode a caret disappears and cursor keys start navigating by paragraphs.

What is wrong with block mode? Two things. First, you can't return to text mode using just a keyboard. No, Escape key wouldn't help. You'll have to resort to a mouse or a touchpad. Second, navigation with Page Up and Page Down keys ceases to work.

And the worst thing is that it is easily possible to accidentally leave text mode and enter block mode. The most common trap I fall into is when I mistakenly select one letter beyond the end of line. That is, I hold Shift and use Right arrow key to select last letters of a line and Notion punishes me for one extra key press.

This UX issue is a source for a lot of frustration for me.

Monospace trap

As a software developer I often use fixed width text to cite something related to code. Can it be broken? Yes it can! When you want to type something with fixed width font, you press `, type the text you want and press ` once again to finish fixed width font text. Oh, I've mistyped a character just after fixed width font text. No problem, let's press Backspace to correct it. Wait. What just happened? Aha, I'm typing fixed width text again. No problem, let's press ` to finish it again. What? No, I can't leave fixed width text span any more without either completely erasing it or without using my mouse again.

Copy and kind of paste

One more dreadful feature of Notion is that it sometimes makes modification outside of a visible area. The simplest example is a copy paste of text into a table. Here are the steps to reproduce:

  1. Create an empty Notion page.
  2. Make a bulleted list and type a couple of items.
  3. Add inline table to the page and transform one of the columns into a text column.
  4. Copy several list items into the clipboard.
  5. Paste copied list items into an empty text column cell.

The surprising result is that bulleted list items will be inserted at the end of the page! If your table is long enough you may not even notice that! All you notice is that nothing happened. What a normal human being would do? Right, they would just retry! And more text would be appended to the end of the page.

No scrolling when editing text table cell

You don't need to scroll the page when editing table cell, right? Right? No PgUp/PgDn navigation, no mouse wheel scrolling, no touchpad scrolling, no cursor keys scrolling.

I have nothing to add here.

Broken Shift-Enter in text table cells

What should you to if you need multiline content in table cell? Right, you press Shift-Enter and your caret moves to a next line. But in Notion pressing Shift-Enter adds a random number of empty lines. Sometimes it is just one. Sometimes it can add a three making it an element of surprise. Stop complaining you grumpy geezer! It would be boring to edit if everything would always work as it should.

Selecting beyond the last character in a cell

If you try to select a text in a table cell with a keyboard holding Shift, don't go beyond last character in the cell. You'll be punished by Notion! Your caret will disappear and nothing could be done except navigating outside the cell using Escape or mouse cursor.

Selecting all page content

No, you can't select the entire page content with Cmd-A (or Ctrl-A) if your caret is inside a table cell. You can, if you're outside the table though.

Selecting text from multiple paragraphs

No, you can't select a part of text from one paragraph and a part of text of next paragraph using a mouse. That is, you hold left mouse button and start dragging mouse cursor from the middle of one paragraph to the middle of the next paragraph. Notion developers think that you want to select two paragraphs entirely. And yes, if you want to select text from single paragraph and commit a felony of missing a couple of pixels up or down, you'll be punished by entering block selection mode. Please start selecting again and try to be more precise.

Dear Notion developers! Please be more humane to weak human beings and don't punish them for such small mistakes.

I don't know what kind of search engine should it be if I couldn't find the content using literal match. For example, I have a code block with a JSON document. And I can't find this block using search term with exact match to element name. Maybe it is because of the quotes, maybe not. But this makes Notion a very bad instrument of choice for software engineering teams.

Here's an example of such JSON document:

{
    "compressedDataSize": 23123123
}

It is impossible to find it using "compressedDataSize" search query.

Sidebar with page tree and current page exist separately from each other. I can't see pages that are near currently open page. This is very unfortunate because documentation exploration often requires looking for pages near current when searching for content while not knowing exact key words you need.

Useless history

Notion has a page edit history. But the only use case it is useful for it to restore the page content to some already known date. If you need to find a particular change on an actively evolving page, it wouldn't be of any help. Diffs are shown in a chronological order without any mean to filter them. To make process of searching for particular diff more painful, the diffs are shown in a small popup widget. Happy scrolling!

Also, there is no such thing as Annotate (also known as Blame).

Page icons

While I do respect the way of self-expression by using page icons, I definitely can't figure out why page icons made their way as favicons. Why is it bad? Because every Notion page looks differently in my browser tab bar. I can't easily identify corporate Notion page tabs any more. Dear Notion developers, can you please make this feature optional?

Performance

Notion is slower than any other online tool that I'm using. Just a half a year ago opening any Notion link inside Notion app required literally minutes of your time. Yes, they fixed that. Now your wait time is reduced 20 to 30 seconds.

Any page in our Notion space require at least 5 seconds to load. Moderate sized pages require tens of seconds. Any collapsed content requires seconds to load.

Notion search is very slow and unresponsive.

Duplicating a moderate page takes forever to complete.

Plain old bugs

My report would be incomplete without mentioning nasty bugs that were encountered during my Notion journey. Most of them were already fixed but they represent quite low overall Notion quality process.

One thing we've encountered is that code from code block couldn't be literally copied from. Notion added invisible space characters to the copied text. That was a big source of frustration because it is not uncommon for runbooks in Notion to contain shell script examples.

Another one maddening bug was that it was impossible to copy part of paragraph text. Every time you copy a single word from paragraph clipboard will get entire paragraph content.

We still encountering issues with disappearing edits although most of them seem to be fixed. Yes, you get it right. You type text. Notion discards it. No such kind of bug should ever reach users. Period.

Conclusion

I don't think that I've remembered all the issues. There were too many of them.

Every single problem mentioned here is tolerable. But combination of them makes Notion the worst usability nightmare I am aware of. And I don't see a progress to make the situation any better.