element-hq / element-hq/element-android

Create a workgroup to analyze and optimize performance, CPU and battery usage of Element-Android

Open
#3,884 4 comments 10 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
Kotlin
Stars
3.7k
Forks
917
PR merge metrics
No merged PRs in 30d

Description

#### Is your feature request related to a problem? Please describe.
There are a lot of feedback and issues about performance problems in Element-Android: slow interface performance, very high CPU usage (even in background), battery drain, memory usage, and so on.

Because Android didn't provide any easy tool to debug or gather performance statistics for regular users, there is a hard task to provide valuable bug reports related to performance! So regular and even tech-savvy users see that can't normally describe the problem except "it is sometimes very slow and eats my battery", and decide to not submit so useless bug reports, as result developers even didn't see the scale of that problem and thinks that this problem is present only on several individual users.

So, now we have a lot of bug reports and individual user feedback in various chatrooms about slow performance and battery drain of Element-Android app, but most of them are ignored by Element developers, because they don't contain any useful information to debug and analyze.

As result, we now have an Element-Android app that actively eats battery and CPU on devices of many users, but this problem is totally ignored, seems no improvements or even analysis is done on developer side, and there is no hope that this will be changed in future.

And users are very upset not only about Element-Android, but about all Matrix infrastructure, thinking that the whole Matrix is slow and resource hungry, comparing to other modern chat apps like Telegram, Skype, WhatsApp, etc. And this part of people spreads the information to other people that Element and Matrix are too slow.

#### Describe the solution you'd like.
To solve this problem I see the optimal solution as creating the separate workgroup of developers, that will set aside time to do professional analysis and analytics of the app performance, add metrics and other measurements to app for gathering statistics from real users on their devices, and research the ways to solve detected problems.

Also create a deployment infrastructure, that will automatically run performance tests of each new release and gather statistics how it is changed, to quickly detect new performance problems even before the release.

For example, I (and many other fans of Matrix) am ready to enable any analytics and deepest telemetry on my device, that will gather useful statistics to developers, that can help solve performance problems.

#### Describe alternatives you've considered.
Alternative is what we having now - a lot of issues and individual feedbacks, ragshakes about app performance and battery drain, which are ignored for a long time without any deeper analysis.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.