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.
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.
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.
What makes Notion powerful to developers is a combination of three key attributes and features:
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 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.
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.
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.
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.
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.
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.
Shortcuts, patterns, and other ideas that I use every day and that I also don’t see many others using.
Most APIs today are dynamic. But the Jamstack has provided a path for creating static APIs, which can be incredibly powerful and beneficial in the right scenario.