Happy Birthday, Zettlr!
It’s that time of the year again! Zettlr has seen the light of the world five years ago; that’s half a decade! As every time I am amazed by the journey so far, and there’s lots happening in and around the app. In preparation for this post, I read my old birthday post and it was very interesting to compare what I wanted to achieve a year ago to what I have actually achieved a year later.
Last year’s post contained a lot of good intentions, but I didn’t quite manage to follow up on all of them. One thing I wanted to tackle this year is the re-integration of tutorials into the documentation – or, documentation updates in general. I haven’t really managed to do that. Similarly, my call to action didn’t resonate quite as much as I had hoped.
Nevertheless, Zettlr continues to grow, so I’m not worried. In fact, it has been quite some time since the last major release – 2.0 – so I am very happy to announce that the next year will see Zettlr 3.0. I have been busy this year to introduce a lot of additional features and improve the app in general, and while 3.0 wasn’t quite ready for a public beta release this year, I will be starting to publish beta releases in the beginning of next year.
One important thing surrounding the non-code part of Zettlr that happened this year is the move to Mastodon. Zettlr can now be found on FOSStodon and I would love to see many of you there. Since the events over on Twitter are disturbing, I am currently in the process of abandoning the Twitter account, so to get the most recent updates, consider following my Mastodon account. (Hint: You don’t even have to be registered on Mastodon; all you need is an RSS reader and subscribe to the account’s RSS feed.)
Looking back on 2022; looking forward to 2023 & Zettlr 3.0
One of the biggest new features that managed its way into the app is the new split view. For the last five years, Zettlr was always confined to one window and one editor. It simply wasn’t possible to have more than one document open at the same time. The only (clumsy) way to do so was the “Quicklook” feature that was everything but quick.
I am very happy that I was finally able to nuke that feature and replace it with a proper split view. Now, you can split up the editor area in the app into as many different splits as you want to, and you can also open additional windows. Now, if you have a multi-display setup, you can finally put one window on the one display, and a second one onto the other.
Additionally, I have updated the main editor component from CodeMirror 5 to version 6. This was quite an amount of work, but it was definitely worth it. While you won’t see too much of the efforts in your day-to-day use, the new API is a pleasure to work with and I am much more confident about what function does what. Instead of hundreds of hacky workarounds for a relatively inflexible API, the new edition of CodeMirror allows me to do enormous things with the editor without having to worry too much. Marijn Haverbeke – the developer of CodeMirror – did absolutely amazing work, and I am happy that Zettlr can now benefit from this!
Further changes have happened all around the app and I am excited to see what you think about it! For example, another relatively small update for you but a large win for Zettlr concerned a battery issue with
fsevents. In your day-to-day use you will notice that Zettlr is much less power hungry, and I am very happy to finally having fixed this issue. If you want to read more on the story, head over to my personal blog, where I wrote an article outlining the story.
If you want to have a sneak preview of what’s to come, feel free to read the “Upcoming” section in the changelog ;).
The public beta will start in a few days, and if you’ve opted in to beta-releases, Zettlr will tell you when it’s ready. As always, I am very happy about any feedback you may have that I can incorporate into the app before a stable version 3.0 will become real.
Retiring Zettlr Translate
Another big thing that happened relatively abrupt was the retirement of Zettlr translate. I have outlined the reasons for doing so in this article, and added a few more notes on how translations will happen from now on in this one. Feel free to read those if you’re interested in what exactly happened.
By now, I have already worked a few days with the new setup, and I am absolutely amazed by how well all of this now works. Implementing new strings and keeping the translations updated is now all automated, and thus the continued development will also increase in speed.
While the transition is now complete, I wanted to take this opportunity to thank all the translators for their work until now. Before I shut down the translation service, I took the chance to take some notes as to how great the translation is going.
The day I took it down, Zettlr Translate had 277 registered users, who in total created 22.918 translations for a set of 743 translatable strings. Of the available 64 languages, 39 languages had some progress of translation up until now:
- German (Germany) — 100%
- English (UK) — 100%
- English (US) — 100%
- French (France) — 100%
- Spanish (Spain) — 100%
- Catalan (Catalonia) — 100%
- Japanese — 100%
- Chinese (China) — 100%
- Finnish (Finland) — 99%
- Portuguese (Brazil) — 99%
- Vietnamese — 99%
- Czech (Czech Republic) — 99%
- Swedish — 97%
- Polish — 97%
- Portuguese (Portugal) — 96%
- Chinese (Taiwan) — 96%
- Dutch (Netherlands) — 94%
- Russian — 94%
- Italian (Italy) — 94%
- Danish — 94%
- Indonesian — 93%
- Ukrainian — 86%
- Turkish — 81%
- Korean — 81%
- Arabic — 78%
- Basque — 77%
- Estonian — 76%
- Romanian — 73%
- Hungarian — 67%
- Esperanto — 50%
- Serbian — 31%
- Norwegian (Bokmål) — 20%
- Dutch (Belgium) — 9%
- Macedonian — 8%
- Slovenian — 7%
- Persian (Farsi) — 7%
- Croatian — 6%
- Galician (Spain) — 4%
- Greek — <1%
I hope that with the new system in place, we’ll be able to continue this row of great translatable content. Since I switched the systems, I already began introducing several new translatable strings so the translations have already begun to diverge. I hope that this will only be temporary, but it will depend on the ability of people to translate using the new system. So if you belong to the set of “veteran” translators, or if you want to become a translator yourself, please see this as a call to action and get on board! You can ask any questions you have, including how to actually start translating on our Discord server.
I don’t want to write too long of a birthday post this year (I am moving places, so time is precious!), but as you can see, it’s going great! I am really excited for 3.0, because I think it will bring Zettlr again onto another level. While competitors are already boasting many of the features coming, I am confident seeing that a one-man project can introduce a similar amount of complex editing capabilities in just a little more time.
Thank you all for a great 2022. Thanks to all the contributors who have helped fix bugs and introduce new features; thanks to all the Patreons supporting the running costs of the project; thanks to all the folks on Discord, Reddit, and elsewhere who are helping new users out and answering questions; thanks to the translators; thanks to the people who maintain the FlatPack, the Arch Linux repositories, the Choco repository, and other ways for users to install the app; and thanks to all the users who use Zettlr in their day-to-day lives to manage their writing tasks and recommend the app to their colleagues, friends, and families.
Thanks to you all, and to the next five years!
Happy holidays to you, and a great transition into 2023. See you on the other side!