Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Building Effective
Mobile Apps
Introduction
Mobile apps play a quintessential role in realizing the digital strategy for modern enterprises. It is
important to ensure that we adopt an effective strategy and ensure the best practices for designing,
building and deploying mobile apps. We should also ensure that mobile apps are usable by end users.
In this whitepaper, we discuss the best practices for building effective and usable mobile
apps.
AMindtreeWhitepaper
Key features of an effective mobile app
While there are millions of apps in various App Stores, users have only a day to use them. How do you
make sure that people use your app? How will you make sure that your app will not go unnoticed
– that your users are not using it or uninstalling after a few days of use?
On an average, users use about 30 apps in a month1
. Obviously, the top ranks in this list are occupied
by popular apps like Facebook, Twitter, Maps, Mail Apps and others. Hence, it is important for you to
make sure that your app appears in the remaining part of this list, or at least, say within a range of 100
frequently used apps. What are the factors that need to be considered so that the user base is high for
your app?
There is enough research data available on why a majority of the mobile apps fail2
. The objective of
this whitepaper is not to debate this, but primarily revolves around ensuring that an app does not fall
into the failure bracket.
There are three key aspects one has to consider in order to make users use any mobile app:
Makes users to install the
app by providing the
relevant, intuitive features
Make users to use the app
regularly through engaging
with them
Ensure users does not
uninstall the app after a few
days/months of use
Let us discuss these aspects in detail.
What makes users install your app?
There are millions of apps, with the number growing every day. For any given use case, there are many
apps already available in the store. One needs to ensure that key functionalities that a user may be
looking for are being provided. Let us look into a few aspects which could help add more users.
Do you really need to develop an app?
Before developing an app, it is important to think whether there already is another application to
address the problem statement. Not all use cases need to be in the form of mobile apps. We can
evaluate the web application along with mobile app and progressive web app to identify the right fit
framework. What are the added advantages you are providing than the (mobile) web?
A personalized user experience, high user engagement, ease of use, performance, convenience and
using mobile-native features (such as swipe, gesture, pinch, zoom, tap) are important features that
need to be incorporated. A fitment analysis can be done to ensure that the mobile app aligns with the
business strategy. Compare various app strategies such as native mobile app, hybrid mobile app and
web app and select the one that best suits the requirements.
Not too many apps
If you have other apps that provide similar or
relatedfeatures,tryenhancing theminsteadof
creating a new one. Do not have multiple apps
doing similar jobs. Your objective should be to
convince the user to install the app, rather than
confusing them with multiple options. Try to
provide more functionalities in one app rather
than doling out multiple apps for each
functionality. However, limit the number of
features in an app to a certain limit; otherwise
the app will become bulky – and this is the next
point you need to consider.
Right number of relevant
functionalities
Try to provide an optimal mix of relevant
functionalities in the app. Not too less, or, not
too many. If too less, the user may go for
another app/web which provides more
features. If too many, your app may create a
bulky super application, which takes a longer
time to download/install and also occupies a lot
of storage space in the mobile. If a user uses
only a few functionalities on a regular basis,
then there is no need to provide the rest of
them; you may simply redirect to a
(mobile-friendly) website instead.
For example, if the app is about buying and
renewing insurance policies, then a user may
not use it all the time. How many times in a
year or month people buy/renew policies?
Hence, it would be optimal to provide more
features related to insurance or safety aspects
like security alerts, travel advisories or severe
weather warnings. This information will help the
user plan better, and may help reduce insurance
claims as well. In essence, provide
functionalities that really solve the problems
that the user may be facing.
Provide only useful integrations
that make sense
Mobile phones provide the ability to integrate
your app with other applications and sensors
(mainly on Android devices). Some may like it,
and others may feel it as too intrusive or
annoying. If some integrations are good to
have, make them configurable. For example,
lock screen access.
Not everyone likes their lock screens displaying
irrelavant info. Make such features configurable,
and let the user decide to enable or disable
such features. In general, it would be a good
practice not to clutter the phone’s
status/notification area or lock screens unless
there is a huge value-add you are providing to
your users. There are many apps that provide
notifications for various purposes.
Hence, simply showing another notification
may not draw the attention of the user unless
they see value in it.
Screen shots
To market your app better, you can rely on the
screen shots space in app stores. Try to provide
more number of unique screen shots. By doing
this, you are not only conveying the various
functionalities of your app, but also giving the
user a feel of the user experience to decide on
whether to install it or not.
How to increase regular usage?
Once the user installs the app, it is imperative that they use it regularly. Why? As a service provider, it
is essential to engage with your users on a continued basis. It could be to improve your sales or
margins or simply keep your user base happy. It is important that your users should use your app
regularly. The term ‘regular’ used here is relative, and depends on the use case what you are
providing in the app. For example, a social networking app may be used on an hourly or daily basis,
and one week could be a long time of non-use for these apps. Whereas, an emergency alert or support
app may not be used at all, but still user may keep it installed in their smart phones. The other reason
being, there are tools available to identify and uninstall rarely used apps. The user tends to use such
tools often, especially when they run out of storage space or when their phone is cluttered with many
apps. You do not want to see your app on this list.
Some factors that will ensure regular usage are:
User experience is pivotal
Do not expect every user to know how to use the
app or work on complex or higly visual
navigation gestures. Apps should be simple and
intuitive to use. Follow guidelines and go with
the simple approach - make every functionality
easily accessible even for a novice. However, this
aspect depends on what user base you are
targeting; thus, there isn’t a single approach for
all apps.
You may want to consider easier navigation and
optimize the design for one-handed operations.
Haptic/visual feeback is essential for key user
actions, and show activity indicators when the
app is waiting for some response from a remote
system. An experienced user experience designer
would be able to provide all these best practices
pertaining to the domain and user base.
Use the screen real-estate
judicially
Cluttering too much information in a single
screen or small piece of information on an entire
screen creates bad user experience. A screen full
of unrelated information is also a bad idea. So, it
is essential to carefully decide what information
needs to be shown at what screen/instance, and
make it accessible to the user when they need it.
Provide importance to
performance, stability,
privacy and security
Slow and CPU-intensive operations may
make the user impatient. Ensure that the
main functionality of the mobile app
performs well. Wherever possible, provide
the offline capability to ensure smooth
transition. Never collect any data that is
not relevant. Even if collecting relevant
data, ask for user consent. Clearly indicate
why the data is collected and how it is
stored and protected.
In some countries, there are governing
laws that mandate user data protection,
and you must adhere to the local laws all
the time.
Timely notifications
Provide timely notifications. Do not annoy the
user with frequent rating/feedbacks,
notifications, ads/purchases, etc.
Personalization
Do not ask the user to login, unless you
are providing personalised content. If
the content can be provided without
login, it would be optimal.
Once the user logs in, we can provide
recommendations based on their
past actions.
By using analytics to understand user
behaviour and interests, personalized
push notifications can be sent based on
the user’s interest. Tracking users purely
from an analytics and data capture
perspective is not a good approach, and
may not be compliant with the app store
policies.
Regular fixes and updates
Provide regular updates and bug fixes. Provide
support for new OS releases and new
devices/phones without fail.
Accessibiity
If you are targeting special users who need
support with assistive technologies, that is an
important aspect to consider as well. We can
augment the traditional keyboard features with
voice assistance, text enlargement, visual cues,
documentation and others to make the
functionality more accessible. Provide details
about the privacy policy, and data usage and
data sharing policies and get explicit consent
from the user.
How to make sure the user does not
uninstall the app
We have listed a few patterns that can make the user uninstall the mobile app. These are aspects that
could be considered while designing mobile apps to avoid user uninstalls.
App is too intrusive
If the mobile app intrudes too much into the activities unrelated to its primary objective(s), it will end
up frustrating the user. For example, the app sends too many notifications, asks too many privacy
questions that are irrelevant, provides frequent advertisements and promotions etc.
Excessive resource consumption
Be conservative about the resource usage. A mobile phone is a computing system with limited resources
– storage, RAM, CPU power,storage and battery backup. There are specific tools available to find out
which app uses more storage or consumes a lot of battery prower. A frustrated user may uninstall the
app that cosumes a lot of system resources. Some of them could be excessive CPU/battery usage,
creating lot of junk/usage of storage, unnecessary notifications, to much nagging for in-app purchases,
installing other apps etc.
Always running in the background
Ensure that the app is not always running in the background. There are tools available which can
identify this, and kill the app. The user may uninstall if your app runs frequently for no reason.
Asking too many permissions
Do not ask for permissions which are not required for the given functionalities of the app. For example,
a claims reimbursement app asking for the geolocation access (may be for sending promotional offers).
Geolocation may not be required for submitting and claiming the reimbursements.
Conclusion
While the success of a mobile app will depend on various factors depending on the type of the app, targeted users
and the business case in particular, the above mentioned aspects are common across most apps. Hence, it would be
pertinent to consider them during the conceptualization and development stages. One should primarily be mindful
about the end users with respect to value additions for them. Probably, a design thinking exercise from their
perspective would help before starting to develop the app. We hope the above mentioned points act as general best
practices and thumbrules, which can be used for most mobile app development services or re-write initiatives.
References
1. https://buildfire.com/app-statistics/
2. https://www.fyresite.com/how-many-apps-fail/
About the authors
Jayanthraja
Patla
Program Architect
Dr. Shailesh Kumar
Shivakumar
Solution Architect
Jayantharaja Patla is a Program Architect, leads the Mobile
Applications Center of Excellence (CoE) at Mindtree, comes
with over 23 years of IT experience. He has vast industry
experience including the Mobile Apps Development, Mobile
Phone Software development, and Embedded Systems
Development. He has actively contributed to build the
National Occupation Standards on Web and Mobile
Development for the National Skills Development
Corporation, in collaboration with NASSCOM. He is also a
member of the Technical Sub-committee at C-DAC Mohali,
and designed a course on iOS App development for C-DAC. He
has published one research paper and submitted one Patent.
He has successfully architected several digital-mobility
engagements for various clients in different industry domains
across the globe. He can be reached at
Jayantharaja.patla@mindtree.com
Dr. Shailesh Kumar Shivakumar has 19+ years of experience
in a wide spectrum of digital technologies including,
enterprise portals, content management systems, lean portals
and microservices. Dr. Shailesh holds a PhD degree in
computer science and has authored eight technical books
published by the world’s top academic publishers such as
Elsevier Science, Taylor and Franscis, Wiley/IEEE Press and
Apress. Dr. Shailesh has authored more than 14 technical
white papers, five blogs, twelve textbook chapters for various
under-graduate and post graduate programs and has
contributed multiple articles. He has published 20+ research
papers in reputed international journals. Dr. Shailesh holds
two granted US patents, apart from ten patent applications.
Dr. Shailesh has presented multiple research papers in
international conferences. Dr. Shailesh’s Google Knowledge
Graph can be accessed at https://g.co/kgs/4YoaiN . He has
successfully led several large scale digital engagements for
Fortune 500 clients. Shailesh can be reached at
Shaileshkumar.Shivakumarasetty@mindtree.com
About Mindtree
Mindtree [NSE: MINDTREE] is a global technology consulting and services company, helping enterprises
marry scale with agility to achieve competitive advantage. “Born digital,” in 1999 and now a Larsen &
Toubro Group Company, Mindtree applies its deep domain knowledge to 260 enterprise client
engagements to break down silos, make sense of digital complexity and bring new initiatives to market
faster. We enable IT to move at the speed of business, leveraging emerging technologies and the
efficiencies of Continuous Delivery to spur business innovation. Operating in 24 countries across the
world, we’re consistently regarded as one of the best places to work, embodied every day by our winning
culture made up of over 27,000 entrepreneurial, collaborative and dedicated “Mindtree Minds.”

More Related Content

Mobile App Development Services | Mindtree

  • 1. Building Effective Mobile Apps Introduction Mobile apps play a quintessential role in realizing the digital strategy for modern enterprises. It is important to ensure that we adopt an effective strategy and ensure the best practices for designing, building and deploying mobile apps. We should also ensure that mobile apps are usable by end users. In this whitepaper, we discuss the best practices for building effective and usable mobile apps. AMindtreeWhitepaper
  • 2. Key features of an effective mobile app While there are millions of apps in various App Stores, users have only a day to use them. How do you make sure that people use your app? How will you make sure that your app will not go unnoticed – that your users are not using it or uninstalling after a few days of use? On an average, users use about 30 apps in a month1 . Obviously, the top ranks in this list are occupied by popular apps like Facebook, Twitter, Maps, Mail Apps and others. Hence, it is important for you to make sure that your app appears in the remaining part of this list, or at least, say within a range of 100 frequently used apps. What are the factors that need to be considered so that the user base is high for your app? There is enough research data available on why a majority of the mobile apps fail2 . The objective of this whitepaper is not to debate this, but primarily revolves around ensuring that an app does not fall into the failure bracket. There are three key aspects one has to consider in order to make users use any mobile app: Makes users to install the app by providing the relevant, intuitive features Make users to use the app regularly through engaging with them Ensure users does not uninstall the app after a few days/months of use Let us discuss these aspects in detail. What makes users install your app? There are millions of apps, with the number growing every day. For any given use case, there are many apps already available in the store. One needs to ensure that key functionalities that a user may be looking for are being provided. Let us look into a few aspects which could help add more users. Do you really need to develop an app? Before developing an app, it is important to think whether there already is another application to address the problem statement. Not all use cases need to be in the form of mobile apps. We can evaluate the web application along with mobile app and progressive web app to identify the right fit framework. What are the added advantages you are providing than the (mobile) web? A personalized user experience, high user engagement, ease of use, performance, convenience and using mobile-native features (such as swipe, gesture, pinch, zoom, tap) are important features that need to be incorporated. A fitment analysis can be done to ensure that the mobile app aligns with the
  • 3. business strategy. Compare various app strategies such as native mobile app, hybrid mobile app and web app and select the one that best suits the requirements.
  • 4. Not too many apps If you have other apps that provide similar or relatedfeatures,tryenhancing theminsteadof creating a new one. Do not have multiple apps doing similar jobs. Your objective should be to convince the user to install the app, rather than confusing them with multiple options. Try to provide more functionalities in one app rather than doling out multiple apps for each functionality. However, limit the number of features in an app to a certain limit; otherwise the app will become bulky – and this is the next point you need to consider. Right number of relevant functionalities Try to provide an optimal mix of relevant functionalities in the app. Not too less, or, not too many. If too less, the user may go for another app/web which provides more features. If too many, your app may create a bulky super application, which takes a longer time to download/install and also occupies a lot of storage space in the mobile. If a user uses only a few functionalities on a regular basis, then there is no need to provide the rest of them; you may simply redirect to a (mobile-friendly) website instead. For example, if the app is about buying and renewing insurance policies, then a user may not use it all the time. How many times in a year or month people buy/renew policies? Hence, it would be optimal to provide more features related to insurance or safety aspects like security alerts, travel advisories or severe weather warnings. This information will help the user plan better, and may help reduce insurance claims as well. In essence, provide functionalities that really solve the problems that the user may be facing. Provide only useful integrations that make sense Mobile phones provide the ability to integrate your app with other applications and sensors (mainly on Android devices). Some may like it, and others may feel it as too intrusive or annoying. If some integrations are good to have, make them configurable. For example, lock screen access. Not everyone likes their lock screens displaying irrelavant info. Make such features configurable, and let the user decide to enable or disable such features. In general, it would be a good practice not to clutter the phone’s status/notification area or lock screens unless there is a huge value-add you are providing to your users. There are many apps that provide notifications for various purposes. Hence, simply showing another notification may not draw the attention of the user unless they see value in it. Screen shots To market your app better, you can rely on the screen shots space in app stores. Try to provide more number of unique screen shots. By doing this, you are not only conveying the various functionalities of your app, but also giving the user a feel of the user experience to decide on whether to install it or not.
  • 5. How to increase regular usage? Once the user installs the app, it is imperative that they use it regularly. Why? As a service provider, it is essential to engage with your users on a continued basis. It could be to improve your sales or margins or simply keep your user base happy. It is important that your users should use your app regularly. The term ‘regular’ used here is relative, and depends on the use case what you are providing in the app. For example, a social networking app may be used on an hourly or daily basis, and one week could be a long time of non-use for these apps. Whereas, an emergency alert or support app may not be used at all, but still user may keep it installed in their smart phones. The other reason being, there are tools available to identify and uninstall rarely used apps. The user tends to use such tools often, especially when they run out of storage space or when their phone is cluttered with many apps. You do not want to see your app on this list. Some factors that will ensure regular usage are: User experience is pivotal Do not expect every user to know how to use the app or work on complex or higly visual navigation gestures. Apps should be simple and intuitive to use. Follow guidelines and go with the simple approach - make every functionality easily accessible even for a novice. However, this aspect depends on what user base you are targeting; thus, there isn’t a single approach for all apps. You may want to consider easier navigation and optimize the design for one-handed operations. Haptic/visual feeback is essential for key user actions, and show activity indicators when the app is waiting for some response from a remote system. An experienced user experience designer would be able to provide all these best practices pertaining to the domain and user base. Use the screen real-estate judicially Cluttering too much information in a single screen or small piece of information on an entire screen creates bad user experience. A screen full of unrelated information is also a bad idea. So, it is essential to carefully decide what information needs to be shown at what screen/instance, and make it accessible to the user when they need it.
  • 6. Provide importance to performance, stability, privacy and security Slow and CPU-intensive operations may make the user impatient. Ensure that the main functionality of the mobile app performs well. Wherever possible, provide the offline capability to ensure smooth transition. Never collect any data that is not relevant. Even if collecting relevant data, ask for user consent. Clearly indicate why the data is collected and how it is stored and protected. In some countries, there are governing laws that mandate user data protection, and you must adhere to the local laws all the time. Timely notifications Provide timely notifications. Do not annoy the user with frequent rating/feedbacks, notifications, ads/purchases, etc. Personalization Do not ask the user to login, unless you are providing personalised content. If the content can be provided without login, it would be optimal. Once the user logs in, we can provide recommendations based on their past actions. By using analytics to understand user behaviour and interests, personalized push notifications can be sent based on the user’s interest. Tracking users purely from an analytics and data capture perspective is not a good approach, and may not be compliant with the app store policies.
  • 7. Regular fixes and updates Provide regular updates and bug fixes. Provide support for new OS releases and new devices/phones without fail. Accessibiity If you are targeting special users who need support with assistive technologies, that is an important aspect to consider as well. We can augment the traditional keyboard features with voice assistance, text enlargement, visual cues, documentation and others to make the functionality more accessible. Provide details about the privacy policy, and data usage and data sharing policies and get explicit consent from the user. How to make sure the user does not uninstall the app We have listed a few patterns that can make the user uninstall the mobile app. These are aspects that could be considered while designing mobile apps to avoid user uninstalls. App is too intrusive If the mobile app intrudes too much into the activities unrelated to its primary objective(s), it will end up frustrating the user. For example, the app sends too many notifications, asks too many privacy questions that are irrelevant, provides frequent advertisements and promotions etc. Excessive resource consumption Be conservative about the resource usage. A mobile phone is a computing system with limited resources – storage, RAM, CPU power,storage and battery backup. There are specific tools available to find out which app uses more storage or consumes a lot of battery prower. A frustrated user may uninstall the app that cosumes a lot of system resources. Some of them could be excessive CPU/battery usage, creating lot of junk/usage of storage, unnecessary notifications, to much nagging for in-app purchases, installing other apps etc. Always running in the background Ensure that the app is not always running in the background. There are tools available which can identify this, and kill the app. The user may uninstall if your app runs frequently for no reason. Asking too many permissions Do not ask for permissions which are not required for the given functionalities of the app. For example, a claims reimbursement app asking for the geolocation access (may be for sending promotional offers).
  • 8. Geolocation may not be required for submitting and claiming the reimbursements.
  • 9. Conclusion While the success of a mobile app will depend on various factors depending on the type of the app, targeted users and the business case in particular, the above mentioned aspects are common across most apps. Hence, it would be pertinent to consider them during the conceptualization and development stages. One should primarily be mindful about the end users with respect to value additions for them. Probably, a design thinking exercise from their perspective would help before starting to develop the app. We hope the above mentioned points act as general best practices and thumbrules, which can be used for most mobile app development services or re-write initiatives. References 1. https://buildfire.com/app-statistics/ 2. https://www.fyresite.com/how-many-apps-fail/ About the authors Jayanthraja Patla Program Architect Dr. Shailesh Kumar Shivakumar Solution Architect Jayantharaja Patla is a Program Architect, leads the Mobile Applications Center of Excellence (CoE) at Mindtree, comes with over 23 years of IT experience. He has vast industry experience including the Mobile Apps Development, Mobile Phone Software development, and Embedded Systems Development. He has actively contributed to build the National Occupation Standards on Web and Mobile Development for the National Skills Development Corporation, in collaboration with NASSCOM. He is also a member of the Technical Sub-committee at C-DAC Mohali, and designed a course on iOS App development for C-DAC. He has published one research paper and submitted one Patent. He has successfully architected several digital-mobility engagements for various clients in different industry domains across the globe. He can be reached at Jayantharaja.patla@mindtree.com Dr. Shailesh Kumar Shivakumar has 19+ years of experience in a wide spectrum of digital technologies including, enterprise portals, content management systems, lean portals and microservices. Dr. Shailesh holds a PhD degree in computer science and has authored eight technical books published by the world’s top academic publishers such as Elsevier Science, Taylor and Franscis, Wiley/IEEE Press and Apress. Dr. Shailesh has authored more than 14 technical white papers, five blogs, twelve textbook chapters for various under-graduate and post graduate programs and has contributed multiple articles. He has published 20+ research papers in reputed international journals. Dr. Shailesh holds two granted US patents, apart from ten patent applications. Dr. Shailesh has presented multiple research papers in international conferences. Dr. Shailesh’s Google Knowledge Graph can be accessed at https://g.co/kgs/4YoaiN . He has successfully led several large scale digital engagements for Fortune 500 clients. Shailesh can be reached at Shaileshkumar.Shivakumarasetty@mindtree.com
  • 10. About Mindtree Mindtree [NSE: MINDTREE] is a global technology consulting and services company, helping enterprises marry scale with agility to achieve competitive advantage. “Born digital,” in 1999 and now a Larsen & Toubro Group Company, Mindtree applies its deep domain knowledge to 260 enterprise client engagements to break down silos, make sense of digital complexity and bring new initiatives to market faster. We enable IT to move at the speed of business, leveraging emerging technologies and the
  • 11. efficiencies of Continuous Delivery to spur business innovation. Operating in 24 countries across the world, we’re consistently regarded as one of the best places to work, embodied every day by our winning culture made up of over 27,000 entrepreneurial, collaborative and dedicated “Mindtree Minds.”