You must have come across Splash Screens on mobile apps, both as a user and as a mobile developer. During my early days as a mobile developer, I mostly frowned at the thought of implementing a Splash Screen. However, after using many apps, reading about the mobile platforms, how they worked, how the mobile apps are loaded, it gradually seemed to make sense why “Splash Screens” are necessary.

Here’s a link to a well written article that talks about the history of Splash Screens, what was the motivation for using them and also details out some best practices for implementing…


Almost all mobile apps do some sort of sharing data with other apps. For example, your app might want to share URLs, images, videos or text content to other apps like Facebook, Twitter, Gmail and so on.

To implement this, it’s quite straight-forward. You create an Intent with the action as ACTION_SEND, provide it with the data you want to share. You then create a chooser intent, and then pass this intent to the startActivity() method.

Something like this, which is the recommended way:

val intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, "This is my text to send.") …


Prawn is a great tool for generating PDFs. And the “prawn” gem works really well for Rails and Ruby. Getting started with might take some time, since it has a somewhat steep learning curve. Working with texts is the easiest. As you move on you will start worrying about formatting, styles, tables, images etc. Although you might take some time to get your hands dirty, they are not very complex. Documentation is good, and with a little bit of effort, you should be able to follow along.

The one thing that I found challenging while working with prawn pdf: Handling…


Firebase Crashlytics is great. It works great with native apps, and the integration with native Android and iOS apps is quite simple and well documented. However, integrating Firebase Crashlytics with a flutter-based app is a little tricky. When I started integrating Crashlytics with one of my flutter apps, I had one problem.

I knew I had to use this plugin: firebase_crashlytics

The documentation on the above plugin’s page is great. And, if you follow the steps correctly, you should have no problems in integrating the plugin successfully on both Android and iOS apps. …


Firebase Analytics is the default choice for mobile app analytics these days. With a very few steps, the Firebase Analytics SDK for Android and iOS can be integrated within minutes. By default, Firebase Analytics track your screens without any additional code implementations.

However, it is designed to only automatically track screen views or screen visits when you are launching new Activities. If you are using Fragments, Firebase Analytics will not report any new screen views when you are navigating between fragments within the same Activity. Moreover, with the Single Activity design and Jetpack Navigation approach, which is now being recommended…


Huawei is the 2nd largest Android phone manufacturer worldwide, after Samsung (2019 — Wikipedia). Huawei has a broad product portfolio to target all categories of consumers and markets, for every need and budget. Huawei Mate and P series smartphones are its high-end models, while the cheaper smartphones are sold under its Honor brand. The premium models like P20 Pro have amazing design, superb hardware, long battery life, great display, and premium quality cameras.

The existing trade ban by the US government which stops US companies to collaborate with Huawei has been extended till May 2021. No one is sure what…

Are you tired of SPAM? We all get hundreds of spam emails per day. Add too many spam SMSes as well. With so many mobile apps on phone, do you feel you are being bombarded with unnecessary notifications on your smartphones?

I have about 50 apps on my Android phone. Some of the most used applications are:

  • Gmail
  • WhatsApp
  • Telegram
  • Outlook
  • Facebook

These 5 apps generate close to 100 notifications on an average in a day. My phone tings and vibrates that many times in 24 hours. …


Starting a new project in Flutter? Although the choice of libraries depends on your use case, here are the top 9 libraries that I think you should definitely be comfortable with.

The list contains common libraries that you will probably use in almost all mobile apps if you are developing in flutter.

So, let’s get started.

1. cached_network_image (by Baseflow)

In almost every app that I have worked with, you will need a library for loading, displaying and caching images from the network.

“cached_network_image” is a library that is used to load remote images and display them, and it also caches them, as its name suggest. This is very easy to setup and use. It works flawlessly for both iOS and Android, but doesn’t yet work perfectly for web (caching not supported yet).

This library is quite flexible by default with lots of configuration options.

2. firebase_crashlytics (by Firebase team)

For mobile…


How to get started with Code Reviews

From my experience, as with any task, you would need a certain level of preparation before you can get started, so that you can make the most efficient use of your time.

Code review is the #1 way of improving code quality. (SmartBear survey)

It is then, your responsibility to understand what exactly is expected from you, so that you can focus in the right direction.

Reviewing someone else’s code might sound like a trivial task, but believe me, it’s never easy. If you are going to review someone else’s code, there is a certain level of expectation from you…


Single Activity design was discussed in one of the Google I/O talks ’19 along with Android Jetpack Navigation. The Android team now recommends the Single Activity design as the preferred architecture.

Do we have a new initialism here? SAAs (Single Activity Applications). This design approach is not new, even in the Android world.

It can be compared with SPAs (Single Page Applications) from the web world which is a popular design approach for most of the modern web frameworks.

In this post, we will discuss the following:

  • What problems does “Single Activity design” solve?
  • When should you adopt “Single Activity…

Kumar Bibek

While my phone and the laptop is being charged, I love to write, cook and ride away from the city on my bicycle.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store