Why We’re Rebuilding The Thunderbird Interface From Scratch
Thunderbird is quickly approaching its 20th anniversary as a standalone email client. And as we get closer to this year’s release of Thunderbird 115 “Supernova” we’re hearing a certain question more and more often:
It’s certainly a valid one, so let’s spend some time answering it!
As Thunderbird’s Product Design manager, I have some good insights into what’s happening and where things are going. Consider this article (and the companion video below) the first painting in a more complete mural showing where Thunderbird is headed, and why some of the things we’re doing might seem counterintuitive.
Some of the talking points below might be divisive. They might touch a nerve. But we believe in being transparent and open about both our past and our future.
3 Objectives For The Next 3 Years
Before we really dig in, let’s start with the future. We believe it’s a bright one!
With this year’s release of Thunderbird 115 “Supernova,” we’re doing much more than just another yearly release. It’s a modernized overhaul of the software, both visually and technically. Thunderbird is undergoing a massive rework from the ground up to get rid of the technical and interface debt accumulated over the past 10 years.
This is not an easy task, but it’s necessary to guarantee the sustainability of the project for the next 20 years.
Simply “adding stuff on top” of a crumbling architecture is not sustainable, and we can’t keep ignoring it.
Throughout the next 3 years, the Thunderbird project is aiming at these primary objectives:
- Make the code base leaner and more reliable, rewrite ancient code, remove technical debt.
- Rebuild the interface from scratch to create a consistent design system, as well as developing and maintaining an adaptable and extremely customizable user interface.
- Switch to a monthly release schedule.
Inside those objectives there are hundreds of very large steps that need to happen, and achieving everything will require a lot of time and resources.
Thunderbird: An Old, Fragile LEGO Tower
What’s all this stuff about “technical debt?” Why does it need to be rebuilt? Let’s talk about how we got here, and shed some light on the the complicated history of Thunderbird’s development.
Thunderbird is a monolithic application that has been developed by thousands of people over the course of two decades. Making major changes — as we’re doing with Supernova — requires very careful consideration.
As you’re reading this, it might help to imagine Thunderbird as an enormous Lego tower you’ve built. But years later, you realize the crucial center piece serving as the foundation is using the wrong shape. If you replace just that piece, the whole tower will crumble. This means you have to slowly remove the blocks above it to keep the tower from collapsing. Then, once you reach that center piece, you replace it, and then add back the pieces you removed with slightly different pieces.
Why? Because the original pieces don’t fit anymore.
How Is Thunderbird Made?
Thunderbird is literally a bunch of code running on top of Firefox. All the tabs and sections you see in our applications are just browser tabs with a custom user interface.
In doing so, Thunderbird can tag along Firefox for their release cycle, inherit security patches, benefit from extensions support, and much more.
Obviously there’s more complexity to it, including a lot of C++, JS, CSS, and XHTML to ensure everything works properly. Using a solid base architecture like Firefox is the perfect starting point.
Unfortunately, this approach comes with a hefty cost.
Keep in mind that Thunderbird is currently being actively developed by a bit more than a dozen core developers. Firefox has hundreds of developers constantly changing and improving things on a daily basis.
So, you can imagine how many times per week things suddenly break in Thunderbird because a C++ interface was renamed, or an API was deprecated, or a building library was upgraded. Keeping up with the upstream changes is not a simple task, and on some occasions it takes up most of our days.
“Is Thunderbird Dead?”
That cost — and what I’ll talk about next — is why Thunderbird has accumulated an enormous amount of “technical debt” to pay off.
Throughout the years, Mozilla’s focus shifted a lot, investing less and less resources into the development of Thunderbird. On July 6, 2012, the Mozilla Foundation announced that it would no longer be focused on innovations for Thunderbird, and that the future Thunderbird development would transition to a community-driven model.
This meant that community members and external contributors would be in charge of developing and supporting Thunderbird.
This decision was both a blessing and curse.
The blessing: it sparked a fire of support and contributions inside the community, allowing passionate contributors to submit code and improve Thunderbird in areas they cared about. Many features and customization options were introduced because a lot of community members started sharing and proposing their ideas to improve Thunderbird. The community grew, and the project became a solid example of real software democracy!
The curse: coordinating efforts across a volunteer community was challenging. Plus, there weren’t enough resources to ensure the long-term success and sustainability of an open-source software project.
Our Community Saved Thunderbird, But…
The Thunderbird community absolutely kept the project alive all of those years. Millions of active users, contributors, donors, and supporters have dedicated hours and hours of their free time in order to guarantee a usable and useful tool for so many. And they did a great job — something we’re eternally grateful for.
Our community responded and adapted to the scenario they found, and they tried to make the best of it.
Since Thunderbird was being contributed to by many volunteer contributors with varying tastes, it resulted in an Inconsistent user interface without a coherent user experience.
Moreover, the lack of constant upstream synchronization with Firefox caused the inability to build and release Thunderbird for months at a time.
The more time passed without a proper development structure, the more difficult it became to keep up with the technology innovations and improvements from competitors. Thunderbird now lacked a proper organization behind it. It lacked development oversight, a cohesive vision, and a roadmap. It lacked full-time employees with specific expertise.
And all of that contributed to a question that grew louder and louder as the years went by: “Is Thunderbird dead?”
MZLA Technologies and Community Culture Shock
Today, Thunderbird is wholly owned by MZLA Technologies, a subsidiary of Mozilla Foundation, and it’s actively developed and maintained by a growing group of paid employees. We have a proper organization, a roadmap, and people in charge of making smart decisions and defining directions.
This shift, which happened slowly between 2017 and 2020, was a bit of a shock for our community. Now, additions or changes need to be approved by core developers and designers. A stricter roadmap and list of features gets the priority during every release cycle, and external contributions are rejected if they’re not up to the standard of quality and visual direction of the project.
This sudden shift in the way Thunderbird is handled and developed created a “walled garden” feeling. This caused many community members to feel rejected or alienated by a project they spent hours on.
This is absolutely understandable, but it was necessary.
Still Open, And Still Open Source
At Thunderbird, we strive to remain open, welcoming, and collaborative as much as possible.
We constantly advocate for an open process, starting from the initial roadmap ideas, releasing early mock-ups and changes to our community, as well as keeping our entire source code open and accessible.
Even though we’re very upfront and honest about the direction of the project, the decision making process happens during internal meetings. It’s driven by the people in charge, like a normal company. The lead developer, lead designer, project and product manager, senior engineers, etc, make the final decisions.
We always listen and incorporate the feedback from the community, and we try to balance what we know is needed with what our users and external contributors want. But you can’t make everyone happy; trying to do so can actually dilute and devalue your product.
The toughest thing to do is changing the perception that “we” (the core developers) don’t care about the community and we just do things to upset them, or change things just because it’s “trendy”.
That couldn’t be more wrong.
What To Expect Going Forward
In 2023, Thunderbird is pretty well sustainable, with a healthy donation flow, more services in development to increase our revenue stream (stay tuned!), and an ever growing team of developers and designers bringing their expertise to the table.
The technical debt is slowly abandoning the source code, thanks to the outstanding work of many core developers which are implementing modern paradigms, documenting a consistent coding style, and removing the crusty old code that only creates problems.
Improvements to the UI and UX will continue for the next 2 years, with the objective of creating an interface that can adapt to everyone’s needs. A UI that looks and feels modern is getting initially implemented with version 115 in July, aiming at offering a simple and clean interface for “new” users, as well as the implementation of more customizable options with a flexible and adaptable interface to allow veteran users to maintain that familiarity they love.
A renewed attention to usability and accessibility is now part of our daily development process, guaranteeing easy discoverability of all the powerful features, as well as full compatibility with assistive technologies to make Thunderbird usable by everyone.
And yes, absolutely: the constant addition of new features that some of our competitors have had for years, as well as the creation of some amazing and innovative solutions that will improve everyone’s experience.
Everything, as usual, wrapped around an open and ethical process, with a constant attention to our community, and a renewed passion to innovate and grow, to make Thunderbird the best personal and professional communication application out there!
Thanks for taking the ride with us. And thank you for trusting us. We welcome your feedback in the comments below.