Soft Features: How to Turn a Good Mobile App into a Great One [5 Steps]

Chahat Gupta
4 min readAug 10, 2024

--

Photo by Josh Rose on Unsplash

Soft features are the non-business elements that complement core app functionalities, enhancing both user and developer experiences. These subtle enhancements elevate the overall quality and satisfaction of the app.

Ask yourself these three questions:

  1. Can I enable or disable any feature in my app for a segment of users at any time?
  2. Can I take my user to any specified screen in the app by sending a push notification?
  3. Can I prevent my users from using a specific or obsolete version of the app?

If you answered “no” to any of these questions, this blog is for you! We’ll need five key elements to pave the way to app excellence. Start implementing these progressively, and you’ll see improvements over time.

#1 — Deep links

A deep link is a URI that takes users directly to a specific screen or state with a single click on a link or notification. Why are deep links so important? Not only do they allow you to dynamically redirect users to any part of the app, but they can also serve as your primary navigation system — a central hub that you have complete control over. You can implement checks, analytics, and other features in one place and enhance the overall user experience.

Your deep links should look like these:
For a regular screen: https://myapp.com/calendar
For a screen with tabs: https://myapp.com/dashboard/community
For a detail screen: http://myapp.com/profile/1023

Some resources for deep linking:
Android
: https://developer.android.com/training/app-links/deep-linking
iOS: https://developer.apple.com/ios/universal-links/
Flutter: https://docs.flutter.dev/ui/navigation/deep-linking

#2 — Kill switch

A kill switch is just a remote config — a set of boolean values that are downloaded once when the app launches and control various entry points. You can use these to enable or disable access to certain features remotely. Additionally, they can be flavoured based on user segments; which means that the same feature can be enabled for User A and disabled for User B.

There are many ways to implement a kill-switch mechanism, the easiest of all is using Firebase Remote Config. I have written a detailed, step-by-step guide on kill switches and their use cases.

#3 — Forced updates

Consider a scenario where you’ve fully rolled out an app update, but for some valid reason, you don’t want users to continue using that specific version. There could be several reasons for this:

  • A major bug affecting a large number of users.
  • A security issue that needs to be patched.
  • The version is outdated or uses obsolete APIs.

Even after releasing a fix, many users might still be using the older, problematic, or unsupported versions of the app. To address this, you can use forced updates. A forced update is an informative screen that prevents users from navigating to major parts of the app and optionally provides a call-to-action (CTA) to update the app.

A forced update screen that prevents navigation and takes the user to the update page.

#4 — Push Notifications

Push notifications need no introduction. They are the single most important feature to implement once you’ve completed your app’s core functionalities. Push notifications establish a way of communicating with your end users.

With push notifications, you can educate your users about the latest features, gather feedback, and direct them to specific parts of your app. Furthermore, integrating push notifications with deep links can provide a seamless user experience.

Some resources for push notifications:
Android
: https://firebase.google.com/docs/cloud-messaging
iOS: https://developer.apple.com/notifications/

#5 — Nudges

Nudges are subtle prompts that encourage users to engage with new features or complete specific actions. They are often displayed at the bottom of the home screen or main dashboard. Nudges can be combined with deep links to direct users either to the update page on app stores or to a particular section of the app itself.

A nudge that informs users about a new version of the app and encourages them to update.

Conclusion

There are apps that simply get the job done, and then there are apps that truly stand out. Soft features like these are non-negotiable when it comes to elevating your app from just okay to exceptional. Ultimately, the best apps are those that are deeply integrated into the system and create a meaningful connection between your brand and the user.

Gradually implement these strategies in your apps and watch how they elevate both the user and developer experience. Happy coding!

🚀 Let’s connect!

Connect with me on LinkedIn for professional insights and networking.

Explore my contributions on GitHub and Stack Overflow to collaborate on something amazing! ✨

If you’ve read this far, it means you’re not just interested in getting the job done, but in creating truly exceptional apps. If that’s the case, you might also enjoy my other blogs that delve into making excellent apps

--

--

Chahat Gupta
Chahat Gupta

Written by Chahat Gupta

Mobile Tech Lead specialising in Android, iOS, and Flutter. Sharing insights and learnings on mobile development to inspire and elevate tech professionals.

No responses yet