Chapter 2
Chapter 2
Android User
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 2
Mobile Software Engineering
MSWE is the adaptive process of creating a software product that is intended to be used by people
while they are mobile.
By this, the process must take into account the specific characteristics of mobile usage to deliver
the required quality.
Mobile application development is the set of processes and procedures involved in writing
software for small, wireless computing devices, such as smartphones and other hand-held devices.
It’s the process of making software for smartphones, tablets and digital assistants, most
commonly for the Android and iOS operating systems.
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. You
must track the demographics of the users of your app.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 12
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 weaknesses of the existing
competitive apps.
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 weaknesses of each mobile device.
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 UI/UX. Unnecessary micro-
interactions, lags or unresponsive clickable elements, inappropriate spaces, and mismatch fonts types
and size are some of the factors you should watch out for when developing your app.
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 difficult to put out.
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 information safe
through encryption.
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
fixes, performance improvements, changes, and integrating new features.
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 recommendations and reviews
by users to see how well the market responds to your app.
Intended utility of the mobile app- Consumer engagement with richer user experience.
Productivity through efficient flows. Driving incremental revenue through user stickiness.
Customer conversion. User loyalty through targeted and personalized offers
App Architecture- Native vs hybrid vs web based on the requirements. Middleware requirement
for centralized configuration. Offline vs online capability for storing data
Target users - Consumers for B2C apps, Business for Business to Business (B2B) apps,
Partners for B2B apps and Employees for Business to Employee (B2E) apps.
Security: Mobile app should ensure data security during transmission and during storage.
User experience: Mobile app should provide optimal user experience leveraging the
device capabilities to provide highest engagement possible.
Network: Mobile app should be designed to work in regions with network, latency and
bandwidth challenges.
Platforms- In the field of mobile applications, we primarily develop apps and programs
for the following platforms:
iOS
Android
It is a revolutionary SDK for cross-platform app development that stands out as it uses a
unique approach for delivering apps with a native-like look and feel.
Flutter is a complete framework that includes widgets, a rendering engine, testing and
integrating APIs and tools to help developers build and deploy aesthetically pleasing
mobile apps.
Examples of apps built using Flutter development include Google, Alibaba, and Abbey
Road Studios.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 21
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 interactive user interfaces.
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 reusable components,
integration with third-party plugins, and component-based GUI development for front-end
applications.
The framework helps the developers build robust and feature-rich native applications.
Ionic’s most significant advantage is that it allows the developers to use several UI
elements, such as filters, forms, views, navigation menus, and action sheets, in the
application design.
The framework empowers businesses to provide native performance and unique user
experiences to end-users. In Xamarin, an abstraction layer controls the communication
between the underlying platform and shared code.
The framework allows the developers to build an ecosystem with APIs, back-end,
components, etc., using tools, libraries, and programming languages supported by an
active community.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 24
5. Native Script
NativeScript is an open-source framework for building native mobile apps. As a rule, it
uses JavaScript and CSS to render the UIs and ensure native-like experience.
NativeScript attracts users with its customized tech stack that may work with Angular,
Vue. js, or TypeScript.
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
application, and a native user interface without web views.
Cordova plugins enable the developers to access device hardware capabilities such as GPS,
camera, and accelerometer to deliver a native-like app experience. Apache Cordova’s
notable features include a faster development process with a single codebase and third-party
app management tools.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 26
7. Framework7
Framework7 - is a free and open source framework to develop mobile, desktop or web 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 Vue.js, React, and Svelte. Another attractive
feature of Framework7 is its stunning UI elements, including features such as an action sheet,
list view, popup, side panels, layout grid, and more. Framework7 makes the development
process easy, convenient, and fast.
It’s a hybrid mobile app development framework that helps build platform-independent apps.
The framework uses JavaScript library and HTML to build responsive websites on various
devices such as smartphones, tablets, and desktops.
JQuery leverages the HTML5-based framework and the ThemeRoller to 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 Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 28
9. Sencha Ext JS
Sencha Ext JS is a modern web and mobile app development framework for creating
extremely fluid, cross-platform applications. It’s the most comprehensive JavaScript
framework and is preferred by the development community to accelerate the development
of data-intensive HTML5 applications.
Developers get access to over 140 pre-integrated UI components and an array 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 development framework
provides is ‘Sencha Architect’, which reduces time to market by allowing developers to
create HTML5 applications using its ‘drag and drop’ features.
Onsen UI is one of the best application development frameworks for building complex web
applications that deliver native-like experiences across platforms with the same source code.
2.Flutter 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 to
Open-source, and Uses a single codebase •Hot reload option is available download the app
Written in C, C++, Dart •Dart is new for developers
3.Ionic 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 development •Might face surety issues
Helps develop cross-platform, hybrid, and PWA apps
4.Xamarin Created by: Microsoft •Provides multiple library support •Compatibility issues with third-party
App Examples: Azure, 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-source
Helps develop applications for Android, iOS. libraries
•App size is somewhat large
5.Apache Cordova Created by: Adobe •Supports for offline apps •Does not suit hardware-reliant apps
App Examples: Wikipedia, Health Tap •Allows access to native device APIs •Hybrid apps are slower
Open-source and Written in C#, C++, CSS, HTML, Java, •Allows code reusability •Plugins might not perform as per
JavaScript, and Objective-C 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, preferences and tendencies of the
user to make a better interface.
The Generic User Interface (Generic UI, GUI) framework allows you to create UI screens using
Java 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 user interface.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 32
2.5. Android User
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 remarkable rate through
its popularity in developing countries. In Brazil, India, Indonesia, Turkey and Vietnam,
Android has over 85 percent market share.
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 Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 34
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
panels. A computer’s desktop is a GUI.
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:
Efficiency for inputting information; how fast information can be input through the user
interface.
Efficiency for outputting information; how fast the user can process the information coming
back from the system
Voice user interfaces are user interfaces that are used through speech. Typical
examples of voice user interfaces include smart speakers and voice assistants.
Voice UIs employ speech recognition and natural language understanding technologies
to transform user speech into text and meaning. Speech is a 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 to input information but
significantly slower than reading or seeing to output information from the computer
system back to the user.
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 Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 38
Cont..
Current voice user interfaces can be a lot smarter and can understand complex sentences and
even combinations of them.
For example, Google Assistant is perfectly fine with something like “Turn off the living
room light and turn on the kitchen light”.
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 the user hesitates with their
speech or says something wrong.
For instance, you can try something like “Turn off the kitchen light, turn on the living room
TV, turn on the bedroom and terrace lights and turn off the radio in the kitchen.”
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 39
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 are accepted by the designers’
community.
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.
3. Single 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.
5. Layered 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 users explore new features as they go deeper into
the app.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 42
Design an interface for a mobile app
1. Uniqueness - There is no point in creating something that already exists, and it is the same
with mobile app design. Uniqueness is one of the most important mobile design principles and
that is why it stays on the first place in our list.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 43
Cont..
2. Structure
User interfaces for mobile applications should be organized in such a way that users will
find it helpful and meaningful.
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.
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.
Context seriously affects mobile user interface design, such as a bigger font, highlighted
buttons, and only vital content. On the other hand, the interface can be entertaining and full of
engaging options. Before moving on, you need to find out in what context your app will be
used and then build the interface according to this information.
4. Gestures
Gestures allow users to navigate apps intuitively. Gestures can also add some gamification and
may help you gain particular audiences, like teenagers.
Mobile devices are designed for gestures, so try to get the most out of it and become a source of
inspiration for other apps. Simultaneously, try use gestures that are familiar to your users and
keep in mind how your users will be handling their device and in what context.
Let’s say if the user is holding the handrail on a public transport with one hand and trying to
work an app with the other hand, it might be annoying if there are no other gestures but to pinch
to expand, since this gesture requires two hands.
Chapter Two Mobile Application Development IT compiled by: Birhanu G. 4/28/2023 46
Cont..
5. Tolerance
App interface design should be created in a way that if some options come up along the
way, the system would suggest by default such variants that will be most beneficial to the
user.
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.
Tolerance means allowing users to make mistakes and giving them the opportunity to
revoke changes.
6. Consistency
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.
Consistency means tidiness and it is certainly a must-have in every app, which is why in the
majority of mobile app design companies there’s a rule to create a UI kit for every project.
This includes all elements of the app, and it becomes easier to follow the consistency
principle with a UI kit.
From a psychological perspective, people need to get acknowledgment for their actions, and it is
especially important in the banking sphere.