Introducing the Zettlr Steering Committee

Introducing the Zettlr Steering Committee

We are excited to announce the inception of the first governing body to ensure a health future for Zettlr: The Zettlr Steering Committee. The purpose of the steering committee is to better plan and guide the development process which will result in a more bug-free experience. In this blog post, maintainer Hendrik Erz answers some general questions regarding the committee.

Introducing the Zettlr Steering Committee

Introducing the Zettlr Steering Committee

Since its inception in 2017, Zettlr has essentially been a one-man-show: When I, Hendrik, started working on the app, my expectations were: “Works on my computer.” Soon thereafter, however, it turned out that I accidentally struck gold. Many people – including possibly you – faced a very similar problem as I did: existing software is just not good enough for serious writing.

With more and more people joining Zettlr’s community, I tried my best to read through all GitHub issues and the messages being exchanged on Zettlr’s Discord to figure out: what do people want, what do they need, and what could I do to realize this? With more and more features making its way into the app, the codebase grew larger and larger. Today, if I have to work on a feature, I literally have to re-read the code that comprises this feature and which may very well be years old – too old for me to remember.

It turns out that any passion project – regardless of whether it’s software or some craft – will become less about passion and more about management as it matures. In the past years, I have continuously thought about how I could put Zettlr under a more formal organizational umbrella to satisfy the increasing managerial tasks that popped up around development of the app.

Today, I am happy to announce that I found a way: Recently, I initiated the Zettlr Steering Committee, a governing body that is tasked with overseeing and, well, steering the development in such a way that it continues to serve its community of academics, journalists, and other writers.

Who is the Steering Committee?

The steering committee currently consists of three people – me, Artem Barinov (Product Designer [UX/UI]), and Kirthihan Yasotharan (developer). We all bring our strengths to the table when it comes to shepherding the app appropriately.

I am still the project lead and will guide the efforts in such a way that the vision of Zettlr is maintained. Over the past seven years, I have gathered an enormous trove of experience when it comes to managing everything Zettlr: new features; fixing bugs; answering help requests; social media and outreach; networking with other projects such as Pandoc; including the community with, e.g., translations; and coordinating efforts at improving the app. This experience comes in handy now in guiding decision-making processes and ensuring that community wishes and maintainer resources are harmonized. However, two things I have less experience with is user experience design and proper software development practices.

Artem Barinov is a Product Designer (UX/UI) based in Paris. He joined the community a few years back since he wanted to learn UX/UI the most efficient way imaginable: by directly applying his knowledge to a real-world use-case. Together, we have discussed the existing user interface of Zettlr and found several instances where the interface did not enable users to do what they need. Together we have, as our first big project, redesigned and then re-implemented the preferences window. If you find the new preferences' layout better than the old one, then we reached that goal.

Kirthihan Yasotharan is a System Software Engineer based in Germany. He brings to the table what some may consider crucial for successful software: an actual engineering degree. He joined the community a few years ago and immediately started delivering high-quality PRs. His extensive knowledge of real-world software engineering tasks means that he has the unique ability to streamline efforts at improving the app.

What is the Purpose of the Steering Committee?

The main goal that I have with the steering committee is simple: Quality instead of quantity.

Developing software without any governance structures has the benefit that many features can be implemented really quickly, and this is what has happened over the past years. However, its Achilles heel is that this fast speed also implies haphazard development. When features are introduced too fast and without too much thinking, the feature may turn out to be inaccessible to many people, or that implementing it breaks another feature.

With a steering committee to ensure that development efforts are correctly prioritized and planned ahead of time, the amount of new features per year may decrease, but the quality of all that are implemented will be hugely improved.

Zettlr is no longer some nerdy niche product but a productive tool in use around the world. This means that there is a great responsibility on those developing it. When people start using an app to earn a living, there is a whole new level of accountability. And I take this accountability very seriously. The steering committee is my answer to this. By planning changes, prioritizing issues, and focusing the scarce resources we have, my goal is to make a promise to you: Zettlr takes its responsibility serious and will continue to serve you well.

I took this step at this point because I refuse to believe that any open source product must at some point reach its apex and then disappear. Learning new software is difficult, and maintaining existing one is much simpler than developing a new one.

A second goal that I have with the steering committee is to increase the proverbial “bus factor”. While I have no intentions of ever leaving the development of Zettlr or stepping back, it is always better to be safe than sorry. The steering committee is a first step towards opening up the project to a larger base of stakeholders so that the responsibility is shared a bit more.

Don’t get me wrong: I still carry the entire responsibility and accountability for the project, but having people help in decision-making is a great support structure.

What does this mean for Zettlr?

When it comes to the app itself, it is very likely that you’ll never see or feel anything change. Indeed, the steering committee will serve its purpose well if nobody realizes that it even exists. In an ideal world, you’ll just get update notifications like before, but from now on the quality of the updates will be better. The steering committee really is just a way for me to consult with smart people to decide what to do next.

However, I am aware that with such governing bodies, there’s always an issue with transparency and communication. We vow to communicate often and thorough – especially on the Discord-server – and of course we’re always there should you have any questions. You can ping the steering committee at any time by addressing a Discord message @devs (but we may answer later depending on our local time – we’re all in Europe).

As I said, the general workflow of development shouldn’t really change, this is mainly about coordinating and planning, not about what we do.

That being said, I hope that I answered most or your initial questions in this blog post. In case of any other questions that may come up – you know where you can find me.

Stay sharp!

Hendrik