What is Notion?
This post started life as an internal Confluence page that I made while working at Netflix Games. There wasn’t much internal about it except a couple screenshots, so I rewrote it as this post.
Overview of Notion
Notion is a document management tool that, on the surface, looks like an alternative to Confluence and Google Docs, but in reality can be multi-purposed to do many things.
Part of Notion’s elevator pitch is that, out of the box, it’s
- flexible
- pretty-looking
- a replacement for your other project management tools
Notion can do even more than be a Confluence and Google Docs alternative: you can create workflows to compete with other collaboration tools like Airtable.
But, Notion’s flexibility also makes it complicated. Its prettiness hides its complexity. Around the second time you get prompted to create a new Database or use an existing one, you’ll understand why. You can avoid interacting with Databases however, in which case it’s basically a drop-in Google Docs / Confluence replacement.
Core Concepts
Workspace
- These are containers of Teamspaces
- Workspaces can be named
- In a company, you would typically have a single Workspace for your whole company
- Think of these as the equivalent of a Confluence account or the Google Drive instance in your Google Workspace account
- Screenshot of multiple Workspaces
Teamspace
- These are containers of Pages
- Teamspaces can be named
- In a company, you would typically have a Teamspace for each team (slash project) within your company’s Workspace
- These are analogous to a Confluence Space or a shared Drive in GDrive
- In each Workspace with 1 or more Teamspaces, you will see a section at the bottom called Private
- Private is actually the default section you start with in a new Workspace
- This is the equivalent of a personal Confluence Space or personal GDrive
Page
- Pages are an ordered list of Blocks (described below)
- Pages can be named
- Pages and Blocks are what make Notion look like other document editing tools (Confluence, Google Docs, MS Word, etc)
- Pages inside of a Database have a new feature unlocked: a Property list (see Database section)
- Screenshot of Page blocks and the hidden UI that enables re-arranging blocks
Block
- Blocks are containers of content. They can be text, images, table of contents, etc.
- Blocks cannot be named
- They are the building blocks of a Page (hence the name Block)
- Database and View are two special case Blocks
Database
- A database is
- A container of Pages
- A container of Properties
- Databases cannot be named
- A Page inside a Database unlocks a new Page feature: a Property list
- Notion does not display a list of Databases anywhere. A View is the only way to interact with a Database.
- To create a Database, you have to create a View first
- When you create a View you get prompted to create a new Database or point to an existing one
- You can have as many or as few Properties and Pages in a Database as you want
- When you create a Database, a property called
Tags
is auto-created on itTags
is just a Property of typeMulti-select
. You can delete it if you want.
- Screenshot of a List View on a Database
View
- Views allow you to see and interact with a Database
- Views can be named
- They have a Type, which allows you to see a Database in various layouts
- Types: Table, Board, Calendar, Timeline, List, Gallery
- Views enable Pages to be opened in a “Side Peek” or “Center Peek” mode
- Views can Filter and Sort on a Database’s Properties
- The order of Pages within a View does not persist across client devices
- You have to Sort on a Property in order to have a consistent order across devices
- Screenshot of a Page with a Database List view at the top and text Blocks underneath
- Screenshot of Side Peek view for the My Test Task page
Property
- A Property is a key-value pairing, with a Type
- Properties can be named
- There are many built-in Property types, some only allow one value and some allow multiple values
- You can have a list of Properties attached to a Page
- Screenshot of Property types and the auto-created Tags property
Impressions After Test Driving
Notion is really, really great if you want basically a personal Confluence. Confluence’s UX is not good at scaling down to the individual user level, so Notion is really good for individual usage (similar to Google Docs). It’s also really great at something GDocs is great at - external sharing of individual pages. You should definitely consider Notion if you want to have a one-stop shop for organizing your personal docs and information, and plan on sharing the occasional page.
The dark side of Notion is that, while its UI looks modern and minimalist at first glance, it’s not minimalist in practice. It just makes aggressive use of fade-out. There are about 2 dozen buttons and other controls on any given page that you can’t see until you mouse over them, and since everything in the UI is small and invisible, it can be easy to fat finger and hard to know how to do what you want to do.
Notion’s biggest Achilles Heel though are Databases and Views. Databases are a thin veneer over what is essentially an SQL database (regardless of how it’s implemented under the hood, it’s probably some flavor of NoSQL because of the flexible schema). Views are how you interact with Databases since you can’t do so otherwise. The UX just ends up being super confusing though because they really don’t clarify the difference. When you first use it, you don’t really understand what you’re doing and will have a tendency to create many Views with unique Databases, and therefore will end up with a confusing mess of Views and Databases as you build up and reorganize your Teamspace.
A View is really akin to a visual SQL query for a Database. Pages are basically rows in a SQL Database. Once you make those realizations, Notion starts to make WAY more sense. Unfortunately, it means you basically have to be a programmer to understand Databases successfully. And Databases are the key to making Notion scale for teams because they are the mechanism that Notion uses to re-use data across Pages, which is a unique feature of Notion vs Confluence and GDocs.
Some Confusing Things, Explained
How is Notion different from (Confluence, Google Docs, etc)?
- The fundamental difference between Notion and other document management apps is the ability to display a single set of data across multiple pages (i.e. Notion’s Database feature).
- In every other document app, the data you enter is tied to the page and can’t be re-used. You can link pages or show previews of pages, but typically you can’t create a page that edits literally the same data as another page.
Database vs View vs Page vs Property
- Sorry for the non-programmers out here, but this is a very “programmery” part of Notion. The best way to think of these concepts is using traditional database terms:
- Pages are rows (aka items)
- Properties are columns (aka attributes)
- Views are queries
What happens when you make a “new Table”, “new Board”, etc
- Remember that Table, Board, etc are just visualizations, not data. They are just views into a Database.
- When you make a “new Table” what you’re actually doing is making a new View with a Table-style visualization. You still need to tell that View what Database to use, or create a new Database.
- Again: a “Table” in Notion is just a View Type. It is not a “data table” as other apps might have you believe. It took me FOREVER to understand what was going on here.
The difference between “Tasks” and “Pages” when using Notion for Task tracking
- If you use Notion as a Trello / Asana / Jira replacement, just understand that all data in Notion are considered Pages.
- As far as Notion is concerned, there is no such thing as a “Task” (or “Issue” in Jira parlance). Everything is a Page.
- Make sure to mentally translate “Task” or “Issue” to “Page within a Database” whenever you have to work with the guts of Notion (settings, making new Views / Databases, etc)
Why mouse-drag re-ordering of Pages and Properties has no effect on other apps, devices, etc in the same Teamspace
- There is no built-in ordering concept in a Notion Database (just like a SQL database). When you drag and reorder something, it’s just a device-specific UI change.
- To get things to sort consistently across machines, you have to
- Create a Property that you can sort on
- Create a View that shows the Property
- Choose a sort order for that Property inside the View
- There is no way to sort by subgroup as far as I can tell. I won’t explain subgroups here since this is supposed to be a cheat sheet. If you’re curious:
October 19, 2021 – Notion 2.13, now with database groups & sub-groups 🍱
How can I tell what Database my View is looking at? How can I tell if two different Views are looking at the same Database?
- There isn’t a good way. Sucks, doesn’t it? You can add or remove Properties from a View to see which Properties exist, but that’s pretty much the best way. If you’re trying to add a Property to your Page and you don’t see one that you’re pretty sure is there, then that means your View is actually for a different Database.
Is there a way to see a list of all Databases?
- NOPE, baffling isn’t it? You can’t do maintenance on them or delete them
- This is also what makes it difficult to tell if 2 Views are for the same Database
- It’s possible to have orphaned Databases (and Pages!) if you do these steps
- Create a Database
- Create a View for that Database
- Create Pages in the View for that Database
- Delete the View
- Is there a way to see a list of literally all the databases across my entire workspace?
- According to this thread, Notion will start to slow down as more Databases are added, but I haven’t confirmed that or when that starts to become a problem.
Why Notion for project management requires more steps vs purpose-built tools
- Purpose-built tools are like having a door that opens and closes and does nothing else
- Notion is like having the materials (pretty-looking materials) to make a door. You can make a door. You can make it open and close, as well. You can make it do other things, if you want.
If we’re doing specific thing
a lot, shouldn’t we use a tool that does specific thing
?
- Maybe? Depends on the tooling strategy
- Notion is great if your strategy is to keep the number of tools low, because you can make it do anything. It’s not good if your strategy is to use multiple purpose-built tools, because it will be less efficient than your purpose-built tools.
- Read this Airtable vs. Notion: Which app do you need? [2023] | Zapier
- It’s about Airtable but can be generalized to “should I use
specific thing
or Notion?”
- It’s about Airtable but can be generalized to “should I use