0% found this document useful (0 votes)
56 views8 pages

Example of Mobile App Architecture

Uploaded by

attrikunal16
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views8 pages

Example of Mobile App Architecture

Uploaded by

attrikunal16
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

An embedded system is an electronic system, which includes a single chip

microcomputers(Microcontrollers) like the ARM or Cortex or Stellaris


LM3S1968. It is configured to perform a specific dedicated application.
Software is programmed into the on chip ROM of the single chip computer.
This software is not accessible to the user, and software
solves only a limited range of problems. Here the microcomputer is
embedded or hidden inside
the system. Every embedded microcomputer system, accepts inputs,
performs computations,
and generates outputs and runs in “real time.”
For Example, a typical automobile now a day contains an average of ten
microcontrollers. In
fact, modern houses may contain as many as 150 microcontrollers and on
average a consumer
now interacts with microcontrollers up to 300 times a day. General areas
that employ embedded
systems cover every branch of day to day science and technology, namely
Communications,
automotive, military, medical, consumer, machine control etc...
Ex: Cell phone, Digital camera , Microwave Oven,MP3 player, Portable digital
assistant &
automobile antilock brake system etc.
Characteristics of an Embedded System: The important
characteristics of an embedded system are
Speed (bytes/sec) : Should be high speed
Power (watts) : Low power dissipation
Size and weight : As far as possible small in size and low weight
Accuracy (% error) : Must be very accurate
Adaptability : High adaptability and accessibility.
Reliability : Must be reliable over a long period of time.
So, an embedded system must perform the operations at a high speed so
that it can be readily used for real time applications and its power
consumption must be very low and the size of the system should be as for as
possible small and the readings must be accurate with minimum error. The
system must be easily adaptable for different situations.

CATEGORIES OF EMBEDDED SYSTEMS : Embedded systems can be


classified into the following 4 categories based on their functional and
performance requirements.
Stand-alone embedded systems
Real-time embedded systems -- Hard real-time systems & Soft real-time
system
Networked embedded systems and
Mobile Embedded systems.
Based on the performance of the Microcontroller they are also classified into
(i) Small scaled
embedded system (ii) Medium scaled embedded system and (iii) Large
scaled embedded
system.
Standalone Embedded systems: A stand-alone embedded system works
by itself. It is a self-contained device which do not require any host system
like a computer. It takes either digital or analog inputs from its input ports,
calibrates, converts, and processes the data, and outputs the resulting data
to its attached output device, which either displays data, or controls and
drives the attached devices. Temperature measurement systems, Video
game consoles, MP3 players, digital cameras, and microwave ovens are the
examples for this category.
Real-time embedded systems: An embedded system which gives the
required output in a specified time or which strictly follows the time
deadlines for completion of a task is known as a Real time system. i.e a Real
Time system, in addition to functional correctness, also satisfies the time
constraints.
There are two types of Real time systems. (i) Soft real time system and (ii)
Hard real time system.
Soft Real-Time system: A Real time system in which, the violation of time
constraints will cause only the degraded quality, but the system can continue
to operate is known as a Soft real time system. In soft real-time systems, the
design focus is to offer a guaranteed bandwidth to each real-time task and to
distribute the resources to the tasks.
Ex: A Microwave Oven, washing machine, TV remote etc.
Hard Real-Time system: A Real time system in which, the violation of time
constraints will cause critical failure and loss of life or property damage or
catastrophe is known as a Hard Real time system.
Mobile Embedded systems: The portable embedded devices like mobile
and cellular phones, digital cameras, MP3 players, PDA (Personal Digital
Assistants) are the example for mobile embedded systems. The basic
limitation of these devices is the limitation of memory and other resources.

Mobile Information Architecture:


The structural design of shared information environments
• The combination of organizations, labeling, search, and navigation systems
within websites and intranets.
The art and science of shaping information products and experiences to
support
usability and findability
• An emerging discipline and community of practice focused on bringing
principles
of design and architecture to the digital landscape.
Information architecture
The organization of data within an informational space. In other words, how
the
user will get to information or perform tasks within a website or application.
Interaction design
The design of how the user can participate with the information present,
either in
a direct or indirect way, meaning how the user will interact with the website
of
application to create a more meaningful experience and accomplish her
goals.
Information design
The visual layout of information or how the user will assess meaning and
direction
given the information presented to him.
Navigation design
The words used to describe information spaces; the labels or triggers used to
tell
the users what something is and to establish the expectation of what they
will find.
Interface design
The design of the visual paradigms used to create action or understanding.

The Elements of Mobile Design

Context
As the designer, it is your job to make sure that the user can figure out how
to address context using your app. Make sure you do your
homework to answer the following questions:
• Who are the users? What do you know about them? What type of behavior
can
you assume or predict about the users?
• What is happening? What are the circumstances in which the users will
best absorb
the content you intend to present?
• When will they interact? Are they at home and have large amounts of
time? Are
they at work where they have short periods of time? Will they have idle
periods of
time while waiting for a train, for example?
• Where are the users? Are they in a public space or a private space? Are
they inside
or outside? Is it day or is it night?
• Why will they use your app? What value will they gain from your content or
services
in their present situation?
• How are they using their mobile device? Is it held in their hand or in their
pocket?
How are they holding it? Open or closed? Portrait or landscape?

Message
Look and Feel
Layout
Color
Color palettes
Typography
Readability

Example of Mobile App Architecture


Usage ‍
A clear and defined architecture can make the developer’s work easier and faster.
Developers also have better control over work and data flow in the application. A clear
and defined architecture does not only make things easier but it also makes testing
more efficient and increase the quality of an application.
In the image of the three-layer model, you can see the implementation of each of the
layers will be dependent on its purpose or project scope.
The presentation layer relies on screen designs and their behavior. On the other hand,
the Business Layer depends on what kind of data will be provided by the data layer. It
also relies on how this data needs to be processed to match the presentation layer’s
requirements.
The data layer will be responsible for managing the sources of data, synchronizing
them, and providing it to the higher levels. The data layer has the most specified scope
and making it the perfect starting point for optimizations.
To start the optimization data layer, it is important to select a programming pattern that
will solve common problems and make work easier and faster. The optimal pattern for
mobile projects for data layer will be the so-called Repository pattern.
One of the most popular patterns, Repository Pattern, is to create an enterprise level
application. It is easy to use and clean pattern, which restricts developers to work
directly with the data in the app. It also helps to create new layers for database
operations, business logic, and the app’s UI. If the mobile app does not follow the
Repository pattern, it may have the following problems:

 It would be hard to implement database caching


 Duplicate database operation codes

By using the Repository Pattern, it embraces the following advantages:

 The database access code can be reused.


 It is easy to implement domain logic.
 Your domain entities or business entities are strongly typed with annotations.
 Your database access code is centrally managed. So that it is easy to implement
any database access policies like caching.

The Repository pattern is one of many examples of patterns for data layers. For large
mobile projects, Repository pattern is a perfect solution because it resolves the problem
of managing multiple data sources and mapping data entities used by business logic
components.‍‍

Important Factors to Consider Whilst


Developing Mobile App Architecture
1. Determining The Device Type
Smartphones come in different categories and this is what you need to keep in mind
whilst developing mobile app architecture. The type of the smartphone is generally
decided by its operating systems on which they run on. As you have already known that
the Android smartphones are completely different from iPhones and these two are
totally different categories. It is also a pivotal deciding factors before selecting the
mobile app architecture. The other important device characteristics, which you should
consider, are:

 Screen Size & Resolution


 CPU Characteristics
 Memory
 Storage Capacity
 Availability of Development Tool Framework

Thus, all you need to keep in mind is to determine the type of device before choosing
the mobile application architecture.

2. Considering Bandwidth Scenarios


There may be times when internet connectivity is zero or very limited. In such case, all
you should take into account the bandwidth scenario or think about the local internet
network of the demographic region. Plus, the region where your targeted audience is.
Sometimes, the very low speed of internet frustrates the user and user would abandon
the app eventually. It also leads to poor user experience. Hence you should consider
the worst possible internet network while developing the mobile app architecture.

3. Selecting the Optimal Navigation Method


The salient factor is the app navigation method. However, the needs and priorities of
customers can be fulfilled by choosing the optimal navigation method.
The mobile app navigation has a large influence on user experience. It is important to
go with an optimal navigation method for the app. To get an optimal one, you can
choose from a list of navigation methods:

 Single view
 Stacked navigation bar
 Scroll view
 Modular controller
 Gesture-based navigation
 Search-driven navigation
 Tab controller

Follow guidelines to understand the requirements of the user considering different


scenarios.
4. Stating User Interface (UI)
A confusing UI leads to the failure of an app. Users should be able to seamlessly
interact with the app. It is important to keep things simple. Make sure you would not
pour out all your creativity into the user interface. Do not forget the thumb rule, which is
simply the best medicine for designing highly interactive and intuitive UI.

5. Real-time Updates vs Push Notifications


When deciding the correct app architecture for your app, ask yourself whether your
users need real-time updates or push notifications. Real-time updates can be a
compelling feature, but it might be an expensive feature. Plus, this feature also
consumes the phone’s battery and data.

Problems Occur When Ignoring Mobile


App Architecture
Selecting the right mobile app architecture is a mandatory step. And, it is one of the
primary elements in the design and planning phase of software development. Due to
developer’s negligence, rush, lack of experience and knowledge, the concept of
architecture is generally overlooked.
The lack of architecture in apps causes a few major problems like:

 It will be difficult to develop and maintain.


 It will be more error-prone.
 Code is less readable
 Without architecture or design patterns, the source code is hard to test. And, it
results in missing unit tests of key functionalities. Also, lack of tests causes
difficulties with maintaining the software, for example, no regression control,
much harder refactoring or bug fixing, etc.

Developing an app or software without architecture or design patterns is like a building


without foundation. In the starting, inexperienced developers generally experience
speed in the process without architecture. However, it may seem faster at first, but it
soon turns out to be a dead end. Regardless of the size and complexity of the project, it
is mandatory to consider mobile application architecture to get the best results.

Important Tips on Choosing the Best


App Architecture
By choosing the best mobile app architecture can wonder for your project. To know how
we’ve rounded up a few important tips on how to choose the suitable app architecture:
 If you don’t want to stretch your budget, go with the native apps to get interactive
features and excellent performance.
 The native app is also a perfect choice for cross-platform app development users
(both Android and iOS).
 We suggest you follow the approach “develop once and run anywhere”. It means
trying out various options mobile web app, hybrid app or a cross-platform app.
 If you want more customers and engage them, choosing a combination of a
native app with web app is a good idea. The native app considers optimal user
experience and ensures the visibility of your business by reaching out to
customers.

You might also like