Chapter 2
Chapter 2
Factors in Developing
Mobile
Applications
Two Development
Contents
Explain Mobile Software Engineering
Android User
Chapter Mobile Application 2
Two Development
Mobile Software Engineering
MSWE is the adaptive process of creating a software product that is intended to be used by
people
By this, the process must take into account the specific characteristics of mobile usage
to deliver
software for small, wireless computing devices, such as smartphones and other hand-held
devices.
Chapter It’s Mobile
the process
Applicationof making software for smartphones, tablets and digital
3
Two Development
1. Strategy
The first step of the mobile app development process is to produce a strategy to determine
how your
should help you address “why” for your mobile development initiatives. It helps focus your
of your app In this phase, you will:
vision
idea. on a clear picture
Define your app’s purpose
Identify your app’s audience
Research the competition
Establish the app’s goals and
objectives
Chapter Mobile Application 5
Two Development
2. Analysis and Planning
At this stage, your app idea starts taking shape and turns into an actual project.
Analysis and planning begin with defining use cases and capturing detailed functional
requirements.
After you have identified the requirements for your app, prepare a product roadmap.
This includes prioritizing mobile app requirements and grouping them into delivery
milestones.
Part of the planning phase of developing an app includes identifying the skills needed
for your
app development initiative. For example, iOS and Android mobile platforms use
different
Have you selected the name of your app? Mobile app names are like domain names
Chapter
and must Mobile Application
6
Two Development
be unique within each app store. Research each app store to ensure your app’s name
3. UI / UX Design
The purpose of an app design is to deliver seamless and effortless user experiences
with a polished look. The success of your mobile app will depend on how well users
making your app interactive, intuitive, and user-friendly. While polished UI designs will
help with early adoption, your app must have intuitive user experiences to keep app
users engaged.
Mobile app designers often start app design with sketches on paper.
Wireframes are the digital form of sketches. Wireframes are conceptual layouts – also
referred to as low-fidelity mockups – that give visual structure to your app’s functional
requirements 7
Creating wireframes is a quick and cost-effective approach to mobile app design. While
Style guides document your app’s
design standards, including the
color scheme, typefaces, and
graphics, according to your
company’s branding guidelines.
Mockups, or high-fidelity designs,
are the final renderings of your
app’s visual design. Mockups are
created by applying your style
guide on to the app wireframes. As
your app’s design begins to finalize,
expect further modifications to its
information architecture, workflow
and aesthetics. Wireframes are low-fidelity structural blueprints,
Interactive Prototype - simulate mockups are high-fidelity static representations of
the user experience and visual design, and prototypes are clickable, interactive
simulations of the final product
demonstrate how the app will
work as the finished
Chapter product.
Mobile Application 8
Two Development
4: App Development
Now that the design phase is complete, it’s time to move on to one of the most
important stages of your mobile app development process. Typically, it’s made up of two
main parts backend and frontend.
The backend involves creating databases and server-side objects that are
responsible for your app performance.
Choose appropriate programming languages and begin coding the app.
Additionally, database engines and a hosting environment will be selected.
It’s crucialand determines the scalability of your mobile app in the future.
The front-end is the native mobile app an end-user installs and interacts with
on their mobile devices. There are three main approaches to building it.
Platform-specific- created exclusively for each mobile platform.
Cross-platform- run on different platforms with one single codebase.
Hybrid- contain elements of both platform-specific apps and web
applications.
Two Development
5: Mobile App Testing
After all, you want to make sure the developed solution is stable, secure, and doesn’t
have any bugs. For the highest quality delivery, your app should undergo five
testing methods prior to deployment.
To release your native mobile app you must submit it to the appropriate app store,
Apple App Store for iOS apps and Google Play for Android apps. Once your app is
finally live and users are steadily downloading it — it’s time to get your analytical hat
Though Google Play Store and Apple App Store serve the same function, they have
different guidelines. You can view the description, icon, logo, screenshots or
image gallery, and a snippet or a trailer of the app on both platforms. However,
there are few elements that differentiate one from the other.
2. Audience Research - For your idea to become successful, you must first conduct audience
research.
Knowing audience involves understanding the industry and getting in-depth knowledge
about the people that might take an interest in apps. It is important because users tend
to be diverse.
Chapter You
Mobile must track
Application the demographics of the users of your app. 1
2
Two Development
Cont…
3. App Idea - you must first examine your idea before you can begin working
on it.
It must first check if the design is unique or not. Besides being unique, your app
idea must satisfy a need. Most of all, you must be able to differentiate your idea
from what’s already available on the platforms. It must also be able to resolve the
4. App Development Strategy - To properly execute your app idea, you must come with a
plan.
In this case, you must have a solid app development strategy. A cohesive strategy
answers all the questions you have towards the app development process. It
clarifies how much of the design work you will undertake for the app development.
Part of your app development strategy must include the strengths and
Chapter Mobile Application 1
3
Two Development
weaknesses of each mobile device.
Cont…
[Link]/UX - User interface (UI) and user experience (UX) are part of what keeps
users
hooked on an app.
Users prefer apps that are “handier” compared to those that require too much effort to
operate. For example, an app with low-res images, slow loading times, broken sign up/ login
functionality and app navigation, and poor connectivity to social profiles are all signs of poor
inappropriate spaces, and mismatch fonts types and size are some of the factors you should
6. Testing - Developing and designing your mobile app idea is only half of the job in your
mobile app development journey. It’s a way to secure that your mobile app has no exceptions and
bugs. If you launch your app without testing it, you can run into problems that can spark fires that are
Chapter Mobile Application 1
difficult
Two to put out.
Development
4
Cont…
7. Security - Security must be part of your app development
process.
Users should not have to think of the threat of malware when they use your app. Thus, you
should leverage the security features of the device’s OS. You can also keep the user’s
You should also restrict your app’s permissions to a minimum. Always prioritize security to
ensure
your app isn’t vulnerable to external threats.
8. Monitoring - You still have work to do after you publish your mobile app. You must be hands-on
with
As a developer, you must track crashes and look at technical information to help you resolve
the problems users encounter. You can also check into analytics as well as
Chapter Mobile Application 1
Two
recommendations
Development
and reviews by users to see how well the market responds to your app.
5
Main considerations for mobile app design
Intended utility of the mobile app- Consumer engagement with richer user
through user stickiness. Customer conversion. User loyalty through targeted and
personalized offers
Performance for each screen and task, Security for data, Productivity enhancement
tools.
Target users - Consumers for B2C apps, Business for Business to Business
(B2B) apps, Partners for Business to Partners (B2P) apps and Employees for
Security: Mobile app should ensure data security during transmission and during
storage.
Network: Mobile app should be designed to work in regions with network, latency
and
bandwidth challenges.
Compliance
Chapter
to diverse standards, OS, mobile platforms and devices.
Mobile Application 1
8
Two Development
Frameworks and Tools
A mobile development framework is a software framework that is designed to
support mobile app development. It is a software library that provides a
environment.
Generally,….
toolbox that simplifies and speeds up the process of building mobile apps by
Road Studios.
Chapter Mobile Application 2
2
Two Development
2. React Native
React Native is an open-source UI software framework created by Meta Platforms, Inc. It
used to build applications that run on both iOS and Android devices (that is,
cross-platform mobile applications) React uses HTML, CSS and JavaScript to create
React Native, on the other hand, uses native UI components and APIs to create
mobile apps. Mobile apps of top brands such as Tesla, Airbnb, Skype, and
Amazon Prime are the best examples of React Native apps.
Faster development and deployment are the primary reasons behind the universal
popularity of React Native. Other notable features of React Native include
GUI development
Chapter for front-end
Mobile Application applications. 2
3
Two Development
3. Ionic framework
Ionic is an open-source framework built with Apache Cordova (PhoneGap) and
Angular,
allowing developers to build Android and iOS apps for seamless mobile
performance.
The framework helps the developers build robust and feature-rich native
applications.
Ionic Mobile
Chapter is a complete
Application framework that enables developers to build 2
4
Two Development
Progressive Web Apps (PWAs), hybrid and cross-platform mobile applications.
4. Xamarin
and high- performance Android, iOS, macOS, tvOS, and watchOS apps
rule, it uses JavaScript and CSS to render the UIs and ensure native-
like experience. NativeScript attracts users with its customized tech stack that
This open-source framework is preferred to reduce the time and code of the app
loads. Leading companies prefer Native Scripts because it has features like
appropriate backend
support, business support, complete access to iOS APIs and Android, cross-
platform
Chapter Mobile Application 2
6
Two Development
application, and a native user interface without web views.
6. Apache Cordova
Apache Cordova is a framework for building mobile apps with HTML, CSS, and
JavaScript. You can target multiple platforms with one code base. It’s an
up, allows you access to device features through plugins and the app
friendly.
Cordova plugins enable the developers to access device hardware capabilities such
apps with native look and feel. It is also an indispensable prototyping tool to
show working app prototype as soon as possible in case you need to.
It allows the developers to build Android, iOS, and desktop apps with a native-like look
and
feel using popular web technologies such as HTML5, JavaScript, and CSS3.
Framework7 provides additional support for [Link], React, and Svelte. Another
as an action sheet, list view, popup, side panels, layout grid, and more. Framework7
makes
Chapter
the development process easy, convenient, and fast.
Mobile Application 2
8
Two Development
8. JQuery Mobile
JQuery Mobile is a user interface framework, which is built on jQuery Core and
It’s a hybrid mobile app development framework that helps build platform-
independent apps. The framework uses JavaScript library and HTML to build
offer highly customizable themes for mobile apps and web applications. JQuery
Mobile comes in two variants, namely, a customized framework and a stable version.
Chapter Mobile Application 2
9
Two Development
9. Sencha Ext JS
Sencha Ext JS is a modern web and mobile app development framework for
of user extensions and tools, including, but not limited to, forms, lists, HTML5
calendars, grids, menus, and toolbars. One of the most useful tools this application
market by allowing developers to create HTML5 applications using its ‘drag and
drop’ features.
Chapter Mobile Application 3
0
Two Development
10. Onsen UI
Onsen UI is an open-source UI framework that makes it easy to create native-
feeling Progressive Web Apps (PWAs) and hybrid apps. It allows developers to create
apps using Web technologies like CSS, HTML5, and JavaScript. Onsen UI is: a large
complex web applications that deliver native-like experiences across platforms with
[Link] Created by: Google •Enables fast app development •Lacks integration of advanced features
App Examples: Reflectly, Google Ads •Support flexible UI (user interface) •Are large apps that require more time
Open-source, and Uses a single codebase •Hot reload option is available to download the app
Written in C, C++, Dart •Dart is new for developers
[Link] Created by: Drifty Co. •Provides intuitive interface •Performance lag on heavy applications
App Examples: Instant Pot, MarketWatch •Is cheaper to develop •Hot reloading feature is missing
Written in JavaScript •Allows faster prototype •Might face surety issues
Helps develop cross-platform, hybrid, and PWA apps development
[Link] Created by: Microsoft App Examples: Azure, •Provides multiple library support •Compatibility issueswith third-party
Alaska Airlines •Hassle-free API integration libraries and tools
Based on .Net, c# and Open-source framework •Works well for offline apps •Offers limited access to open-
Helps develop applications for Android, iOS. source libraries
•App size is somewhat large
[Link] Cordova Created by: Adobe App Examples: •Supports for offline apps •Does not suit hardware-reliant apps
Wikipedia, Health Tap •Allows access to native device •Hybrid apps are slower
Open-source and Written in C#, C++, CSS, HTML, APIs •Plugins might not perform as per
Java, JavaScript, and Objective-C •Allows code reusability expectations
User Interface (UI) design focuses on thinking of a user, what they might need to do
when they visit website and ensure that the interface has elements that are easy to
access and understand. Being a UI designer, one need to understand the goals, skills,
The Generic User Interface (Generic UI, GUI) framework allows you to create UI screens
using Java/Kotlin and XML. XML is optional but it provides a declarative approach to
the screen layout and reduces the amount of code which is required for building the
Chapter Mobile Application 3
user interface.
Two Development
3
Android is the most popular operating system in the world, with over 3.3 billion active
users spanning over 190 countries. Created by Andy Rubin as the open-source
alternative to iPhone and Palm OS, Android quickly became the favorite operating
system for most mobile manufacturers in the early 2010s. With titans of the
industry such as Samsung, LG, Motorola and HTC all launching phones running
Android, it quickly became the most popular mobile OS, hitting over one billion active
users by 2014.
Android has added more users every year since inception. Even though in more
mature markets user growth has stagnated, Android has continued to grow at a
Indonesia, Turkey and Vietnam, Android has over 85 percent market share.
Chapter Mobile Application 3
4
Two Development
Cont..
User interface (UI) design is the process designers use to build interfaces in software
or
computerized devices, focusing on looks or style.
Designers aim to create interfaces which users find easy to use and pleasurable. UI design
refers to
graphical user interfaces and other forms—e.g., voice-controlled interfaces.
Chapter Mobile Application 3
5
Two Development
Cont..
User interfaces are the access points where users interact with designs. They come
in three
formats:
Graphical user interfaces (GUIs) - Users interact with visual representations on digital
control
Voice-controlled interfaces (VUIs) - Users interact with these through their voices. Most
smart assistants—e.g., Siri on iPhone and Alexa on Amazon devices—are VUIs.
Gesture-based interfaces - Users engage with 3D design spaces through bodily
motions:
Chapter Mobile Application 3
6
Two Development
e.g., in virtual reality (VR) games.
Cont..
Efficiency for inputting information; how fast information can be input through
Efficiency for outputting information; how fast the user can process the information
tool for enhancing traditional touch user interfaces into multimodal voice user
interfaces.
Voice user interfaces are highly intuitive as they use the most natural
way for us to communicate, speech. They are significantly faster than typing
output
Chapter information from the computer system back to the user.
Mobile Application 3
8
Two Development
Cont..
The first voice user interfaces were IVR, Interactive Voice Response, systems that
enabled users to interact with a phone system by using speech. Typically,
IVRs recognized only digits, but nonetheless they were early voice user interfaces.
The first applications of voice UIs were interactive voice response (IVR) systems that
came into existence already back in the 80s. These were systems that understood simple
commands through a telephone call and were used to improve efficiency in call centers.
Chapter Mobile Application 3
9
Two Development
Cont..
Current voice user interfaces can be a lot smarter and can understand complex
For example, Google Assistant is perfectly fine with something like “Turn off
However, as these smart speakers always wait until the end of the user
utterance and only then process the information and act accordingly, they will fail if
For instance, you can try something like “Turn off the kitchen light, turn on the living
room
TV, turn
Chapter onMobile
the bedroom
Applicationand terrace lights and turn off the radio in the kitchen.” 4
0
Two Development
2.7. Designing the Right UI
In mobile app development, the UI (user interface) and UX (user experience) play
the most significant roles in a mobile app’s success. From the perspective of a designer,
an exceptional UI for mobile app can only be ensured when you follow some tried
and tested UI design principles. It is always advisable to stick to certain principles that
The UI principles:
1. Consistency of the design layout: Different sections of the app must be coherent in the
design, and there must be a consistent flow of the layout throughout the app. Apps like
Evernote, Netflix, and Dropbox deliver great consistency in their design layout. This
also applies to the common features of the apps built for the same OS.
must be clearly depicted. Ambiguity should be avoided to make sure that the users are
going to access such elements when required by them. Options hidden in menus may
sometime be forgotten. Several surveys and studies have revealed that conspicuous
menu options are not good for mobile apps. At least, the key navigation elements must be
visible.
[Link] Trial Learning Experience: The term ‘Intuitive’ is often used to describe mobile
apps when suggesting that they are very user-friendly. Actually, this word means that
users understand the flow of the app without remembering the steps. Options should be
placed in a manner where users can infer what the next step would be.
Chapter Mobile Application 4
2
Two Development
UI principles
[Link] and Answer Users’ Queries: When a user’s tap a button, they want to know
whether the process has started and how long will it take. As technology abstracts
these actions, the users are usually kept in the dark while the process is going on. Use
Toast in Android and notifications in iOS so users will be notified when a process has
completed. The Gmail app is a good example of such a design, as it displays messages
like “saved in draft, message sent, etc.” to inform the users about the completion of the task.
[Link] User Experience: The UX should be layered. Layered here refers that all the
features of an app must not be exposed at once. It should surface out as the users
delve deeper into the app and discover new things. This would help in keeping the
users’ interest intact for a longer time. WhatsApp offers a good layered experience as
Make sure similar items are grouped together and users won’t spend
tons of time trying to find what they need. You also need to keep
in mind that the number of features and sections should not
overwhelm the user, so be ready to sacrifice some less relevant
features.
Chapter Mobile Application 4
5
Two Development
Cont..
[Link]
Some apps can be used only on the go, others can be used in a relaxed
atmosphere, and some
apps can be used in both situations.
Make sure your app allows users to undo certain actions and there are
notifications showing
that some changes will be made and can be undone.
If there are several elements serving one and the same purpose in the app,
they should look and function the same way. No exceptions. Changing one
element means changing all other variants. If there are several styles of
“submit” buttons on different pages, it can be frustrating, and the app would
look messy.