Case Study

Boost E-Payment: Optimizing app performance and experience

Slow and unoptimized applications, or even the perception of being slow, can cause frustration and turn off even the most loyal of users. Therefore, we have always placed a high emphasis on app performance and usability. There are several programming principles commonly adopted across the top in the industry to ensure applications can be built or optimized to be as lean as possible within means. These principals are widely interoperable, and businesses in any field can seek to adopt them in their engineering process.

Summary

We run code analysis to detect bottlenecks in the app performance. After the audit, we performed code refactor and improvements. The feedback received showed that collections of many small enhancements could make significant app performance and usability improvements, boosting the overall user impression of the application.

The Full Story

The Situation

As businesses add more features to their application, it increases codebase complexity and redundancy. It leads to unoptimized and bloated apps resulting in apps that become slow and have a large download size. This problem can be challenging to solve in a large project where it involves a large codebase and business implications.

We are requested to consult and work on improving app performance, particularly on Android phones, as, like most businesses, that is where they have most of their user base, and doing so would have the most impact. That was also where we had built most of our expertise.

Our approach

We set two targets for us to achieve. The first is to improve code optimization and performance. Not just from a technical perspective, but also from a User Experience (UX) standpoint, where performance, or lack of it thereof, can be attributed to user perception rather than an inherent issue with a system

Firstly, we work on the User Interface (UI), and User Experience (UX) improvement as those fixes are more straightforward and can deliver the most results and impact in a shorter period. We start by understanding the process of making changes to the code and submitting updates, including code merging processes. After we get to know the whole flow, proposing revisions becomes straightforward and clear.

We sat down the Design and Experience team to work on ways to improve and polish the look and feel of the application. It is to receive ideas on minor improvements that we can do quickly but also give the app a polished look to provide an excellent impression to users. Next, we worked on the tweaks to refine the fine details in the interface. Minor tweaks such as reducing the animation time, and increasing loading bar smoothness did much to improve the perception of the app from the testing the alpha test performed.

Secondly, we performed code refactoring to increase reusability to improve performance. Besides that, we improve code readability to better codebase maintainability.

However, even with code improvements, there was still an issue with the app download size. As on-ground marketing campaigns required users to download the app on the go, the large download size poses a frequent reluctance for users to download.

To get to the issue, we run code analysis tools to detect significant file usages that take up space. We have found that much of the assets in the app package were from old campaigns and no longer used. We proceeded to clear up unused parts of the app. As a result, we have managed to reduce the app size by 40%.

The Results

We used two methods to measure the result of our work. One is from internal User Experience testing, where we get feedback on new features but also the overall feedback on the app. Secondly, it is from performing sentiment analysis on user comments. Both internal testing and sentiment analysis provided excellent feedback on improved performance and usability. Even without mention of the code updates, 13 percent of the inputs specifically mentioned the enhanced overall performance. Therefore, we were able to conclude that the collection of many small enhancements were enough to show a significantly noticeable difference.

Technologies

  • Platform: Android
  • Programming language: Java

Related Offerings

RedSquare Extend

For organizations which need additional software engineering expertise to execute their goals.

Let's continue this conversation

We help business leaders disrupt their industries
with digital strategies.

thor

Wei-Ming Thor

Principal Software Engineer