As announced in the progress report for the previous month, in May we mostly worked on a new account setup experience. To learn more about that and what else has happened in the world of K-9 Mail as it evolves to Thunderbird For Android, read on.

The Revamped Account Setup UI

In our continued efforts to enhance the user experience, we have redesigned the account setup UI. This is the first point of contact for our users and we wanted to ensure it is as intuitive and straightforward as possible. We integrate Thunderbird’s Autoconfiguration for seamless email account setup, start the transition of our app’s UI from XML Android layouts to Jetpack Compose, and adopt Atomic Design principles for a cohesive, intuitive design.

At the heart of this transformation is the integration of Thunderbird Autoconfig. This system enables automatic configuration of most email accounts, simplifying the user experience by making the connection to email servers effortless. Users only need to enter their email address and the server settings are obtained via multiple methods. They can be sourced from a central database (ISPDB), retrieved directly from ISPs through a configuration server, drawn from provided configuration files. In cases where these methods are unsuccessful, the configuration is derived from common server names. If all else fails, manual configuration is always available. With this powerful tool, setting up an email account becomes a breeze.

Our redesigned account setup UI has been written using Jetpack Compose. Although XML layouts have long been the standard for building Android UIs, the Android ecosystem is transitioning towards Jetpack Compose as the new norm. This declarative UI toolkit has enabled us to build UIs more efficiently, with less boilerplate code and reduced likelihood of bugs. Jetpack Compose defines UI elements as composable functions written in Kotlin code. This results in more intuitive, expressive, and readable components and promotes the reuse of UI components, streamlining the UI design process. This aligns well with the implementation of our new design system.

In combination with our new design system, which follows Atomic Design principles, the account setup UI presents a cohesive and intuitive user interface. The fundamental concept of Atomic Design involves breaking down design into smaller, reusable components (atoms), which can be combined to form larger, more complex structures (molecules and organisms). This approach has allowed us to systematically deconstruct our UI interfaces into their basic components and combine them to form more complex, reusable components for the account setup UI. The result is a more structured, scalable, and efficient design system, improving the consistency and usability of our app.

Account setup screenshot <Account setup screenshot <Account setup screenshot

We’re confident that these changes have resulted in a smoother, more user-friendly account setup process. As we prepare to release a new beta version that includes this feature, we are eager to receive your thoughts and feedback on these improvements.

To Reply, or To Reply All?

When we released the overhauled message view in K‑9 Mail 6.600, the button to reply to a message changed from a menu offering Reply, Reply All, and Forward to a single button with a default action and the additional actions moving to the overflow menu (⋮). The default action in K‑9 Mail 6.600 was Reply All. Due to many complaints we changed it to Reply in K‑9 Mail 6.602.

However, it became clear that neither default works well for everyone, or even for one person in every situation. We’ll continue to work on this and hope we’ll find a solution where everyone can have their favorite behavior without forcing a significant portion of users having to dig through settings to get it.

Community contributions

  • Ilya Bizyaev made a small change to the app so it also runs on Android devices that don’t support home screen widgets (see #6889).
  • Georg Sieber fixed a bug where we got the initialization order wrong (see #6909). This lead to the error message “Cannot connect to crypto provider” (erroneously) being displayed in certain situations (see #6068). If you were affected by this and want to say thank you, we’ll point out that there’s a way to sponsor Georg’s open source work.
  • Siva Subramaniam noticed that the “Sign in with Google” button was unreadable when using the dark theme (see #6924) and worked on a fix for the problem (see #6928).
  • Simon Arlott fixed a couple of issues with importing and exporting identities (see #6936).

Many thanks to all of you! ❤️

Security Audit

With the help of the Open Source Technology Improvement Fund we’ve hired 7ASecurity to do a security audit of K‑9 Mail. We’re happy to report that no critical issues have been found.

In May we spent a couple of days fixing most of the security issues that were identified during the audit. We’ve created entries in our issue tracker for findings that still need to be addressed.

The final report should be ready soon. We’ll announce its availability in this blog.

Releases

In May 2023 we published the following stable releases:

… and the following beta versions:

If you want to help shape future versions of the app, become a beta tester and provide feedback on new features while they are still in development.


This progress report was also published in the Thunderbird blog.