Showing posts from 2020

"Next" or "Skip" ?

Think before you place any button in the UI. "Next" and "Skip" should behave differently.  

Display Cutouts

Android support  Display Cutouts  since Android 9 (API 28). However, still many applications didn't consider Display Cutouts in their design, causing view components covered by the Status Bar. Display Cutouts used to be in the middle of the top edge. But there are more and more devices having the cutouts at the top corners. Developers should pay more attention when testing.

Quantity Strings

Notification, Notifications, or Notification(s)? In Android, Quantity Strings could help you to display the correct singular and plural.  Why not let the system to help you? And why you are still displaying something like notification(s)?

Optimizing Images

  Sometimes, if the image is simple, consider lower the color depth of the image. Squoosh is an online tool to help you to optimize the bitmap image. Android support multiple image format, JPEG, GIF, PNG, WebP, HEIF.  Choose the one which fits you most. Using VectorDrawable is also a good way to reduce the file size of the image.

Black on Black and Palette API

While displaying text on an image, make sure the text is readable for user. Aovid "white on white", "black on black".  By  Selecting Colors with the Palette API , you can know the major colors in the image, can get the right color for the text overlay.


There are many ways a mobile device connecting to the Internet. Mobile Network and WiFi are the most common, but a device could also connect to Internet by Bluetooth or by Ethernet.  Make sure the app logic is not checking WiFi and Mobile Network only. By  Monitor connectivity status and connection metering , developers could determine whether you have an internet connection by  ConnectivityManager .

FingerprintManager and BiometricPrompt

FingerprintManager was deprecated 2 years ago. But still, many applications have not migrated to BiometricPrompt. Why keep using FingerpaintManager is bad? It is because user will not know the dialog can be trust or not. To protect users, applications should migrate to BiometricPrompt , especially banking / payment applications.  

Android Support Library (

There are still many local applications using Android Support Library ( Android Support Library was deprecated 2 years ago. The last version (28.0.0) was designed for API Level 28 (Android 8). App updates on Google Play must target Android 10 (API level 29) or higher starting from November 2020 , developers should migrate to Jetpack (AndroidX) ASAP.