10 tips from 10 years of android development experience

Discover 10 expert tips from 10 years of Android development experience to enhance your app-building skills.
Mar 17 2022 · 4 min read

Introduction 

Developing an android app is not easy as there are thousands of different possible combinations of OEM, hardware, and Android versions.

I have developed apps that are used by a few users to millions of users.

10 tips from the 10 years of android development experience.

We are what we repeatedly do. Excellence, then, is not an act, but a habit. Try out Justly and start building your habits today!

Let's Get Started!

1. Get a good machine if possible

Contrary to web development, android development requires lots of machine resources.

If you don’t have a good machine, you will end up waiting for 1–5 minutes on each app run depending on your app size and where you make the change.

Getting a good machine will save you 1 day per week and that’s like having an extra week in a month. I would recommend a configuration with at least 16GB of RAM!

2. Choose the way that suits your skillset and meets your need

Native android apps can be developed with currently 3 trending approaches

  1. Android native framework — Kotlin/Java and Jetpack compose/Views — Use this if you are good at Kotlin/Java and you don’t care about iOS app.
  2. Flutter — If you are coming from the web and have used a declarative framework, and you want android and iOS and other platforms ready at the same time, use this approach.
  3. KMM — Use KMM to develop data part of the app that can be shared between multiple platforms and write UI with android default framework.

3. Develop with the smallest device in mind

Android devices come with every possible combination of screen resolution, density, and size and there are over 15,000+ devices available.

While optimizing for all devices is not possible, designing your app with the smallest device in mind will make sure it works on most of the devices.

Create an emulator with the smallest resolution and make sure you test your app on it. If possible, use it as the default device.

4. Care for device resources

Unlike web where most of the machines are connected to the power grid, android devices will have limited battery and resources.

Make sure you are not doing any resource hungry operation in background without user’s permission as they may need it for an emergency.

Having battery dead when they most need it will make them remove your app. Or worse, they can spread the words in their circle as well, ultimately damaging the branding.

5. Make sure you verify your app manually on a few Chinese manufacturers and Samsung devices

In an ideal world, if something works on stock android versions, it should work on every other device.

However, that’s far from reality. Most OEMs modify the firmware as per their need and often in a way that breaks android CTA.
That means even if you doing something in a right way, it will break on a few devices and you will have to handle it with a workaround.

Checking apps occasionally or shipping major changes can be helpful. You will avoid bad reviews and user experience.

6. Make sure you test your app on the lowest, middle, and the highest android version supported

Android behavior can be surprising on some OS versions. Make sure you verify it on at least 3 versions.

7. Make use of some good open-source libraries

There are a few libraries on android that will be useful for every android app. Make sure you search for it and include it in your project.

There’s a recent blog written by Canopas team that can be useful too!

8. Make sure your app plays nicely with password managers

Most users don’t like to type credentials. They will use google or external credential manager to autofill login whenever possible. Making sure your app works with password manager will leave a good impression.

If possible, avoid your login entirely and use google/facebook/twitter logins to authenticate users.

9. Automate your deployments all the way

Well, this is not just about building the app and storing as artifacts. No, go all the way.

Configure your master/main branch to be deployed on Playstore internal channel on every commit and make sure right people are invited. This will help everyone with having latest build.

Once a build is good enough, just promote it on to production from internal channel on PlayStore.

10. Follow community for new learnings

Android development advances at a rapid pace. Following a good weekly or some blogs can be really helpful to stay up to date on the new developments.

There are many good resources out there, I can recommend android weekly https://androidweekly.net/ and fragmented podcast https://fragmentedpodcast.com/ to get started.

Conclusion 

Drawing from a decade of experience, I offer ten essential tips to navigate the complexities of Android app development, enhancing your process, creating robust apps, and delivering a superior user experience.


jimmy image
Jimmy Sanghani
Jimmy Sanghani is a tech nomad and cofounder at Canopas helping businesses use new age leverage - Code and Media - to grow their revenue exponentially. With over a decade of experience in both web and mobile app development, he has helped 100+ clients transform their visions into impactful digital solutions. With his team, he's helping clients navigate the digital landscape and achieve their objectives, one successful project at a time.


jimmy image
Jimmy Sanghani
Jimmy Sanghani is a tech nomad and cofounder at Canopas helping businesses use new age leverage - Code and Media - to grow their revenue exponentially. With over a decade of experience in both web and mobile app development, he has helped 100+ clients transform their visions into impactful digital solutions. With his team, he's helping clients navigate the digital landscape and achieve their objectives, one successful project at a time.

Recommended for you
Jimmy Sanghani
Jimmy Sanghani
Collect useful logs in production using Crashlytics, File logging and Timber
Discover Firebase Crashlytics: Your real-time solution for collecting, analyzing, and prioritizing crash reports effortlessly.
4 min read | Published on Sep 29
Megh Lath
Megh Lath
Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
ExoPlayer, coupled with the capabilities of Media3, offers a robust solution for playing multimedia content in Android applications. In this tutorial, we’ll go through setting up ExoPlayer with…
11 min read | Published on Dec 19
Krishna Vithani
Krishna Vithani
Android vs iOS app development: Which App Should You Develop First?
This article will explore the pros and cons of both platforms, helping business owners make an informed decision about where to start with their app.
8 min read | Published on Jun 16

Recommended for you
Jimmy Sanghani
Jimmy Sanghani
Collect useful logs in production using Crashlytics, File logging and Timber
Discover Firebase Crashlytics: Your real-time solution for collecting, analyzing, and prioritizing crash reports effortlessly.
4 min read | Published on Sep 29
Megh Lath
Megh Lath
Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
ExoPlayer, coupled with the capabilities of Media3, offers a robust solution for playing multimedia content in Android applications. In this tutorial, we’ll go through setting up ExoPlayer with…
11 min read | Published on Dec 19
Krishna Vithani
Krishna Vithani
Android vs iOS app development: Which App Should You Develop First?
This article will explore the pros and cons of both platforms, helping business owners make an informed decision about where to start with their app.
8 min read | Published on Jun 16

Whether you need...

  • *
    High-performing mobile apps
  • *
    Bulletproof cloud solutions
  • *
    Custom solutions for your business.
Bring us your toughest challenge and we'll show you the path to a sleek solution.
Talk To Our Experts
footer
Subscribe Here!
Follow us on
2024 Canopas Software LLP. All rights reserved.