MOBILE APPLICATION
Objectives:
At the end of the session, you will be able to:
• Discuss Mobile Application;
• Explain the importance of Mobile Application;
• Manifest appreciation on the applications of Mobile
Application
What is Mobile Application?
A mobile application, most commonly referred to as an app, is a type of
application software designed to run on a mobile device, such as a
smartphone or tablet computer. Mobile applications frequently serve to
provide users with similar services to those accessed on PCs. Apps are
generally small, individual software units with limited function. This use of
app software was originally popularized by Apple Inc. and its App Store,
which offers thousands of applications for the iPhone, iPad and iPod Touch.
A mobile application also may be known as an app, web app, online app,
iPhone app or smartphone app.
Mobile Application Components
There are four different types of app
components:
1. Activities
An activity is the entry point for
interacting with the user. It represents a
single screen with a user interface.
2. Services
A service is a general-purpose
entry point for keeping an app
running in the background for all
kinds of reasons. It is a component
that runs in the background to
perform long-running operations
or to perform work for remote
processes. A service does not
provide a user interface.
3. Broadcast receivers
A broadcast receiver is a
component that enables the system to
deliver events to the app outside of a
regular user flow, allowing the app to
respond to system-wide broadcast
announcements. Because broadcast
receivers are another well-defined
entry into the app, the system can
deliver broadcasts even to apps that
aren't currently running.
4. Content providers
A content provider
manages a shared set of app
data that you can store in the
file system, in a SQLite
database, on the web, or on
any other persistent storage
location that your app can
access. Through the content
provider, other apps can query
or modify the data if the
content provider allows it.
What is Mobile App Architecture?
Application architecture is a set of
technologies and models for the
development of fully-structured
mobile programs based on industry
and vendor-specific standards. As
you develop the architecture of
your app, you also consider
programs that work on wireless
devices such as smartphones and
tablets.
Mobile app architecture design usually consists of multiple layers, including:
• Presentation Layer - contains UI components as well as
the components processing them.
• Business Layer - composed of workflows, business
entities and components.
• Data layer - comprises data utilities, data access
components and service agents.
Types of Mobile Apps
There are three main types of mobile apps including native apps, web-
based mobile apps and hybrid apps.
1. Native Mobile Apps
Native apps are developed for a certain mobile device operating
system like Windows Phone or Android. Therefore, they are native for a
certain device or platform. Apps built for Android, Windows Phone,
Blackberry, Symbian cannot be used on any other platform expect on
their own. Therefore, a mobile app designed for Android can only be
used on an Android device.
Advantages:
• good user experience;
• high performance; and,
• puts no limits on app usage.
• accessible form app stores
Disadvantage:
• higher costs in comparison to other types of mobile apps
2. Web-Based Apps
Web-based applications behave in very similar
fashion to those native mobile apps. Web apps use a
certain browser in order to run and they are commonly
written in CSS, JavaScript or HTML5. Web apps redirect
users to URL and further offer install options by creating
a bookmark on their browser.
Advantage:
• requires a minimum of device memory
• Users can access web apps from any device that is connected to the Internet.
Disadvantages:
• the use of web applications with poor internet connection commonly results
in very bad user experience.
• access to not so many APIs, with exception of geolocation and several others.
• a performance of web-based apps is inextricably linked to network
connection and browser work.
2. Hybrid Mobile Apps
Hybrid mobile apps are specifically built using
different multi-platform web technologies like
JavaScript and HTML5. Hybrid apps are website
applications created in a native wrapper that means
they use elements of both native and web-based apps.
Advantage:
• easy to develop since code base ensures low-cost
maintenance
Disadvantages:
• lack in speed, performance and overall optimization
• inability to look in the same way on different
platforms
Importance of Mobile Apps
1. Social Media Sites
The youth of the 21st century is very
attached and glued to social networking sites.
It is a kind of emotion for them. They cannot
even spend a day without social media
platforms. Social media platforms are a way
to share pictures and videos. They are a great
platform to share opinions and conversations;
you can make a video call as well.
2. Ordering Food Online
If you're too lazy to go out and
have some delicious food, then
online food apps have got your back.
In this modern world, where you
have access to almost everything on
the tip of your fingers, you can avail
this minor facility as well.
3. Taxi Services
Now, you don't need to go out and search for
yourself a taxi in the scorching heat. Because you've got
the facility of online taxi services. Just book your taxi
online, they will pick you up from your place and leave
you to your destination.
4. Booking Tickets
With the help of apps, you can book the ticket for
buses, trains, and airplanes as well. You don't need to
stand and wait in long queues for your tickets to be
booked. So basically, you have to assign your fingers
some work and you can chill in your house.
5. Entertainment
Everyone wants entertainment right! Well, just like
any other thing you can avail this facility as well on your
mobile phone. If you want to watch a movie, apps are
there to provide you that. If you want to watch an online
series, then also apps are there to help. You just need to
download the part app according to your choice and there
you go, ready to do some rock and roll into your boring life.
Benefits of Mobile Apps
• Convenience
Convenience is one of the most critical aspects of
a mobile app. The app is there to make things easier for
the customer and not harder.
• Interactivity
Mobi-apps have their own interfaces that allow
users to experience two-way immersive experience.
• Personalization
Users love highly tailored content according to their
preferences. It’s like offering them a tailored communication in the
language they speak and understand. User-centric personalization is
critical in making their experience delightful.
• Productivity
Mobile apps increase employee engagement. Employees
become more engaged when they're able to use modern tools that
make their jobs easier and allow them to accomplish more.
• Speed
Mobile apps provide a much faster alternative
than mobile web browsing. Web browsing requires a
user to launch a web browser, enter a URL and wait for
the site to load, whereas it only takes a second to launch
a mobile app because the majority of the information is
stored in the application itself making it possible to
function offline.
Factors to Consider to Build Mobile Apps
1. Multiple Platforms and Devices
Traditional desktop and laptop PCs are Windows-
based with a standard screen size, features and form
factor. The mobile landscape is much more fragmented,
with four main platforms (Android, iOS, Windows
Phone and BlackBerry) that are continually evolving.
2. Screen Size
Applications designed for a desktop or laptop
client work with a screen size that far exceeds that of
mobile devices. How to design for a device that fits in
your pocket requires simplification and a rethink about
navigation.
3. User Interaction
Instead of a mouse and keyboard, there is a quite
different mode for user input: touch. Even a single
touch can involve a variety of interactions, including
single-tap, double-tap, long touch, move and fling. All
these actions have to be captured.
App interactions and gestures: a two-
way street
• Let’s start with the gesture from the
user. A user performs a gesture on a
screen to carry out a certain task.
Through gestures, users interact
with the visible elements in a UI.
The UI then does two things: it
offers feedback confirming the
gesture and responds.
Exclusive gestures for Android
There are some gestures
for Android that you won’t
find on iOS mobile devices
and vice versa.
Exclusive gestures for iOS
Lately, iOS is focusing on
providing an even more
immersive experience to its
users than ever-before with the
abolition of the home button.
That renders it now an entirely
gesture-based experience.
Interaction patterns for Android and iOS
Graphic
The most obvious app interactions your UI can
provide users with are graphic interactions, that is, visual
feedback.
1. Sliding elements in list format
Making elements such as vertical card lists slide with
a swipe such as those seen in Gmail is one way of letting a
user take action to delete or archive the email.
2. Cards
Another strong example
of a UI element that elicits
interaction is the card. Cards are
very conducive to app
interaction because they mimic
real life objects and users can
swipe horizontally or vertically
through lists of them.
3. Images
Images, like cards are
another example of a rich
source of app interactions on
both Android and iOS platforms.
Users can intuitively manipulate
an image using hand gestures.
You can design app interactions
to respond to the following
gestures users might perform:
4. Buttons
Buttons are another type of element that is
prominent in app interaction on both the Android and
iOS platforms. Buttons states often change by being
highlighted or depressed when a user taps them. The
app then further interacts by navigating the user to
another screen or by causing something else to happen
on the screen.
5. Overflow screens
Another way in which we can see app interaction
with the user in both Android and iOS devices is in the
form of overflow menus that occur when a user taps a
hamburger menu icon, for example.
6. Multiple selection app
interactions
Many apps also interact
with their users by allowing them
to select multiple elements. They
do this by letting them select one
element with a long press which
subsequently reveals check boxes
next to all other selectionable
elements.
7. Text input fields
Even the simple act of making fields appear ready
for keypad input via a blinking cursor is an app
interaction, as is showing the letters, numbers and
symbols a user types in with their system keyboard.
Sound
Sounds can provide feedback and
confirm a user’s actions, as well as
enhance the overall user experience. It
can also be a great way of helping build
user delight.
A further benefit of this type of app
interaction is that you can use a sound
to inform a user whether an action was
correct or incorrect.
Tactile (haptic)
These types of interactions are
tactile in nature and often involve
vibrations to provide feedback. By
engaging the user’s sense of touch,
designers can further enhance the
experience of interacting with the
onscreen UI elements of the app.
It’s also a way of helping them
learn how to use your app.
4. Screen Density
Devices available from different manufacturers vary from
120 dpi for the lower-end HTC Tattoo / Wildfire and 240 dpi for
the higher end Droid series—a difference of 100% in screen
density. This means that using hardcoded values for pixels and
a single set of images will lead to one of two things on a higher
end phone: either your UI will be up-scaled and fuzzy, or the
controls will be too small to allow comfortable targeting with a
finger.
5. Integration with Phone Functions
Smart phones are sophisticated communication
devices. Making phone calls is their most basic
function. While mobile platforms place many
limitations on design and content, they also open up
new opportunities that traditional desktops cannot
provide.
6. Limited CPU/Memory/Battery Resources
Mobile devices lack the computing power and
memory capacity of most desktop and server systems.
Developers need to write algorithms and perform code
optimization to support the mobile device capacity.