Home

Why Notion Is Awesome

Notion is striking a (challenging) balance between developers and content editors, largely as a result of three primary attributes of its approach.

A good portion of my career in tech has been focused on crafting an intersection between developers and content editors (or marketing folks). It often seems that if a tool is great for editors, developers hate it. And if developers love it, then it's probably too technical or abstract for editors.

Notion is one of the first tools that is finding this incredibly difficult balance in building a thing to serve editors and developers. (We're also solving a similar problem at Stackbit, albeit in a different way.)

Notion looks great on the surface because of its flexibility. It appears to call itself a workspace (or "more than a doc") because it's too flexible to be pigeonholed into one specific category of tools. The reason it finds that elusive editor-developer balance is that Notion prioritizes efficient editing, backed by structured content that can be consumed via an API.

My Journey With Notion

I hated Notion when I first started using it. Hated it. It was trying to be everything and wasn't good at being anything. It was super clunky in the early years. And before there was an API, Notion was only about content edited within Notion.

I got forced back into using Notion at my current job. Using it more helped me begin to see its benefits and vast potential usage. Even if occasionally spotty, it was really nice to be able to have everything in one place. I slowly started shifting my things to Notion.

And once the API was released, there was a frenzy of developers that flocked to use this tool to serve an expanding array of use cases. It was at that point that I started bringing everything into Notion. Now I use the tool daily. I'm even writing this blog post with Notion, and it's going to be automatically published for me, thanks to the API and some custom code.

Why Notion Works

It may seem like Notion is trying to be everything. But it's actually not.

Notion's case is in suggesting that you may not need super advanced tools in a lot of cases. Consider how much you use (or used to use) Excel. A simple table with some basic operations was about 90% of what I used Excel for.

Everything in Notion is structured, simple, and flexible. There are pages and pages are made of blocks and properties. Everything else is just the organization and presentation of those elements. There's something super powerful in that simplicity.

Notion is Good for Developers

What makes Notion powerful to developers is a combination of three key attributes and features:

  • Efficient editing experience (I don't have to use my mouse)
  • Structured content
  • Consumable public API

Efficient Editing Experience

Notion's keyboard shortcuts make it incredibly efficient to navigate, write, and structure content. You can quickly create new blocks, search, and more — all without having to use your mouse. This starts to make navigating Notion feel a bit like navigating your code editor.

It's certainly not the same as a code editor, and I hope to see the editing experience continue to improve. But it's come a long way, and I can be effective with the tool without touching the mouse much.

Structured Content

Structured content matters to developers because it allows them to quickly access and work with the content they need. By organizing content into a hierarchy of pages, blocks, and properties, developers are able to create powerful applications that can easily interact with content.

If the body of every page were stored as HTML, then Notion is only as powerful as its editor. The repetitive and predictable structure behind Notion is what makes it appealing to developers. We can author in Notion. But if we need to use that information elsewhere, we can.

Consumable Public API

But we can only use that information elsewhere because there is a consumable API that provides access to the structured content of a Notion workspace. This is why the release of the API had such a big draw of developers to Notion. Without it, the structured content doesn't matter. Without it, Notion is just the editor.

It's the combination of these three things — editor, structure, and API — that makes Notion appealing and useful to developers.

There are Still Problems

Though Notion has come a long way and solved many of the issues between developers and content editors, there are still some challenges that need to be addressed.

  • Scalability: Notion is great for smaller teams, but it can struggle when the content and user base grows. I've had many pages get lost in my company's workspace because there's so much to search through. Tree navigation takes over at some point, and that's not so efficient.
  • Performance: Notion can be slow, particularly when working with larger databases. And Notion is still a web application, requiring an internet connection to use it. This isn't great as my primary working tool.
  • Flexibility: Notion is great for flexible content, but components are predetermined and may not fit all your needs. I've found myself using callouts in odd ways because that was the component that best suited my usage, when having something custom would have been better.

These challenges are going to need to be addressed if Notion is going to become a go-to content editing tool for developers for years to come.

The Next Generation of Content Editing

But I'll say it again — Notion has come a long way. The release of its API was a huge step toward the next generation of content editing.

I think this is where we're headed with content editing in the next few years. We know what's great for technical people and we know what's great for non-technical people. There is a middle ground somewhere — a perfect balance. And Notion is helping push us in that direction.

Let's Connect

Keep Reading

Using Notion as a Publishing Workflow

To minimize friction in publishing new blog content, I went through an experiment that used Notion as a publishing engine. After three months, I’m posting at a rate faster than ever before.

Aug 03, 2022

Write Notion Page and Block Data to JSON File with Node.js Script

Write a Node.js script that connects to a Notion database and writes its page and block content to a local JSON file.

Apr 02, 2023

Using Notion Callouts to Generate Complex Components

Exploring a theoretical approach to enabling Notion to serve as a CMS for complex websites with interactive components.

Mar 31, 2023