SlideShare a Scribd company logo
1 of 49
Architecture of Mobile Software
Applications
Course Instructor: Yasir Latif
Course Code: IT-4545
Mobile
Computing
Lecture Outline
• What is Architecture?
• What is mobile application?
• What is mobile Website ?
• What’s the Difference Between a Mobile Website and an App?
• What is mobile application architecture?
• Mobile Architecture Overview
• Mobile Architecture and Design Techniques
• Android mobile application architecture
• iOS mobile application architecture
• Windows Phone mobile application architecture
• Blackberry mobile application architecture
• Cross-Platform mobile application architecture
What is Architecture?
1. the art or practice of designing and constructing
buildings. BY: "schools of architecture and
design”
1. the complex or carefully designed structure of
something.
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.
• A mobile app is a software application developed specifically for use on
small, wireless computing devices, such as smartphones and tablets, rather
than desktop or laptop computers.
• Mobile apps are designed with consideration for the demands and
constraints of the devices and also to take advantage of any specialized
capabilities they have. A gaming app, for example, might take advantage of
the iPhone's accelerometer.
What is mobile Website ?
• A simple definition could be:
The mobile web refers to access to the world wide web,
i.e. the use of browser-based Internet services, from a
handheld mobile device, such as a smartphone or a
feature phone, connected to a mobile network or other
wireless network.
What’s the Difference Between a Mobile Website and
an App?
• A mobile website is similar to any other website in that it consists of browser-based
HTML pages that are linked together and accessed over the Internet (for mobile
typically WiFi or 3G or 4G networks). The obvious characteristic that distinguishes a
mobile website from a standard website is the fact that it is designed for the smaller
handheld display and touch-screen interface.
• Like any website, mobile websites can display text content, data, images and video.
They can also access mobile-specific features such as click-to-call (to dial a phone
number) or location-based mapping.
• Mobile Apps are actual applications that are downloaded and installed on your
mobile device, rather than being rendered within a browser. Users visit device-
specific portals such as Apple’s App Store, Android Market, or Blackberry App World
in order to find and download apps for a given operating system. The app may pull
content and data from the Internet, in similar fashion to a website, or it may
download the content so that it can be accessed without an Internet connection.
What is mobile application
architecture?
• Mobile Application Architecture is set of techniques and
patterns to build fully structured mobile applications
based on industry and vendor speific standards and
procedures those works on wirelss mobile devices like
smartphones and tablets.
Mobile Architecture Overview
Objectives
• Define a mobile application.
• Understand components found in a mobile application.
• Learn the key scenarios where mobile applications would be used.
• Learn the design considerations for mobile applications.
• Identify specific scenarios for mobile applications, such as deployment, power usage, and
synchronization.
• Learn the key patterns and technology considerations for designing mobile applications.
Mobile Architecture Overview
(Cont.)
Overview
• A mobile application will normally be structured as a multi-layered application
consisting of user experience, business, and data layers. When developing a mobile
application, you may choose to develop a thin Web-based client or a rich client. If you
are building a rich client, the business and data services layers are likely to be located
on the device itself. If you are building a thin client, the business and data layers will
be located on the server.
Common rich client mobile application architecture
Mobile Architecture Overview
(Cont.)
Design Considerations:
The following design guidelines provide information about different aspects you should consider
when designing a mobile application. Follow these guidelines to ensure that your application meets
your requirements and performs efficiently in scenarios common to mobile applications:
• Decide if you will build a rich client, a thin Web client, or rich Internet application (RIA).
If your application requires local processing and must work in an occasionally connected
scenario, consider designing a rich client. A rich client application will be more complex to install
and maintain. If your application can depend on server processing and will always be fully
connected, consider designing a thin client. If your application requires a rich user interface (UI),
only limited access to local resources, and must be portable to other platforms, design an RIA
client.
• Determine the device types you will support.
When choosing which device types to support, consider screen size, resolution (DPI), CPU
performance characteristics, memory and storage space, and development tool environment
availability. In addition, factor in user requirements and organizational constraints. You may
require specific hardware such as GPS or a camera and this may impact not only your application
type, but also your device choice.
Mobile Architecture Overview
(Cont.)
Design Considerations
• Design considering occasionally connected limited-bandwidth scenarios when required.
your mobile device is a stand-alone device, you will not need to account for connection issues.
When network connectivity is required, Mobile applications should handle cases when a network
connection is intermittent or not available. It is vital in this case to design your caching, state
management, and data-access mechanisms with intermittent network connectivity in mind.
Batch communications for times of connectivity. Choose hardware and software protocols based
on speed, power consumption, and “chattiness,” and not just on ease of programming.
• Design a UI appropriate for mobile devices, taking into account platform constraints.
Mobile devices require a simpler architecture, simpler UI, and other specific design decisions in
order to work within the constraints imposed by the device hardware. Keep these constraints in
mind and design specifically for the device instead of trying to reuse the architecture or UI from a
desktop or Web application. The main constraints are memory, battery life, ability to adapt to
difference screen sizes and orientations, security, and network bandwidth.
Mobile Architecture Overview
(Cont.)
Design Considerations
• Design a layered architecture appropriate for mobile devices that improves reuse and
maintainability.
Depending on the application type, multiple layers may be located on the device itself. Use the
concept of layers to maximize separation of concerns, and to improve reuse and maintainability
for your mobile application. However, aim to achieve the smallest footprint on the device by
simplifying your design compared to a desktop or Web application.
• Design considering device resource constraints such as battery life, memory size, and processor
speed
Every design decision should take into account the limited CPU, memory, storage capacity, and
battery life of mobile devices. Battery life is usually the most limiting factor in mobile devices.
Backlighting, reading and writing to memory, wireless connections, specialized hardware, and
processor speed all have an impact on the overall power usage. When the amount of memory
available is low, the Microsoft® Windows Mobile® operating system may ask your application to
shut down or sacrifice cached data, slowing program execution. Optimize your application to
minimize its power and memory footprint while considering performance during this process.
Mobile Architecture Overview
(Cont.)
Technology Considerations
• Android For Mobile Development
Android apps are built as a combination of distinct components that can be invoked individually.
For instance, an individual activity provides a single screen for a user interface, and a service
independently performs work in the background.
From one component you can start another component using an intent. You can even start a
component in a different app, such an activity in a maps app to show an address. This model
provides multiple entry points for a single app and allows any app to behave as a user's "default"
for an action that other apps may invoke.
Android provides an adaptive app framework that allows you to provide unique resources for
different device configurations. For example, you can create different XML layout files for
different screen sizes and the system determines which layout to apply based on the current
device's screen size.
You can query the availability of device features at runtime if any app features require specific
hardware such as a camera. If necessary, you can also declare features your app requires so app
markets such as Google Play Store do not allow installation on devices that do not support that
feature.
Mobile Architecture Overview
(Cont.)
Technology Considerations
• iOS For Mobile Development
iOS is the operating system that runs on iPad, iPhone, and iPod touch devices. The operating
system manages the device hardware and provides the technologies required to implement
native apps. The operating system also ships with various system apps, such as Phone, Mail, and
Safari, that provide standard system services to the user.
The iOS Software Development Kit (SDK) contains the tools and interfaces needed to develop,
install, run, and test native apps that appear on an iOS device’s Home screen. Native apps are
built using the iOS system frameworks and Objective-C language and run directly on iOS. Unlike
web apps, native apps are installed physically on a device and are therefore always available to
the user, even when the device is in Airplane mode. They reside next to other system apps, and
both the app and any user data is synced to the user’s computer through iTunes.
Mobile Architecture Overview
(Cont.)
Technology Considerations
• Windows Phone Development
Microsoft Silverlight for Mobile
.NET Compact Framework
Windows Mobile
Windows Embedded
Mobile Architecture Overview
(Cont.)
Technology Considerations
• BalckBerry Apps Development
RIM provides a number of solutions, listed below, to help you achieve success with your apps. All
of these services are provided free of charge.
BlackBerry World, the Advertising Service, the Payment Service, and the Analytics Service are all
described below. All the SDKs are separate downloads so that the service is not tied to any
particular version of the BlackBerry Java SDK. These SDKs are designed for easy integration.
Post your app on BlackBerry World
BlackBerry World is a vendor portal provided by RIM for you to sell your apps. There is no cost to
you to register with BlackBerry World or to use it to sell your apps. BlackBerry World comes pre-
loaded on new BlackBerry smartphones.
Mobile Architecture and Design
Techniques
1. Dynamic Differences In Mobile Design
2. Finding The Right Design Flow
3. Designing For Visual Appeal
4. Mobile Design Pattern
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Understanding the Role of Mobile
• As advanced as mobile devices and software have become, they still play a
complementary role to traditional computing. Applications often tie into more
traditional digital setups, be they word processors, spreadsheet managers, slideshow
presentations, PDF readers, e-mail clients, or anything else used to perform work or
personal functions. When not uploading photos from a hike, watching a movie, or
playing a game on a mobile phone or tablet, some other form of hardware or
software—most likely the kind that predates smartphones—is being used.
• But as smartphones and tablets increase in power and potential, users are using
these devices for an increasing number of tasks, and this growth has led to a
remarkable point in computer history. PC sales consistently climbed for years, but
numbers are now beginning to drop, while tablet sales are rising exponentially. The
trend reported by various hardware manufacturers is largely the same; PC demand is
way down and mobile demand is way up.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Mobile-Only Interactions
• By now, you know that interaction design is the process by which software is iterated
and fine-tuned into a form that delivers the best possible experience for the user. As
an interface or interaction designer, it’s your job to sit down and strip away all
unnecessary details and excess in your software so that you can minimize its
complexity for potential customers.
• Although interaction design often relates to software interfaces, hardware plays a
major role in that concept as well. Let’s take a look at user-interaction methods and
potentially problematic situations that only arise when working with smartphones
and tablets.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions Only Possible with a Smartphone
• In the early days of advanced mobile phones, processing power was the most
significant limit- ing factor in interaction design. It was also the reason phones had
been seen as second-class computing citizens; the devices just didn’t boast the juice
that desktops and laptops have long had, and as a result performance suffered. Early
smartphones often stuttered and were gener- ally unresponsive.
• The design goals were simple in concept. When pinched, photos should resize
dynamically without delay or slowdown; Web pages should scroll immediately when
flicked up or down; dragging an icon around on screen should be fluid and should feel
as if the pixels below are magnetized to our fingertips.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions Only Possible with a Smartphone
• When designing an app, it’s important to ensure these functions take advantage of
smart- phones’ inherent mobility. When working on a platform, it’s useful to think of
the features and functions at hand as if you’re playing a sport; laying out an
interaction plan for an app is like working out a team’s lineup and game strategy. If
you want to be the best manager you can be, you need to fully understand the way
the wind is blowing on any given day, and play to your personal design strengths, all
while de-emphasizing the design weak- nesses for your team.
• The design goals were simple in concept. When pinched, photos should resize
dynamically without delay or slowdown; Web pages should scroll immediately when
flicked up or down; dragging an icon around on screen should be fluid and should feel
as if the pixels below are magnetized to our fingertips.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions Only Possible with a Tablet
• Smartphones don’t have a monopoly on unique mobile experiences, though. Tablets
also boast a host of interactions that are unique to their platform—though they do
share many of the advantages that smartphones feature, because the two devices
share a common ancestry.
• Tablets are much smaller and lighter than laptops and also contain advanced
microphones, cameras, location-tracking chips, gyroscopes, and other features that
typically do not ship with traditional computers.
• Much like when building a phone app, key features should be taken advantage of
when con- structing tablet software, but it’s important to recognize that not all of
these advantages are guaranteed. The iPad, for example, comes in two models: one
with cellular connectivity and one without. Similarly, the first-generation Nexus 7 has
no rear-facing camera, and the Micro- soft Surface has no cellular connectivity option.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions Only Possible with a Tablet
• This influences interaction design, as an app needs to offer a uniform experience
regardless of device capability. For example, designers need to ensure software
doesn’t crash if a device isn’t constantly connected to the Internet, because some
devices come with Wi-Fi only or with cellular data options. If you’re integrating
photos into your app, it should be designed so that a user can pull an image from the
local photo library if a camera is unavailable to take a picture to fill that space.
• Tablets are much smaller and lighter than laptops and also contain advanced
microphones, cameras, location-tracking chips, gyroscopes, and other features that
typically do not ship with traditional computers.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions Only Possible with a Tablet
• The tablet’s biggest advantage is simply that it brings the world of touch
screens and dynami- cally interfaced applications to a device that is sized for
reading, writing, and interacting with data. Once a designer first begins
designing an app for a tablet, he or she is often struck by how similar it is to
creating a poster, book cover, or other graphic for a paper product. For
users too, this is the device’s most exciting feature; it’s the size of a book,
yet eliminates the need to keep track of hundreds of pages of paper. In
many respects, tablets are better than books because they allow for an
interactive experience that a bound collection of dead-tree fragments
simply doesn’t provide.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions That Aren’t Possible on Mobile - Keyboards and Data Entry
• Applications that require extensive text entry or typing are standout examples of
mobile- problematic experiences. It’s hard to recreate the ease and familiarity of the
full QWERTY keyboard on a glass surface. Many have tried custom keyboard
configurations, but text entry is still a key feature for which mobile devices trail
traditional computers.
• There are ways to get around this deficiency, including the Bluetooth support that
allows external wireless keyboards to connect to tablets or phones, but this remains
more of an obstacle than a solution as users must constantly remember to grab an
extra device in order gain full functionality.
• When creating an application of any kind, be aware of this data-entry difficulty as the
interac- tion design is developed. Many programs make inputting numbers and letters
too difficult, and as a result users shy away from using those apps. A little bit of work
focused on making text entry more efficient can go a long way in interaction design.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions That Aren’t Possible on Mobile - Click, Tap, Point
• The most important difference between the two involves the interaction radius the
user has to engage with content. When moving a mouse, the user directly interacts
with a small number of pixels at a time, usually only a handful. But when tapping with
the finger, the user comes into contact with a much larger radius—sometimes as
many as 40 or 50 pixels. Human fingers clearly aren’t as precise as mouse-pointer
icons. Thus users have a much harder time making small, precise inputs on a screen,
which is why larger buttons and icons are often seen on mobile devices.
• User pointing devices won’t be the only variable designers need to consider; user skill
level is never the same either. When working with a mouse, users don’t directly
interact with content; instead, they move a device sitting on a table that then
interacts with content. The software that operates computer mice can be adjusted for
a variety of speed settings, giving the user flexibility in determining how his ability will
affect the computing experience. A finger, though, comes with no such options menu,
and some users may find it difficult to accomplish advanced gestures that come
naturally to others.
Mobile Architecture and Design
Techniques
Dynamic Differences In Mobile Design
Interactions That Aren’t Possible on Mobile - Expandability
• Mobile phones and tablets come with their own limitations as well.
Namely, they lack the expandability and added-feature compatibility
that traditional computers have offered for years. It’s tough, for
example, to find a mainstream smartphone with USB ports, HDMI
inputs, or connections to output to multiple monitors or hard drives.
In some ways, this makes your job easier, as designers can focus on
a single user experience and not worry about outlying features that
are not commonly used. But like many tradeoffs in the mobile
realm, this is a double- edged sword; many enthusiastic potential
customers gain satisfaction from features or capabilities that are
difficult or nearly impossible to implement on modern mobile
devices—leaving potential profit on the table as a result.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
• Not all apps are created equal. Even if it accomplishes a desired
task, how effectively an app does its job can vary greatly based on
its type of application. As a result, it’s critical for designers to
understand the various categories of apps their work falls into.
Although the number of applications for various platforms is almost
beyond comprehension, most of them fit into one of several broad
categories. In this chapter, you’ll find examples of apps that fit into
several simple and easily recognizable categories that will help you
understand the work they’re doing at a root level.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
The Big Three App Types
• At their most basic foundational level, applications fall into three
general types regardless of the platform they’re on: native, Web,
and hybrid. As long as the device on which the app runs has the
capability to load software and access the Internet, it fits into one of
these three designations. Although the differences between these
types are subtle, it’s important to recognize the distinctions and
determine what type you’re looking at when analyzing a piece of
work. Identifying these three different categories can help you learn
a lot about how an app works and make good assumptions about
how its interface was set up.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
The Big Three App Types - Native Apps
• A native app is composed of pieces of software completely written in the native
language of a platform. For iOS, the native language is Objective-C; for Android
it’s Java or C/C++. Native applications are written entirely to the specification of
the platform owner by using the technologies and best practices prescribed by
whoever has built the operating system.
• Native applications will usually be the most powerful applications on any given
system, because they have the ability to most easily tie in to the various
advanced hardware functions (GPS, motion control, etc.) of a phone or tablet.
Likewise, the platform providers will also produce diverse APIs that make it easy
to integrate features such as maps, advanced-interface user interactions, easy
file storage, and much more. Native applications will persist as the most dynamic
and fluid applications on a device, providing superior hardware power thanks to
their direct framework integration with the various device components. That
allows for better integration of animations, advanced 3-D rendering, and
anything else that may require high processing power.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
The Big Three App Types - Web Apps
• The complete antithesis of the native application, meanwhile, is one that
actually offers the best explanation of what a native app really is. The native
app’s polar opposite is the Web application, something all smartphone
users will inevitably come across. These are pieces of software that run
completely inside of a Web browser. They feature interfaces built with
HTML or CSS; are powered via one of a variety of popular Web
programming languages, such as Ruby on Rails, JavaScript, PHP, or Python;
and can typically be run on any phone, tablet, or computer with a
standards-compliant, modern Web browser.
• The ability to run on nearly any phone, tablet, or computer does also come
with several big hurdles that must be overcome, however. First and
foremost, designers won’t have access to the native frameworks and
interface-creation tools provided by Apple, Google, or another plat- form
creator. Instead, designers must create their own user interface entirely
from scratch.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
The Big Three App Types - Hybrid Apps
• The hybrid app combines attributes of both native and Web apps. The
ultimate goal of hybrid applications is to use some sort of redundant,
common code that can be used across platforms while also tailoring
required attributes to the native system.
• Take an application designed, for example, to display topics hierarchically in
a standard iOS or Android table while also relying on HTML-based text views
when a user moves forward to view specific information in a topic area. This
presents a designer with HTML formatting language that is capable of
providing advanced text styling on multiple platforms using just one
document but can still take advantage of the native device presentation
offered by using tables.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods
• Now that you know the difference between three major types of
applications, how will each change the way you go about building ways for
users to navigate through and interact with your programs? Each app type
has its own set of common navigation-interaction methods that will change
how you operate, depending upon the platform you’re working on.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Single View
• Single-view applications are easily the simplest type of applications that you
can build, containing merely a single page of information that can be
interacted with on screen. What users see upon opening the application is
all they get. Although remarkably basic, this type of app is
still rather common; most calculators, built-in cameras, and utility apps use
this form of simple interface, as shown in Figure
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Stacked Navigation Bar
• Stacked navigation views are popular on a variety of different mobile
operating systems and are perhaps even the most common interactions
interface a designer ever works with. On modern-day iOS, this interface is
called the “Navigation Bar” and on Android it’s typically referred to as the
“Action Bar.”
• Regardless of platform, this interaction piece is often anchored to the top of
the view and remains a constant figure spanning the width of the screen.
This navigational tool is quite familiar to anyone who has ever used a
mobile operating system; it presents several interaction pieces in the main
part of the screen, and tapping one pushes forward to a new view. As it
does so, a navigation stack anchored to the top of the screen animates to
visually indicate to the user that a foreword movement has taken place. A
back arrow appears at the top left of the navigation bar, as you can see in
Figure next slide , allowing the user to reverse to the previous view.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Stacked Navigation Bar
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Tab Controller
• The tab view is another primary controller type and navigation view
found on a wide range of platforms. This style is called upon when
there are three or four different views that will contain all of the
application’s functionality. In these views, opening one of the tabs
or using a slight swipe from left or right is used to switch the
primary content view on screen.
• On iOS, segmented view controllers can also serve a similar
function, though the segmented control is usually only applied in
order to switch between two or three different types of views. The
tab controller, meanwhile, may be used for up to five or six different
views of content. Sometimes, navigation controllers will be used on
top of tab controllers to provide multiple levels of hierarchy for
content.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Tab Controller
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Scroll Views
• Scroll views have been an extremely popular element throughout
the history of computing, and anyone who has grabbed a mouse or
touched arrow keys on a keyboard over the past few decades is
familiar with them. On mobile, though, this interaction method
handles a bit differ- ently. Scroll views are used for groups of photos,
text, or any other information that surpasses the width and height
of the device, as we can find in the iOS Weather app in Figure in
next Slide.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Scroll Views
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Search-Driven Navigation
• Another common navigation type—search-driven navigation—is an
interaction method not often thought of as one that moves users between
views. It’s commonly used on both iPhone and Android, though, and can be
implemented without taking up much space on screen because the search
bar is usually fairly small. Incorporating search functions helps to navigate
and drive a user through an application.
• Designers can also use voice search in a way similar to how Apple has
integrated Siri and Google has incorporated Google Now into their
respective devices, or a designer can keep it simple and use a more
standard, text-based search. Both Android and iOS offer simple interaction
tools that help implement search-centric applications via text, although you
may have to put in a bit more effort and integrate a third-party framework
into an app binary in order to include voice search.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Search-Driven Navigation
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Modal Controller
• One of the more common control types—modal—is used so frequently that
designers are likely to implement it without ever realizing it. Modal controls
are used when an application forces the user to make one choice or
interaction decision specifically before moving on to a further view or
seeing more information. A modal setup can contain several specific views
or multiple controls within it, but it’s always seen as somewhat of an
interjection into the typical application flow, helping to focus the user on
the task at hand.
• Implementing an e-mail sheet in an application is a nice example of
effective modal control. If a user, say, taps an image that looks like an
envelope, he or she could be presented with a system-standard view that
allows for information from the app to be shared with another person. The
experience, remember, is disruptive, but it focuses the user; the e-mail form
sheet (a modal view) pops up on top of the app’s standard content, forcing
the user to send an e-mail or cancel out of the window.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Modal Controller
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Gesture-Based Navigation
• Another navigation interaction—one that’s relatively new to the mobile
landscape—is a pure, gesture-based navigation control. Gesture techniques
such as two- or three-finger scrolls, pinches, and others are now often used
to move the user through different parts of an application.
• This application-flow model is not very common, but it’s possible on both
iOS and Android and on native and hybrid applications; however, a gesture-
focused-navigation app would be very difficult to execute in a Web
application. Trouble arises there due to the lack of the direct use of
essential gesture-recognition frameworks that are built into mobile
platforms such as Android and iOS. Instead, a Web browser controls most of
our touch-based interaction, and browsers aren’t programmed to recognize
and take advantage of the advanced gestures required for these controls.
Mobile Architecture and Design
Techniques
Finding The Right Design Flow
Common App Navigation Methods - Gesture-Based Navigation
Thank You!

More Related Content

What's hot

Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application DevelopmentSyed Absar
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile applicationMengChun Lam
 
Mobile application development ppt
Mobile application development pptMobile application development ppt
Mobile application development ppttirupathinews
 
Web servers for the Internet of Things
Web servers for the Internet of ThingsWeb servers for the Internet of Things
Web servers for the Internet of ThingsAlexandru Radovici
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application DevelopmentTharindu Dassanayake
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Android Web app
Android Web app Android Web app
Android Web app Sumit Kumar
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developerNetcetera
 
Introduction to mobile application
Introduction to mobile applicationIntroduction to mobile application
Introduction to mobile applicationK Senthil Kumar
 
Decomposition using Functional Dependency
Decomposition using Functional DependencyDecomposition using Functional Dependency
Decomposition using Functional DependencyRaj Naik
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutterAhmed Abu Eldahab
 
Constraints of designing for mobile devices
Constraints of designing for mobile devicesConstraints of designing for mobile devices
Constraints of designing for mobile devicesK Senthil Kumar
 

What's hot (20)

Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT CROSS PLATFORM APPLICATIONS DEVELOPMENT
CROSS PLATFORM APPLICATIONS DEVELOPMENT
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile application
 
Mobile application development ppt
Mobile application development pptMobile application development ppt
Mobile application development ppt
 
Web servers for the Internet of Things
Web servers for the Internet of ThingsWeb servers for the Internet of Things
Web servers for the Internet of Things
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
Android Web app
Android Web app Android Web app
Android Web app
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developer
 
Introduction to mobile application
Introduction to mobile applicationIntroduction to mobile application
Introduction to mobile application
 
Decomposition using Functional Dependency
Decomposition using Functional DependencyDecomposition using Functional Dependency
Decomposition using Functional Dependency
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
Constraints of designing for mobile devices
Constraints of designing for mobile devicesConstraints of designing for mobile devices
Constraints of designing for mobile devices
 

Similar to architecture of mobile software applications

Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentHelios Solutions
 
digital marketing[1].pdf
digital marketing[1].pdfdigital marketing[1].pdf
digital marketing[1].pdfTECHCENTRAL3
 
MD-I-CH-ppt.ppt
MD-I-CH-ppt.pptMD-I-CH-ppt.ppt
MD-I-CH-ppt.pptbharatt7
 
Why software architecture (Mobile Architecture)?
Why software architecture (Mobile Architecture)?Why software architecture (Mobile Architecture)?
Why software architecture (Mobile Architecture)?Mohamed Taman
 
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013IBM Switzerland
 
Embedded Systems.pdf
Embedded Systems.pdfEmbedded Systems.pdf
Embedded Systems.pdfruvabebe
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the EnterpriseSukumar Jena
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkNeha Singh
 
Mse sept13 (3/3)
Mse sept13 (3/3)Mse sept13 (3/3)
Mse sept13 (3/3)IIITA
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applicationscjolif
 
Top Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxTop Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxMarkThomas316888
 
Hybrid Smart phone application development analysis
Hybrid Smart phone application development analysisHybrid Smart phone application development analysis
Hybrid Smart phone application development analysisSandeep Krishna
 
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Luc Bors
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014AuraPlayer
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentWim Tobback
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - RhomobileKonstantin Rybas
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...Luc Bors
 
App Architecture for Efficient Mobile App Development.pdf
App Architecture for Efficient Mobile App Development.pdfApp Architecture for Efficient Mobile App Development.pdf
App Architecture for Efficient Mobile App Development.pdfiDataScientists
 

Similar to architecture of mobile software applications (20)

Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
 
digital marketing[1].pdf
digital marketing[1].pdfdigital marketing[1].pdf
digital marketing[1].pdf
 
MD-I-CH-ppt.ppt
MD-I-CH-ppt.pptMD-I-CH-ppt.ppt
MD-I-CH-ppt.ppt
 
Why software architecture (Mobile Architecture)?
Why software architecture (Mobile Architecture)?Why software architecture (Mobile Architecture)?
Why software architecture (Mobile Architecture)?
 
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank MĂĽller_IBM Symposium 2013
 
Embedded Systems.pdf
Embedded Systems.pdfEmbedded Systems.pdf
Embedded Systems.pdf
 
iPad Apps for the Enterprise
iPad Apps for the EnterpriseiPad Apps for the Enterprise
iPad Apps for the Enterprise
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Mse sept13 (3/3)
Mse sept13 (3/3)Mse sept13 (3/3)
Mse sept13 (3/3)
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applications
 
Top Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxTop Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptx
 
Hybrid Smart phone application development analysis
Hybrid Smart phone application development analysisHybrid Smart phone application development analysis
Hybrid Smart phone application development analysis
 
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)Oracle ADF Mobile OGh (Oracle User Group Netherlands)
Oracle ADF Mobile OGh (Oracle User Group Netherlands)
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014Bring Your Legacy Applications to the Mobile World - DOAG 2014
Bring Your Legacy Applications to the Mobile World - DOAG 2014
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - Rhomobile
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
 
App Architecture for Efficient Mobile App Development.pdf
App Architecture for Efficient Mobile App Development.pdfApp Architecture for Efficient Mobile App Development.pdf
App Architecture for Efficient Mobile App Development.pdf
 

Recently uploaded

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 

Recently uploaded (20)

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 

architecture of mobile software applications

  • 1. Architecture of Mobile Software Applications Course Instructor: Yasir Latif Course Code: IT-4545 Mobile Computing
  • 2. Lecture Outline • What is Architecture? • What is mobile application? • What is mobile Website ? • What’s the Difference Between a Mobile Website and an App? • What is mobile application architecture? • Mobile Architecture Overview • Mobile Architecture and Design Techniques • Android mobile application architecture • iOS mobile application architecture • Windows Phone mobile application architecture • Blackberry mobile application architecture • Cross-Platform mobile application architecture
  • 3. What is Architecture? 1. the art or practice of designing and constructing buildings. BY: "schools of architecture and design” 1. the complex or carefully designed structure of something.
  • 4. 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. • A mobile app is a software application developed specifically for use on small, wireless computing devices, such as smartphones and tablets, rather than desktop or laptop computers. • Mobile apps are designed with consideration for the demands and constraints of the devices and also to take advantage of any specialized capabilities they have. A gaming app, for example, might take advantage of the iPhone's accelerometer.
  • 5. What is mobile Website ? • A simple definition could be: The mobile web refers to access to the world wide web, i.e. the use of browser-based Internet services, from a handheld mobile device, such as a smartphone or a feature phone, connected to a mobile network or other wireless network.
  • 6. What’s the Difference Between a Mobile Website and an App? • A mobile website is similar to any other website in that it consists of browser-based HTML pages that are linked together and accessed over the Internet (for mobile typically WiFi or 3G or 4G networks). The obvious characteristic that distinguishes a mobile website from a standard website is the fact that it is designed for the smaller handheld display and touch-screen interface. • Like any website, mobile websites can display text content, data, images and video. They can also access mobile-specific features such as click-to-call (to dial a phone number) or location-based mapping. • Mobile Apps are actual applications that are downloaded and installed on your mobile device, rather than being rendered within a browser. Users visit device- specific portals such as Apple’s App Store, Android Market, or Blackberry App World in order to find and download apps for a given operating system. The app may pull content and data from the Internet, in similar fashion to a website, or it may download the content so that it can be accessed without an Internet connection.
  • 7. What is mobile application architecture? • Mobile Application Architecture is set of techniques and patterns to build fully structured mobile applications based on industry and vendor speific standards and procedures those works on wirelss mobile devices like smartphones and tablets.
  • 8. Mobile Architecture Overview Objectives • Define a mobile application. • Understand components found in a mobile application. • Learn the key scenarios where mobile applications would be used. • Learn the design considerations for mobile applications. • Identify specific scenarios for mobile applications, such as deployment, power usage, and synchronization. • Learn the key patterns and technology considerations for designing mobile applications.
  • 9. Mobile Architecture Overview (Cont.) Overview • A mobile application will normally be structured as a multi-layered application consisting of user experience, business, and data layers. When developing a mobile application, you may choose to develop a thin Web-based client or a rich client. If you are building a rich client, the business and data services layers are likely to be located on the device itself. If you are building a thin client, the business and data layers will be located on the server.
  • 10. Common rich client mobile application architecture
  • 11.
  • 12. Mobile Architecture Overview (Cont.) Design Considerations: The following design guidelines provide information about different aspects you should consider when designing a mobile application. Follow these guidelines to ensure that your application meets your requirements and performs efficiently in scenarios common to mobile applications: • Decide if you will build a rich client, a thin Web client, or rich Internet application (RIA). If your application requires local processing and must work in an occasionally connected scenario, consider designing a rich client. A rich client application will be more complex to install and maintain. If your application can depend on server processing and will always be fully connected, consider designing a thin client. If your application requires a rich user interface (UI), only limited access to local resources, and must be portable to other platforms, design an RIA client. • Determine the device types you will support. When choosing which device types to support, consider screen size, resolution (DPI), CPU performance characteristics, memory and storage space, and development tool environment availability. In addition, factor in user requirements and organizational constraints. You may require specific hardware such as GPS or a camera and this may impact not only your application type, but also your device choice.
  • 13. Mobile Architecture Overview (Cont.) Design Considerations • Design considering occasionally connected limited-bandwidth scenarios when required. your mobile device is a stand-alone device, you will not need to account for connection issues. When network connectivity is required, Mobile applications should handle cases when a network connection is intermittent or not available. It is vital in this case to design your caching, state management, and data-access mechanisms with intermittent network connectivity in mind. Batch communications for times of connectivity. Choose hardware and software protocols based on speed, power consumption, and “chattiness,” and not just on ease of programming. • Design a UI appropriate for mobile devices, taking into account platform constraints. Mobile devices require a simpler architecture, simpler UI, and other specific design decisions in order to work within the constraints imposed by the device hardware. Keep these constraints in mind and design specifically for the device instead of trying to reuse the architecture or UI from a desktop or Web application. The main constraints are memory, battery life, ability to adapt to difference screen sizes and orientations, security, and network bandwidth.
  • 14. Mobile Architecture Overview (Cont.) Design Considerations • Design a layered architecture appropriate for mobile devices that improves reuse and maintainability. Depending on the application type, multiple layers may be located on the device itself. Use the concept of layers to maximize separation of concerns, and to improve reuse and maintainability for your mobile application. However, aim to achieve the smallest footprint on the device by simplifying your design compared to a desktop or Web application. • Design considering device resource constraints such as battery life, memory size, and processor speed Every design decision should take into account the limited CPU, memory, storage capacity, and battery life of mobile devices. Battery life is usually the most limiting factor in mobile devices. Backlighting, reading and writing to memory, wireless connections, specialized hardware, and processor speed all have an impact on the overall power usage. When the amount of memory available is low, the Microsoft® Windows Mobile® operating system may ask your application to shut down or sacrifice cached data, slowing program execution. Optimize your application to minimize its power and memory footprint while considering performance during this process.
  • 15. Mobile Architecture Overview (Cont.) Technology Considerations • Android For Mobile Development Android apps are built as a combination of distinct components that can be invoked individually. For instance, an individual activity provides a single screen for a user interface, and a service independently performs work in the background. From one component you can start another component using an intent. You can even start a component in a different app, such an activity in a maps app to show an address. This model provides multiple entry points for a single app and allows any app to behave as a user's "default" for an action that other apps may invoke. Android provides an adaptive app framework that allows you to provide unique resources for different device configurations. For example, you can create different XML layout files for different screen sizes and the system determines which layout to apply based on the current device's screen size. You can query the availability of device features at runtime if any app features require specific hardware such as a camera. If necessary, you can also declare features your app requires so app markets such as Google Play Store do not allow installation on devices that do not support that feature.
  • 16. Mobile Architecture Overview (Cont.) Technology Considerations • iOS For Mobile Development iOS is the operating system that runs on iPad, iPhone, and iPod touch devices. The operating system manages the device hardware and provides the technologies required to implement native apps. The operating system also ships with various system apps, such as Phone, Mail, and Safari, that provide standard system services to the user. The iOS Software Development Kit (SDK) contains the tools and interfaces needed to develop, install, run, and test native apps that appear on an iOS device’s Home screen. Native apps are built using the iOS system frameworks and Objective-C language and run directly on iOS. Unlike web apps, native apps are installed physically on a device and are therefore always available to the user, even when the device is in Airplane mode. They reside next to other system apps, and both the app and any user data is synced to the user’s computer through iTunes.
  • 17. Mobile Architecture Overview (Cont.) Technology Considerations • Windows Phone Development Microsoft Silverlight for Mobile .NET Compact Framework Windows Mobile Windows Embedded
  • 18. Mobile Architecture Overview (Cont.) Technology Considerations • BalckBerry Apps Development RIM provides a number of solutions, listed below, to help you achieve success with your apps. All of these services are provided free of charge. BlackBerry World, the Advertising Service, the Payment Service, and the Analytics Service are all described below. All the SDKs are separate downloads so that the service is not tied to any particular version of the BlackBerry Java SDK. These SDKs are designed for easy integration. Post your app on BlackBerry World BlackBerry World is a vendor portal provided by RIM for you to sell your apps. There is no cost to you to register with BlackBerry World or to use it to sell your apps. BlackBerry World comes pre- loaded on new BlackBerry smartphones.
  • 19. Mobile Architecture and Design Techniques 1. Dynamic Differences In Mobile Design 2. Finding The Right Design Flow 3. Designing For Visual Appeal 4. Mobile Design Pattern
  • 20. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Understanding the Role of Mobile • As advanced as mobile devices and software have become, they still play a complementary role to traditional computing. Applications often tie into more traditional digital setups, be they word processors, spreadsheet managers, slideshow presentations, PDF readers, e-mail clients, or anything else used to perform work or personal functions. When not uploading photos from a hike, watching a movie, or playing a game on a mobile phone or tablet, some other form of hardware or software—most likely the kind that predates smartphones—is being used. • But as smartphones and tablets increase in power and potential, users are using these devices for an increasing number of tasks, and this growth has led to a remarkable point in computer history. PC sales consistently climbed for years, but numbers are now beginning to drop, while tablet sales are rising exponentially. The trend reported by various hardware manufacturers is largely the same; PC demand is way down and mobile demand is way up.
  • 21. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Mobile-Only Interactions • By now, you know that interaction design is the process by which software is iterated and fine-tuned into a form that delivers the best possible experience for the user. As an interface or interaction designer, it’s your job to sit down and strip away all unnecessary details and excess in your software so that you can minimize its complexity for potential customers. • Although interaction design often relates to software interfaces, hardware plays a major role in that concept as well. Let’s take a look at user-interaction methods and potentially problematic situations that only arise when working with smartphones and tablets.
  • 22. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions Only Possible with a Smartphone • In the early days of advanced mobile phones, processing power was the most significant limit- ing factor in interaction design. It was also the reason phones had been seen as second-class computing citizens; the devices just didn’t boast the juice that desktops and laptops have long had, and as a result performance suffered. Early smartphones often stuttered and were gener- ally unresponsive. • The design goals were simple in concept. When pinched, photos should resize dynamically without delay or slowdown; Web pages should scroll immediately when flicked up or down; dragging an icon around on screen should be fluid and should feel as if the pixels below are magnetized to our fingertips.
  • 23. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions Only Possible with a Smartphone • When designing an app, it’s important to ensure these functions take advantage of smart- phones’ inherent mobility. When working on a platform, it’s useful to think of the features and functions at hand as if you’re playing a sport; laying out an interaction plan for an app is like working out a team’s lineup and game strategy. If you want to be the best manager you can be, you need to fully understand the way the wind is blowing on any given day, and play to your personal design strengths, all while de-emphasizing the design weak- nesses for your team. • The design goals were simple in concept. When pinched, photos should resize dynamically without delay or slowdown; Web pages should scroll immediately when flicked up or down; dragging an icon around on screen should be fluid and should feel as if the pixels below are magnetized to our fingertips.
  • 24. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions Only Possible with a Tablet • Smartphones don’t have a monopoly on unique mobile experiences, though. Tablets also boast a host of interactions that are unique to their platform—though they do share many of the advantages that smartphones feature, because the two devices share a common ancestry. • Tablets are much smaller and lighter than laptops and also contain advanced microphones, cameras, location-tracking chips, gyroscopes, and other features that typically do not ship with traditional computers. • Much like when building a phone app, key features should be taken advantage of when con- structing tablet software, but it’s important to recognize that not all of these advantages are guaranteed. The iPad, for example, comes in two models: one with cellular connectivity and one without. Similarly, the first-generation Nexus 7 has no rear-facing camera, and the Micro- soft Surface has no cellular connectivity option.
  • 25. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions Only Possible with a Tablet • This influences interaction design, as an app needs to offer a uniform experience regardless of device capability. For example, designers need to ensure software doesn’t crash if a device isn’t constantly connected to the Internet, because some devices come with Wi-Fi only or with cellular data options. If you’re integrating photos into your app, it should be designed so that a user can pull an image from the local photo library if a camera is unavailable to take a picture to fill that space. • Tablets are much smaller and lighter than laptops and also contain advanced microphones, cameras, location-tracking chips, gyroscopes, and other features that typically do not ship with traditional computers.
  • 26. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions Only Possible with a Tablet • The tablet’s biggest advantage is simply that it brings the world of touch screens and dynami- cally interfaced applications to a device that is sized for reading, writing, and interacting with data. Once a designer first begins designing an app for a tablet, he or she is often struck by how similar it is to creating a poster, book cover, or other graphic for a paper product. For users too, this is the device’s most exciting feature; it’s the size of a book, yet eliminates the need to keep track of hundreds of pages of paper. In many respects, tablets are better than books because they allow for an interactive experience that a bound collection of dead-tree fragments simply doesn’t provide.
  • 27. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions That Aren’t Possible on Mobile - Keyboards and Data Entry • Applications that require extensive text entry or typing are standout examples of mobile- problematic experiences. It’s hard to recreate the ease and familiarity of the full QWERTY keyboard on a glass surface. Many have tried custom keyboard configurations, but text entry is still a key feature for which mobile devices trail traditional computers. • There are ways to get around this deficiency, including the Bluetooth support that allows external wireless keyboards to connect to tablets or phones, but this remains more of an obstacle than a solution as users must constantly remember to grab an extra device in order gain full functionality. • When creating an application of any kind, be aware of this data-entry difficulty as the interac- tion design is developed. Many programs make inputting numbers and letters too difficult, and as a result users shy away from using those apps. A little bit of work focused on making text entry more efficient can go a long way in interaction design.
  • 28. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions That Aren’t Possible on Mobile - Click, Tap, Point • The most important difference between the two involves the interaction radius the user has to engage with content. When moving a mouse, the user directly interacts with a small number of pixels at a time, usually only a handful. But when tapping with the finger, the user comes into contact with a much larger radius—sometimes as many as 40 or 50 pixels. Human fingers clearly aren’t as precise as mouse-pointer icons. Thus users have a much harder time making small, precise inputs on a screen, which is why larger buttons and icons are often seen on mobile devices. • User pointing devices won’t be the only variable designers need to consider; user skill level is never the same either. When working with a mouse, users don’t directly interact with content; instead, they move a device sitting on a table that then interacts with content. The software that operates computer mice can be adjusted for a variety of speed settings, giving the user flexibility in determining how his ability will affect the computing experience. A finger, though, comes with no such options menu, and some users may find it difficult to accomplish advanced gestures that come naturally to others.
  • 29. Mobile Architecture and Design Techniques Dynamic Differences In Mobile Design Interactions That Aren’t Possible on Mobile - Expandability • Mobile phones and tablets come with their own limitations as well. Namely, they lack the expandability and added-feature compatibility that traditional computers have offered for years. It’s tough, for example, to find a mainstream smartphone with USB ports, HDMI inputs, or connections to output to multiple monitors or hard drives. In some ways, this makes your job easier, as designers can focus on a single user experience and not worry about outlying features that are not commonly used. But like many tradeoffs in the mobile realm, this is a double- edged sword; many enthusiastic potential customers gain satisfaction from features or capabilities that are difficult or nearly impossible to implement on modern mobile devices—leaving potential profit on the table as a result.
  • 30. Mobile Architecture and Design Techniques Finding The Right Design Flow • Not all apps are created equal. Even if it accomplishes a desired task, how effectively an app does its job can vary greatly based on its type of application. As a result, it’s critical for designers to understand the various categories of apps their work falls into. Although the number of applications for various platforms is almost beyond comprehension, most of them fit into one of several broad categories. In this chapter, you’ll find examples of apps that fit into several simple and easily recognizable categories that will help you understand the work they’re doing at a root level.
  • 31. Mobile Architecture and Design Techniques Finding The Right Design Flow The Big Three App Types • At their most basic foundational level, applications fall into three general types regardless of the platform they’re on: native, Web, and hybrid. As long as the device on which the app runs has the capability to load software and access the Internet, it fits into one of these three designations. Although the differences between these types are subtle, it’s important to recognize the distinctions and determine what type you’re looking at when analyzing a piece of work. Identifying these three different categories can help you learn a lot about how an app works and make good assumptions about how its interface was set up.
  • 32. Mobile Architecture and Design Techniques Finding The Right Design Flow The Big Three App Types - Native Apps • A native app is composed of pieces of software completely written in the native language of a platform. For iOS, the native language is Objective-C; for Android it’s Java or C/C++. Native applications are written entirely to the specification of the platform owner by using the technologies and best practices prescribed by whoever has built the operating system. • Native applications will usually be the most powerful applications on any given system, because they have the ability to most easily tie in to the various advanced hardware functions (GPS, motion control, etc.) of a phone or tablet. Likewise, the platform providers will also produce diverse APIs that make it easy to integrate features such as maps, advanced-interface user interactions, easy file storage, and much more. Native applications will persist as the most dynamic and fluid applications on a device, providing superior hardware power thanks to their direct framework integration with the various device components. That allows for better integration of animations, advanced 3-D rendering, and anything else that may require high processing power.
  • 33. Mobile Architecture and Design Techniques Finding The Right Design Flow The Big Three App Types - Web Apps • The complete antithesis of the native application, meanwhile, is one that actually offers the best explanation of what a native app really is. The native app’s polar opposite is the Web application, something all smartphone users will inevitably come across. These are pieces of software that run completely inside of a Web browser. They feature interfaces built with HTML or CSS; are powered via one of a variety of popular Web programming languages, such as Ruby on Rails, JavaScript, PHP, or Python; and can typically be run on any phone, tablet, or computer with a standards-compliant, modern Web browser. • The ability to run on nearly any phone, tablet, or computer does also come with several big hurdles that must be overcome, however. First and foremost, designers won’t have access to the native frameworks and interface-creation tools provided by Apple, Google, or another plat- form creator. Instead, designers must create their own user interface entirely from scratch.
  • 34. Mobile Architecture and Design Techniques Finding The Right Design Flow The Big Three App Types - Hybrid Apps • The hybrid app combines attributes of both native and Web apps. The ultimate goal of hybrid applications is to use some sort of redundant, common code that can be used across platforms while also tailoring required attributes to the native system. • Take an application designed, for example, to display topics hierarchically in a standard iOS or Android table while also relying on HTML-based text views when a user moves forward to view specific information in a topic area. This presents a designer with HTML formatting language that is capable of providing advanced text styling on multiple platforms using just one document but can still take advantage of the native device presentation offered by using tables.
  • 35. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods • Now that you know the difference between three major types of applications, how will each change the way you go about building ways for users to navigate through and interact with your programs? Each app type has its own set of common navigation-interaction methods that will change how you operate, depending upon the platform you’re working on.
  • 36. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Single View • Single-view applications are easily the simplest type of applications that you can build, containing merely a single page of information that can be interacted with on screen. What users see upon opening the application is all they get. Although remarkably basic, this type of app is still rather common; most calculators, built-in cameras, and utility apps use this form of simple interface, as shown in Figure
  • 37. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Stacked Navigation Bar • Stacked navigation views are popular on a variety of different mobile operating systems and are perhaps even the most common interactions interface a designer ever works with. On modern-day iOS, this interface is called the “Navigation Bar” and on Android it’s typically referred to as the “Action Bar.” • Regardless of platform, this interaction piece is often anchored to the top of the view and remains a constant figure spanning the width of the screen. This navigational tool is quite familiar to anyone who has ever used a mobile operating system; it presents several interaction pieces in the main part of the screen, and tapping one pushes forward to a new view. As it does so, a navigation stack anchored to the top of the screen animates to visually indicate to the user that a foreword movement has taken place. A back arrow appears at the top left of the navigation bar, as you can see in Figure next slide , allowing the user to reverse to the previous view.
  • 38. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Stacked Navigation Bar
  • 39. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Tab Controller • The tab view is another primary controller type and navigation view found on a wide range of platforms. This style is called upon when there are three or four different views that will contain all of the application’s functionality. In these views, opening one of the tabs or using a slight swipe from left or right is used to switch the primary content view on screen. • On iOS, segmented view controllers can also serve a similar function, though the segmented control is usually only applied in order to switch between two or three different types of views. The tab controller, meanwhile, may be used for up to five or six different views of content. Sometimes, navigation controllers will be used on top of tab controllers to provide multiple levels of hierarchy for content.
  • 40. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Tab Controller
  • 41. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Scroll Views • Scroll views have been an extremely popular element throughout the history of computing, and anyone who has grabbed a mouse or touched arrow keys on a keyboard over the past few decades is familiar with them. On mobile, though, this interaction method handles a bit differ- ently. Scroll views are used for groups of photos, text, or any other information that surpasses the width and height of the device, as we can find in the iOS Weather app in Figure in next Slide.
  • 42. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Scroll Views
  • 43. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Search-Driven Navigation • Another common navigation type—search-driven navigation—is an interaction method not often thought of as one that moves users between views. It’s commonly used on both iPhone and Android, though, and can be implemented without taking up much space on screen because the search bar is usually fairly small. Incorporating search functions helps to navigate and drive a user through an application. • Designers can also use voice search in a way similar to how Apple has integrated Siri and Google has incorporated Google Now into their respective devices, or a designer can keep it simple and use a more standard, text-based search. Both Android and iOS offer simple interaction tools that help implement search-centric applications via text, although you may have to put in a bit more effort and integrate a third-party framework into an app binary in order to include voice search.
  • 44. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Search-Driven Navigation
  • 45. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Modal Controller • One of the more common control types—modal—is used so frequently that designers are likely to implement it without ever realizing it. Modal controls are used when an application forces the user to make one choice or interaction decision specifically before moving on to a further view or seeing more information. A modal setup can contain several specific views or multiple controls within it, but it’s always seen as somewhat of an interjection into the typical application flow, helping to focus the user on the task at hand. • Implementing an e-mail sheet in an application is a nice example of effective modal control. If a user, say, taps an image that looks like an envelope, he or she could be presented with a system-standard view that allows for information from the app to be shared with another person. The experience, remember, is disruptive, but it focuses the user; the e-mail form sheet (a modal view) pops up on top of the app’s standard content, forcing the user to send an e-mail or cancel out of the window.
  • 46. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Modal Controller
  • 47. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Gesture-Based Navigation • Another navigation interaction—one that’s relatively new to the mobile landscape—is a pure, gesture-based navigation control. Gesture techniques such as two- or three-finger scrolls, pinches, and others are now often used to move the user through different parts of an application. • This application-flow model is not very common, but it’s possible on both iOS and Android and on native and hybrid applications; however, a gesture- focused-navigation app would be very difficult to execute in a Web application. Trouble arises there due to the lack of the direct use of essential gesture-recognition frameworks that are built into mobile platforms such as Android and iOS. Instead, a Web browser controls most of our touch-based interaction, and browsers aren’t programmed to recognize and take advantage of the advanced gestures required for these controls.
  • 48. Mobile Architecture and Design Techniques Finding The Right Design Flow Common App Navigation Methods - Gesture-Based Navigation