Android 13

Google vs. Devs: The State of Android UX

Android 14 is already available for the latest Pixels and Samsung’s OneUI 6 is slowly rolling out to select Galaxy devices. However, many users are still missing out on the features that the previous version of the OS introduced more than a year ago, which gave them more options to customize and control their devices according to their preferences. These features are not yet supported by most of the widely used applications on the market. In this article, we will explore the reasons behind this situation, focusing on two of these features: themed app icons and per-app language support.

  • Themed App Icons: Themed app icons let you change the appearance of your app icons to match your wallpaper or your mood. You can choose from different shapes, colors, and styles, or create your own custom icons. This way, you can personalize your home screen and make it more attractive.

Themed App Icons

Per-app Language Support
Per-app languages in system settings
  • Per-app Language Support: Per-app language support lets you change the language of each app individually, without affecting the system language or other apps. This is especially useful for people who live in countries where the official language is not English. For example, in Arab nations, people speak Arabic, which is written from right to left. Still, many people in such countries prefer to use the OS and apps in English, written from left to right. However, some apps that provide local services are better used in Arabic, as they may provide more accurate information or better functionality.

In previous versions of Android, if you wanted to change the language of an app in such scenarios, you had to open it in the wrong language, go to the settings and find the language option (if there was one). This was inconvenient and time-consuming. With Android 13, you can simply tap and hold the app icon to open its settings, and then select the language you want from the language section. This can be done without opening the app itself.

Implementation

While these features are greatly appreciated, they must be implemented by the developers behind each app. To enable themed app icons for example, app developers need to add a simple <monochrome> element in their launcher XML files. This element specifies a monochrome version of the app icon, which can be tinted by the system according to the user’s preference. The element should be placed inside the <adaptive-icon>:

<?xml version="1.0" encoding="utf-8"?>
...
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    // Starting with Android 13 (API level 33), you can opt-in to providing a 
    // <monochrome> drawable.
    <monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
...

Unfortunately, many popular apps like Zoom, Messenger, imo, Snapchat and MX Player do not have themed app icons. This means that their app icons will always look the same, regardless of the user’s theme or wallpaper. This can create a visual mismatch and reduce the aesthetic appeal of the device.

For the sake of simplicity, the implementation of per-app language support won’t be covered in this article. If you want to learn how to implement this feature, check out this Android Developers documentation. Surprisingly (or not), at the time of writing this article, a whopping number of widely used Android applications don’t support this feature yet. Some of them are WhatsApp, Instagram, Telegram, Messenger, Snapchat, Zoom, Dropbox, MX Player and imo.

So, who’s guilty?

While some applications have failed to keep up with the latest features of Android, the OS itself is not blameless either. The Android team has a habit of deprecating methods frequently, which leads to outdated guides and documentation. For instance, the only official guide for RecyclerView’s selection library is very brief and vague, with less than 500 words. I personally found it more helpful to follow a tutorial by a third-party website called Kodeco (formerly RayWenderLich), although it was last updated over a year ago. These challenges make it hard for companies with limited resources (e.g. fewer developers) to implement optional features, and they end up prioritizing other aspects of their applications.

When asked, Google’s own Bard provided these factors:

Several factors contribute to the delay in popular Android apps adopting Android’s latest features:

  1. Resource Allocation: Popular apps often have a large user base and a complex codebase, making it challenging to allocate resources for implementing new features. Prioritization is crucial, and developers may focus on fixing bugs, improving performance, or adding new features that directly impact user experience.

  2. Testing and Compatibility: Implementing new features requires thorough testing to ensure compatibility with various Android devices, operating system versions, and screen sizes. This can be a time-consuming process, especially for apps with a wide range of users.

  3. Compatibility with Third-Party Libraries: Popular apps often rely on third-party libraries for various functionalities. Updating these libraries to support new Android features may require coordination with third-party developers, which can further delay the implementation process.

  4. App Design and User Experience: Integrating new features into an app’s design and user experience can be challenging. Developers need to ensure that new features are seamlessly integrated without compromising the overall user experience.

  5. User Adoption of Android Features: The adoption rate of new Android features among users can also play a role. If a feature is not widely used, developers may prioritize other features or focus on improving the core app experience.

  6. App Maintenance and Long-Term Support: Developers need to balance the implementation of new features with maintaining and supporting existing features. Prioritizing new features may require compromising on the maintenance of older features or compatibility with older devices.

What are your thoughts on this topic? Share your perspective in the comments.

1 Comment

  1. I enjoy what you guys are usually up too.
    This kind of clever work and coverage! Keep up the wonderful works guys I’ve
    added you guys to my own blogroll.

    Feel free to visit my homepage … googletest

Leave a Comment