Hello! I’m Takuya. I’m so excited to announce that Inkdrop v5 has been just released today. It’s been 5 months since the last update but we’ve got a bunch of new features, improvements, and bug fixes! I’d like to say thank you to all the customers who helped me testing the beta versions. Thank you, Andi, can_Y, ebigram, Erdem, Gustavo, James, Mike, Rael, tdudz, and Zhuolun for your feedback. Let me take you through what’s new in v5.
To people who stumbled across this article: Nice to meet you. I’ve been building Inkdrop alone for 4 years. Wow, how time flies! This is a plain-text Markdown note-taking app that runs and syncs across macOS, Windows, Linux, iOS, and Android devices with end-to-end encryption. It makes organizing Markdown notes simple without hassles. It’s initially built just for myself — I was searching for a replacement for Evernote, supporting code syntax highlighting and some other programmer-friendly features like vim keybindings and hackability, for a long time. Then, I couldn’t find the one and eventually decided to build it myself. The journey towards building a perfect note-taking app was so hard than I imagined. But I stuck with it for 4 years and kept improving it. I learned a lot through this project and blogged about them. You can read my blog articles such as:
- How I Built a Markdown Editor Earning $1300/mo Profit — Inkdrop
- How I Kept My Solo Project Going Over 3 Years
Last year, I worked on rebuilding the app completely from scratch in order to clean up its technical debt and it successfully paid off:
This update is on top of those endeavors.
Building a great editor alone would be extremely hard. Because there are countless personal preferences and nice-to-have features for developers. In order to deal with that issue, Inkdrop provides a powerful API that allows you to add new functionality or provide a new look to the app with a plugin. While I’ve been working on its core features alone, we’ve got more than 100 plugins now! Most of them (> 80%) are made by the user community, which is awesome. I’m happy to see people enjoying hacking Inkdrop. You can browse plugins from here.
Plugins let me focus on improving the core features instead of adding many optional features. So, I’m encouraging people to create a plugin with plugin developer license:
You can use Inkdrop for free, forever if you created a plugin.
Okay, let’s get started from talking about performance improvements in v5.
Since scaling out the database cluster, the data sync got slowed down for some reason. It was due to the bad network topology where each server was running in a different region, which caused the RTT to be around 166ms. I moved the servers to the same region but in different availability zones and that made the RTT less than 1ms. Now it syncs across devices 3 times faster than before!
The app launch speed has been also significantly improved. Inkdrop is built on top of Electron and the old version needed 4 seconds to launch, which is very slow. I finally managed to leverage v8 snapshots to boost the startup time. As you can see, the new version takes less 1,000 milliseconds to launch. The slow startup speed is so stressful. But now, I’m very happy to solve this issue. Please read the following article to know how I accomplished it:
It’s so fast, as you can see:
The toolbar icons looked kind of outdated these days. They were too bold for the recent retina resolution displays. Besides, the action buttons on the top of the editor were taking too much spaces which makes you uncomfortable to use in a smaller display:
So, I decided to refurbish the icons and rearrange the editor action buttons to make it look modern and clean:
You can toggle the editor drawer by clicking the three-dash button on the top right corner of the editor:
I used Streamline Icons for this improvement :)
As a developer, you will have many projects and side projects. As you get more projects, it gets hard to organize your notes in Inkdrop v4 due to lack of flexibility. Inkdrop should be durable to be always your place to jot down your daily hacking endeavors even if you’ve got a lot of notebooks, tags and notes. Towards this issue, in this update, I’m happy to introduce the following features supported:
- Pin notes to the top
- Find sub-notes in collapsed parent notebooks
- Workspace View
- Remember sort & order settings per view
- Remember navigation state
Let me explain the details below.
Let’s say you sometimes have trouble remembering which notes you were working on in Inkdrop. The “Pin to Top” feature allows you to make notes stick to the top of your notes list like so:
Before v5, the note list can only show notes directly under the notebook you selected. If you have a lot of child and grandchild notebooks, it was kind of annoying to grasp quickly what’s in a project. Inkdrop v5 supports listing sub-notes when the selected notebook is collapsed on the sidebar, as you can see:
Notice that the note count badge on the right side of the notebook item on the side bar also indicates sum of number of notes in it when collapsed.
By default, the sidebar shows all notebooks, status and tags in your database. It’s all mixed together and hard to distinguish as you store notes about various projects. You may think you want to see only information about a project you are currently focusing on. Workspace view allows you to switch the sidebar’s view into a specific notebook:
Now it remembers sort & order of note list for every view (all/notebook/tag/status) so that you don’t have to toggle sort order between notebooks.
While writing a note, you may frequently refer to other notes. So, an ability to quickly switch back to the editing note after searching notes is crucial for your note-taking. Take a look at the quick demo down below:
Plugins can be installed via
ipm command but it would be not handy as you have to run it from a terminal app. I am aware of some people confused to use it. As we've got 100+ plugins, it is more important that we can install/uninstall plugins on the app. So, I implemented a GUI for plugins in v5! It's so easy to install/uninstall plugins without a terminal.
It also supports auto-update so you no longer have to run
ipm update manually:
We’ve got so many improvements in this update. It’s going to be a too-long article if I listed up all. Please refer to the release notes here to know other improvements and bug fixes.
That’s pretty much of it. I hope you like it! Thank you for supporting Inkdrop. I’ll keep it up. Looking forward to seeing you guys enjoying it :D
- Homepage: https://www.inkdrop.app/
- Send feedback: https://forum.inkdrop.app/
- Contact me: email@example.com
- Twitter: https://twitter.com/inkdrop_app