Anda di halaman 1dari 10

BRIAN B.

CALDONA
Friday 8am-10am

LONG QUIZ REVIEW

Application of Mobile Devices


* Vehicles
* Disaster Relief and alarm
* Games
* Military
* Security
* Robotics
Mobile Information Architecture
Information Architecture (IA)

is the structural design of shared information environments; focused on bringing


principles of design and architecture to the digital landscape.
is a specialized skill set that interprets information and expresses distinctions
between signs and systems of signs preferably one that the intended audience
can understand quickly.

Mobile Information Architecture


Mobile devices have their own set of Information Architecture patterns. While the
structure of a responsive site may follow more standard patterns, native apps.
Example of Patterns
1. Hierarchy
2. Hub & Spoke
3. Nested Doll
4. Tabbed View
5. Bento Box
6. Filtered View
HIERARCHY
The hierarchy pattern is a standard site structure with an index page and a series
of sub pages.
Organizing complicated site structures that need to follow a desktop sites
structure.
HUB AND SPOKE
A hub and spoke pattern gives you a central index from which users will navigate
out. Its the default pattern on Apples iPhone. Users cant navigate between
spokes but must return to the hub, instead.
Multi-functional tools, each with a distinct internal navigation and purpose.
NESTED DOLL
The nested doll pattern leads users in a linear fashion to more detailed content.
Gives the user a structure of the content due to the perception of moving forward
and then back.
Users wont be able to quickly switch between sections.
TABBED VIEW
Its a collection of sections tied together by a toolbar menu. This allows the user to
quickly scan and understand the complete functionality of the app when its first
opened.
Tools based apps with a similar theme. Multi-tasking.
BENTO BOX / DASHBOARD

Brings more detailed content directly to the index screen by using components to
display portions of related tools or content.
This pattern is more suited to tablet than mobile due to its complexity.
FILTERED VIEW
A filtered view pattern allows the user to navigate within a set of data by selecting
filter options to create an alternative view.
Apps or sites with large quantities of content, such as articles, images and videos.
Can be a good basis for magazine style apps or sites.

Mobile Web vs Native Applications


Mobile Web
Is an internet-enabled apps that have specific functionality for mobile
devices. Theyre accessed through the mobile devices web browser (i.e. on the
iPhone, this is Safari by default) and they dont need to be downloaded and
installed on the device.
Native Application
Is an app developed essentially for one particular mobile device and is
installed directly onto the device itself. Users of native apps usually download them
via app stores online or the app marketplace, such as the Apple App Store, the
Google Play store and so on.
Comparison of Mobile Web App vs. Native App
User interface
Development
Capabilities
Monetization
Method of delivery
Versioning of the app
Strengths
Weaknesses
User Interface
Mobile Web App

Native App

Runs in the mobile devices web browser


and each may have its own features and
quirks

Each mobile application development


platform (e.g. iOS, Android) requires its own
development process

Mobile web apps are written in HTML5,


CSS3, JavaScript and server-side
languages or web application frameworks
of the developers choice (e.g. PHP, Rails,
Python)

Each mobile application development


platform has its own native programming
language: Java (Android), Objective-C (iOS),
and Visual C++ (Windows Mobile), etc.

There are no standard software


development kits (SDKs) that developers
are required to use to make a mobile web
app

Standardized software development kits


(SDKs), development tools and common user
interface elements (buttons, text input fields,
etc.) are often provided by the manufacturer
of the platform

Some companies choose to develop both a native app and a mobile web app. Heres a
side-by-side look at Facebooks native app and mobile web app:
Development
Capabilities
Mobile Web Apps

Native Apps

Mobile web apps can access a limited


amount of the devices native features
and information (orientation, geolocation,
media, etc.)

Can interface with the devices native


features, information and hardware (camera,
accelerometer, etc.)

Monetization
Mobile Web Apps

Native Apps

Mobile web apps can monetize through


site advertisement and subscription fees

Mobile-specific ad platforms such as


AdMob (though there can be restrictions set
by the mobile devices manufacturer)

Charging users to use the mobile web app


requires you to set up your own paywall
or subscription-based system

Developers have the ability to charge a


download price and app stores will typically
handle the payment process (in exchange for
a percentage of sales)

Method of Delivery
Mobile Web Apps

Native Apps

Accessed through a mobile devices web


browser

Downloaded onto a mobile device

No need to install new software

Installed and runs as a standalone


application (no web browser needed)

Updates are made to the web server


without user intervention

Users must manually download and install


app updates

Since there is no app store for the Mobile


Web, it can be harder for users to find
your app

There are stores and marketplaces to help


users find your app

Versioning of the App


Mobile Web Apps

Native Apps

All users are on the same version

Some users may choose to ignore an


update, resulting in different users running
different versions of the app

Strengths
Mobile Web Apps

Native Apps

Have a common code base across all


platforms

Typically perform faster than mobile web


apps

Users dont have to go to a store or


marketplace, download the app and
install the app

App stores and marketplaces help users find


native apps

Can be released in any form and any time


as there isnt an app store that has to
approve the app

App store approval processes can help


assure users of the quality and safety of the
app

If you already have a web app, you can


retrofit it with a responsive web design

Tools, support and standard development


best practices provided by device
manufacturers can help speed up
development

Weaknesses
Mobile Web Apps

Native Apps

Mobile web apps cant access all of the


devices features (yet)

Are typically more expensive to develop,


especially if youre supporting multiple
mobile devices

Supporting multiple mobile web browsers


can result in higher costs in development
and maintenance, etc.

Supporting multiple platforms requires


maintaining multiple code bases and can
result in higher costs in development,
maintenance, pushing out updates, etc.

Users can be on different mobile browsers


and can make your app harder to
maintain and provide support for

Users can be on different versions and can


make your app harder to maintain and
provide support for

For users, it may be harder to find a


mobile web app because of the lack of a
centralized app store (though listings do
exist such as Apples Web apps and you
can request to be listed in them)

App store approval processes can delay the


launch of the app or prevent the release of
the app

THE APPLICATION ENVIRONMENT

Limited Resource Computing


Memory Management
Low Power Computing
Fault Tolerance and Persistence
Security Issues
LIMITED RESOURCES COMPUTING

Is any physical or virtual component of limited availability within a


computer system.

Internal Memory
Some tips to maximize it:
Review and determine the internal memory's availability
A high Built-in Internal memory
Example: an iPhone has a high built-in internal memory.
External memory
Some tips to maximize it:
Delete some unnecessary applications
Buy a high Memory card (SD CARD) in a mobile market
Screen Resolution
Some tips to maximize it:
Use some other device to maximize your screen resolution
Example : Projector.
Power
Some tips to maximize it:
Buy a powerbank in a market to maximize the use of your battery
File sharing
Some tips to maximize it:
Using bluetooth, infrared and etc.
Can also share using some applications available in the market like superbeam.
Processor
Some tips to maximize it:
You can maximize your mobile processor by upgrading it
In IOS, they implement an automatic upgrading system.
DEVELOPMENT ENVIRONMENT
Mobile application development

is the process by which application software is developed for low-power handheld


devices, such as personal digital assistants, enterprise digital assistants or mobile
phones. These applications can be pre-installed on phones during manufacturing,
downloaded by customers from various mobile software distribution platforms, or
delivered as web applications using server-side or client-side processing (e.g.
JavaScript) to provide an "application-like" experience within a Web browser.
Mobile Development Options

2 KINDS OF DEVELOPMENT TOOLS


1.Native Development tools - designed solely for use with a particular operating
system
2.Cross-Platform tools -give developers the flexibility to create an application that
will run
across multiple mobile devices
Native Development Tools
such as Apple iOS, Android, or Microsoft Windows Phone 7.
One advantage of using native development tools: applications will run more
smoothly on whichever mobile devices use that operating system, which can
represent a vast market.
Cross-Platform Development Tools
two categories: Mobile Enterprise Application Platforms (MEAP) or Mobile Consumer
Application Platforms (MCAP)
MEAPs tend to have more full-fledged development environments, with a wider
variety of traditional tools such as graphical user interfaces, version control, and
workflow.
They tend to have more integration tools and gateways to third-party services
(such as Facebook and Twitter), as well as better technical support capabilities.
The MCAP category includes such tools as PhoneGap, Appcelerator, and
AppMobi, and leans more toward the open-source world.
They incorporate three key technologies: HTML5, Cascading Style Sheets (CSS),
and JavaScript.
Using open-source capabilities allows developers to create mobile applications at a
lower cost, but also requires them to do a greater amount of work on their own,
and do it with a command-line rather than a graphical interface.
Mobile Development Best Practices
Methodology - Determining the design methodology is key to mobile application
development, especially in a cross-platform environment where multiple efforts
may be underway simultaneously.
Development Skills - Developers should confirm that their team has the proper
breadth and depth: breadth in the needs of application area being targeted, and
depth on the particular platforms being used.
Security - mobile devices are vulnerable. They upload and download data
wirelessly, in potentially insecure locations. Theyre small and can be misplaced.
Design - Developers should take into account the most appropriate architecture
for mobile applications.

API Management - Developers should institute a strict policy regarding use of


components across platforms, which facilitates maintenance and extensibility
across applications on different platforms.
Testing and User Experience - Application testing is often overlooked in
development schedules, but the fact that mobile users tend to need information on
a time-sensitive basis means that applications should be more reliable than
desktop applications. Applications should be tested not only for usability, but for
power consumption to verify theyre not battery hogs.
Application Analytics - Because mobile applications do not run on an alwaysconnected environment where IT can monitor clicks and other usage, its crucial to
incorporate analytics features that track how users interact with the application.
This will not only help identify ongoing technical support issues, but also reveal
whether users are interacting with the application in the fashion developers
expected.
Feedback Mechanism -The flip side of automated application analytics is a
feedback mechanism for users. Dont rely solely on automated capabilities, but
develop a capabilitywhether through e-mail, social networking or other means
(even through the application itself)for users to report bugs and offer insight into
what they like and dislike about the application.
Fault Tolerance

Application Environment
Fault tolerance
Computer or system program with self contained backup system
Allows you to continue work and give satisfaction results despite of errors
Transaction Execution in Mobile Database Systems
Disappearance of MH (mobile host) due to disconnections
Fault tolerance
Transaction proxy - The MHs do no execute any computation, but instead ask the
MSSs(mobile support stations) to execute transactions on their behalf
Read-Only Transactions - MHs only cache data ob jects for queries, and updates
are performed as in the preceding case.
Weak Transactions - In this case, they must stabilize their updates as soon as
they re-connect, that is, they have to globally commit the updates in order to reestablish consistency and to guarantee durability.

LOW POWER COMPUTING

Low power computing/electronics are machines/electronics that have been


designed or made to use less power than the usual computing electronics.
Today, low power electronics are invading the trends and necessity of us humans.
With the current state of technology, low power computers/electronics have the
ability to reduce the computer requirements.
As a matter of fact, a device that designed specifically is much better than a
machine that is designed generally.

Low power electronic devices is cheap, tiny, smart and efficient. These traits of low
power computing is what makes it awesome and profitable.
Examples of a low power computing
LAPTOP
SMARTPHONES
TABLETS
NOTEBOOKS

MEMORY MANAGEMENT
Is the act of managing computer memory. In its simpler forms, this involves
providing ways to allocate portions of memory to programs at their request, and
freeing it for reuse when no longer needed. The management of main memory is
critical to the computer system.

The memory management subsystem provides:


1. Large Address Spaces
The operating system makes the system appear as if it has a larger amount of
memory than it actually has. The virtual memory can be many times larger than
the physical memory in the system.
2. Protection

Each process in the system has its own virtual address space. These virtual
address spaces are completely separate from each other and so a process
running one application cannot affect another. Also, the hardware virtual
memory mechanisms allow areas of memory to be protected against writing.
This protects code and data from being overwritten by rogue applications.

3. Memory Mapping

Memory mapping is used to map image and data files into a processes address
space. In memory mapping, the contents of a file are linked directly into the
virtual address space of a process.

4. Fair Physical Memory Allocation

The memory management subsystem allows each running process in the


system a fair share of the physical memory of the system.

5. Shared Virtual Memory

Although virtual memory allows processes to have separate (virtual) address


spaces, there are times when you need processes to share memory.
Memory management is usually divided into three areas:
Hardware memory management

Operating system memory management


Application memory management

6. Hardware memory management

Memory management at the hardware level is concerned with the electronic


devices that actually store data. This includes things like RAM and memory
caches.

7. Operating system memory management

In the operating system, memory must be allocated to user programs, and


reused by other programs when it is no longer required. The operating system
can pretend that the computer has more memory than it actually does, and also
that each program has the machines memory to itself; both of these are
features of virtual memory systems.

8. Application memory management

Application memory management involves supplying the memory needed for a


programs objects and data structures from the limited resources available, and
recycling that memory for reuse when it is no longer required. Because
application programs cannot in general predict in advance how much memory
they are going to require, they need additional code to handle their changing
memory requirements.

9. Memory management problems


The basic problem in managing memory is knowing when to keep the data it
contains, and when to throw it away so that the memory can be reused. This
sounds easy, but is, in fact, such a hard problem that it is an entire field of study
in its own right. In an ideal world, most programmers wouldnt have to worry
about memory management issues. Unfortunately, there are many ways in
which poor memory management practice can affect the robustness and speed
of programs, both in manual and in automatic memory management.

SECURITY ISSUES

The common issues regarding low power computings is the security of its data and
application. Exploits may come from means of communication like wifi, vpn, lan
and etc.
There are also attacks that exploits the vulnerabilty of a software (Be it from OS
up to browsers).
Different security counter-measures are being developed and applied to low
power electronics which improves the security of a device; from its security up to
its design.
Another big problem plaguing mobile computing is credential verification. It's
not possible to that the person using that person is the true barrier.
Other users share username and passwords. This is also a major threat to security.
This being a very sensitive issue, most companies are very reluctant to implement
mobile computing to the dangers of misrepresentation.

The problem of identity theft is very difficult to contain or eradicate. Issues with
unauthorized access to data and information by hackers, is also a plaguing
problem.
They gain access to steal vital data from companies. This problem has been a
major headache and hindrance in rolling out mobile computing services.
No company wants to lay open their secrets to hacker and other intruders, who will
in terms sell them to their competitors. It's also important to take the necessary
precautions to minimize these threats from taking place.
Some of those measures include:

Hiring qualified personnel.

Installing Security Hardware and Software.

Educating the Users on proper Mobile computing ethics.

Auditing and developing sound, effective policies to govern mobile computing.

Enforcing proper access rights and permissions.