10%

Try : Insurtech, Application Development

Edtech(5)

Events(34)

Interviews(10)

Life@mantra(11)

Logistics(1)

Strategy(14)

Testing(8)

Android(46)

Backend(29)

Dev Ops(3)

Enterprise Solution(22)

Frontend(28)

iOS(41)

Javascript(13)

Augmented Reality(17)

Customer Journey(12)

Design(13)

User Experience(34)

AI in Insurance(31)

Insurtech(59)

Product Innovation(37)

Solutions(15)

E-health(3)

HealthTech(8)

mHealth(3)

Telehealth Care(1)

Telemedicine(1)

Artificial Intelligence(109)

Bitcoin(7)

Blockchain(18)

Cognitive Computing(7)

Computer Vision(8)

Data Science(14)

FinTech(44)

Intelligent Automation(26)

Machine Learning(46)

Natural Language Processing(13)

There is no ‘good’ or ‘bad’ in design. But, there are right choices that you can make to strike the right balance. The right choices always revolve around the balancing of elements and how to go about incorporating them into your design. Design is largely intrinsic, something that depends on how you look at it.Utilizing strong design principles will go a long way in transforming your UX desgin for your users.

 

But, how do I improve it?

The vital ingredient of any design is a discernable pattern. Patterns are universally observed, and by incorporating the right examples in your designs, it can evoke a desired reaction or response to a specific interaction. So the challenge is to decide – how do you want the user to perceive the design while simultaneously solving the usability problem.

Let’s look at some simple steps.


Hierarchy
This is level zero. By setting visual hierarchy, you are communicating to the end-user where to look first. The entire sequence, along the visual journey, has to be laid out first. For example: making an element bigger to draw the attention and set a focal point for the user. Hierarchy can also be set by using white space or bright colours to highlight crucial parts of your interface.

In Fig A, the design has all the information laid out for the user, but it’s set in no particular hierarchy, meaning there is no indication of what is important and what is less important, so a user can feel lost in the visual journey of what message the design actually intended to say.

      

Fig A                                                                                                                          Fig B

In Fig B, by using intentional white space, we bring the most important message to the fore – so what a user sees first is that the game night is between who, where and when, and everything else is kept secondary to it.

Keeping things simple and consistent
By keeping the elements in your design minimal, placing them in your layout will be easier to manage – making it easy for users to navigate through your design. Too many elements in one design can be off-putting and confusing to look at. Consistent use of elements is a better approach, that usually sets the users mind at peace – like the style of a button or the placement of a close button. In this way you are guiding the users on what to see first and where to click next. Interaction consistency is also as important as visual consistency. Always try to minimize the number of ‘clicks’ in your design – no one likes to engage in redundant clicks to get quick information.

In the examples below, the design on the right can be improved by simply reducing the number of clicks from 10 clicks to 5, by reducing redundancies in the information design.

Reducing redundancies in the information design.

 

Mind the space
Spacing is vital for great composition. Using whitespace and negative space correctly, plays a crucial role in your design. It is just like your living room, when you decide what to keep in a particular area and where to leave space – the same applies to your design also. For example, when there is only a line or two of text, try to put the text in the one-third

of your art-board either from top or bottom. If however, there is more text to work with try to group them and set the hierarchy by increasing or decreasing spacing between each group. By incorporating enough white space in your design, there will be sufficient breathing area for users to relax their eyes into.

White space is not just empty space. It’s about creating enough room for your text and design elements to co-exist.

 

Typography
Sensible use of typography can really enhance your design. Selecting the right typography involves certain decisions that include a choice of font family, weight & size, leading, tracking, kerning and scale. Avoid using too many fonts from different font families. Instead, use one or two font family and play around with font weight and size to find what works best for your design. Also remember, If no one can read the text on your design, it defeats the purpose of putting all that effort into your designs. Lastly, avoid using font colour which may clash with your background colour For example, ‘Red’ text on an Orange background, is an extreme choice.

 

Contrast
Emphasizing certain elements of your design is both visually appealing and functional. Finding the right color mix for temperature, saturation, hue, and intensity can help you set hierarchy for the elements you want to bring out in your design. However, contrast isn’t just a colour thing. It also involves shapes, edges, textures, scaling, and size. Albeit, like with almost any other design concept, it can be overdone. You should make sure that the contrast in your design isn’t so dramatic that it’s jarring unless that’s your specific intent.

 

Not a good way to use contrast

 

A more balanced contrast

 

Balance the Elements
This is where you draw the line between your design and your users. A design is not useful if it doesn’t solve a problem. Likewise, it is also not so useful if the user didn’t get the message right. Information is important to get across – it should have a higher priority in your design approach and draw the user’s attention first.

In the images below, the content is the same but what makes the right image better is the complete balancing of all the elements, relaxing the design using appropriate spacing and placement without overwhelming the user with all that textual information.

Making the right design choices for enhancing a user’s experience is all about creating a seamless link between the user and the applications they use. Every designer has their own style and while these design principles are important to consider – it’s more important to stay original and keep practicing.

Cancel

Knowledge thats worth delivered in your inbox

12 Tips To Secure Your Mobile Application

Cyber attacks and data theft have become so common these days especially when it comes to mobile applications. As a result, mobile apps that experience security breaches may suffer financial losses. With many hackers eyeing to steal customer data, securing these applications has become the number one priority for organizations and a serious challenge for developers. According to Gartner’s recent research, Hype Cycle for Application Security, investment in application security will increase by more than two-fold over the next few years, from $6 billion this year to $13.7 billion by 2026. Further, the report stated, “Application security is now top-of-mind for developers and security professionals, and the emphasis is now turning to apps hosted in public clouds,” It is crucial to get the fundamental components of DevOps security correct. Here are the 12 tips to secure your mobile application: 

1. Install apps from trusted sources:

It’s common to have Android applications republished on alternate markets or their APKs & IPAs made available for download. Both APK and IPA may be downloaded and installed from a variety of places, including websites, cloud services, drives, social media, and social networking. Only the Play Store and the App Store should be allowed to install trustworthy APK and IPA files. To prevent utilizing these apps, we should have a source check detection (Play Store or App Store) upon app start.

Also read, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Root Detection:

Android: An attacker could launch a mobile application on a rooted device and access the local memory or call specific activities or intents to perform malicious activities in the application. 

iOS: Applications on a jailbroken device run as root outside of the iOS sandbox. This can allow applications to access sensitive data stored in other apps or install malicious software negating sandboxing functionality. 

More on Root Detection- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Data Storing:

Developers use Shared Preferences & User Defaults to store key-value pairs like tokens, mobile numbers, email, boolean values, etc. Additionally, while creating apps, developers prefer SQLite databases for structured data. It is recommended to store any data in the format of encryption so that it is difficult to extract the information by hackers.

4. Secure Secret Keys:

API keys, passwords, and tokens shouldn’t be hardcoded in the code. It is recommended to use different techniques to store these values so that hackers cannot get away quickly by tampering with the application. 

Here’s a reference link: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Code Obfuscation

An attacker may decompile the APK file and extract the source code of the application. This may expose sensitive information stored in the source code of the application to the attacker which may be used to perform tailored attacks. 

It is better to obfuscate the source code to prevent all the sensitive information contained in the source code.

6. Secure Communication:

An attacker may perform malicious activities to leverage the level of attacks since all communication is happening over unencrypted channels. So always use HTTPS URLs over HTTP URLs.

7. SSL Pinning:

Certificate pinning allows mobile applications to restrict communication only to servers with a valid certificate matching the expected value (pin). Pinning ensures that no network data is compromised even if a user is tricked into installing a malicious root certificate on their mobile device. Any app that pins its certificates would thwart such phishing attempts by refusing to transmit data over a compromised connection

Please refer: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Secure API request & response data

The standard practice is to use HTTPS for the baseline protection of REST API calls. The information sent to the server or received from the server may be further encrypted with AES, etc. For example, if there are sensitive contents, you might choose to select those to encrypt so that even if the HTTPS is somehow broken or misconfigured, you have another layer of protection from your encryption.

9. Secure Mobile App Authentication:

In case an application does not assign distinct and complex session tokens after login to a user, an attacker can conduct phishing in order to lure the victim to use a custom-generated token provided by the attacker and easily bypass the login page with the captured session by using a MiTM attack.

i) Assign a distinct and complex session token to a user each time he/she logs on successfully to the application. 

ii) Terminate the session lifetime immediately after logging out. 

iii) Do not use the same session token for two or more IP addresses. 

iv) Limit the expiry time for every session token.

10.  Allow Backup 

Disallow users to back up an app if it contains sensitive data. Having access to backup files (i.e. when android:allowBackup=”true”), it is possible to modify/read the content of an app even on a non-rooted device. So it is recommended to make allow backup false. 

11. Restrict accessing android application screens from other apps

Ideally, your activities should not give any provision to the opening from other services or applications. Make it true only when you have a specific requirement to access your flutter screens from other apps otherwise change to android:exported= ”false”

12. Restrict installing packages from the android application

REQUEST_INSTALL_PACKAGES permission allows apps to install new packages on a user’s device. We are committed to preventing abuse on the Android platform and protecting users from apps that self-update using any method other than Google Play’s update mechanism or download harmful APKs.

Conclusion: 

Mobile Apps have become more personalized than ever before with heaps of customers’ personal data stored in them every day. In order to build trust and loyalty among users and prevent significant financial and credential losses for the companies, it is now crucial to make sure the application is secure for the user. Following the above-mentioned mobile app security checklists will definitely help to prevent hackers from hacking the app.

About the Author:

Raviteja Aketi is a Senior Software Engineer at Mantra Labs. He has extensive experience with B2B projects. Raviteja loves exploring new technologies, watching movies, and spending time with family and friends.

Read our latest blog: Implementing a Clean Architecture with Nest.JS

Cancel

Knowledge thats worth delivered in your inbox

Loading More Posts ...