5 Key points defining resilient mobile application

Adam Svoboda
Aug 25, 2017 · 2 min read

When you are developing a mobile application, regardless if it's for Android or iOS, you should always try to handle as much as possible situations which can user face while using it.

Compatibility

📺 Main thing you should always test is compatibility, always go through your app on a device with the lowest version of targeted operating system that you support. There are many things which can go wrong: eg. vector drawables or runtime permissions on Android, or usage of a newer API (such as UserNotifications or FileProvider) on iOS. Also make sure to test your app UI on different screen sizes and resolutions and check if the content is being displayed correctly.

Unavailable network handling

🌐 Next very common cause of malfunction is unavailable network connection. Take your time and try to turn it off while browsing through your app. Keep in mind that user can lose connection anytime on any screen, even while loading content. One should always be informed about missing internet connection when trying to load data from a server or send it. If you haven't got a dedicated designer, who can create some beautiful error layout, at least let people know about the situation via simple dialog/alert, toast or whatever.

Empty list handling

📝 Do you have any lists or pickers in your app? Do you handle the scenario when there is no data to show? One thing is that your app won't crash while trying to fill view with nothing. But you can do more. Create an empty screen layout, which suggests that new data will appear there after submitting. Don't forget to show it also when the last item is deleted from the list, not only when you open the screen.

Input validation

✍️ If you give user ability to input some data to your app, whether is text or files, you should always validate it. Imagine a simple application where you can submit an image with some description, you definitely want to handle the situation when user tries to submit 100MB file with ”ßÅÞ¡冗 ّبُ🍔” as a description text. It's always pleasant to be informed about the validation rules, and also to prevent form submission when they are not met.

Permission handling

🚫 When some of the app functions require some special permissions (camera, location, storage, etc…), always handle scenario when user refuses to grant them, present some brief information about why they are requested and consider implementing button leading to the permission settings to simplify user's flow.

These are some of the little, but most important things you should think of, test and handle properly, if you want to receive 5-star reviews and have happy users (and testers 😉).

)

Thanks to Petr Zvoníček

Adam Svoboda
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade