thunderbird / thunderbird/thunderbird-android

Improve navigation drawer UX

Open
#3,413 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: enhancement
Dominant language
Kotlin
Stars
14k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
57

Description

When a user selects a folder from the drawer we first close the drawer and wait for the animation to be done. Only then do we perform the fragment transaction to switch out the message list. This was done to get a smooth closing animation that isn't interrupted by the new fragment being loaded. But it makes the UI feel slow.

Investigate what exactly is causing the animation stutters when loading the fragment simultaneously. If we can fix it, do that.
Otherwise investigate which of these options leads to a smoother UX:

  • When a folder is selected show a blank area where the message list goes, then play the closing animation, then load the new fragment (Gmail seems to do something similar).
  • When a folder is selected, keep the drawer open and load the new fragment. Once the new message list has been loaded close the drawer.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing folder selection in the navigation drawer and profiling the drawer-closing animation while the message-list fragment loads. Compare the reported blank-area and load-before-close alternatives, and determine which behavior avoids visible stutters. Done means the selected approach provides a measurably smoother transition without interrupting navigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.