How Not To Screw Up Android MarshMallow Development

Everyone loves Android. Well, almost everyone. And with good reason. The free, customizable, rapidly growing OS continues to improve and impress. And it’s making its presence felt on not just Smartphones and tablets but also on TVs and wearables like smartwatches. But developer mistakes are just as common today as they were when Gingerbread came out. No developer is without mistakes but if you stay careful, mistakes can be avoided. With Marshmallow, the mobile application development community has to be on guard so that these mistakes don’t happen.

Mistake # 1 – Developing For Your Own Android Device

Even if you are an advanced mobile application developer, there’s a reason why your app can fail on different devices. You’ve developed it keeping in mind your own Android device. You can avoid this mistake through these ways:

  • You have to include resources several times to account for various densities and orientations.
  • You need to use Android Emulator to replicate physical devices.
  • You can also use Genymotion. It’s super fast and has a lot of popular preset devices. Problem solved!

Mistake # 2 – Blocking The Main Thread

As you know, the main thread exists for a single reason only: to keep the UI responsive. Now, while measuring the frame rate that the human eye/brain can perceive is pretty complex and is subject to myriad factors, it’s safe to assume that anything below 24 fps with a delay of 100 ms will not be perceived as smooth. That means the feedback to user’s actions will be delayed. And it’ll lead your app to stop responding. And if an app stops responding to the user’s actions, we all know what happens. User frustration, which leads to uninstallation. So, be careful with the main thread in your Marshmallow mobile application development.

Mistake # 3 – Beta-Testing Your App By Yourself

Beta testers exist for a reason. They provide important feedback from an outsider’s perspective. They aren’t just there for the bugs. Their feedback can help you deal with some crucial issues like user-friendliness for instance. If your in-app purchases are not communicated well to the user, a beta tester can point it out to you. A beta tester can also tell you whether the use of advertisements is affecting the entire experience. It’s not that you can’t be a beta-tester because you are a mobile application developer. It’s just that since you’ve built the app in a particular way, it’s not easy for you to pinpoint these issues.

Find out how your tester is using your app through tools like Google’s Universal Analytics and Flurry. It’s better if you have more than one tester to test your mobile app. The more testers, the better because it’ll prepare your app for every possible situation.

The facts are laid bare for everyone to see. Users have moved on. There’s no reason why your Android mobile application development should stay behind. The harsh truth is, it’s not expected of users to keep pace, but it’s expected of developers. So, avoiding mistakes is the key to keep users interested in your app.

Swarnendu De

Swarnendu is the Co-founder and Lead architect at Innofied. For the last seven years, he has been working with numerous JavaScript technologies including Backbone.js, Node.js, ExtJS, Sencha, and so on, and has developed more than 50 complex JavaScript-based applications thus far. He is the author of the book Backbone.js Patterns and Best Practices. Swarnendu regularly writes at his personal blog, Innofied Blog, the Tuts+ network, and provides support and assistance for JavaScript, Sencha and much more around the web. You can reach him through his website at or via Twitter at @swarnendude

Ready to talk to us? We’d love to hear you.

Note: We'll provide a fully signed NDA for your Project's confidentiality.