0% found this document useful (0 votes)
14 views17 pages

Mobile Application Development Challenges-1

Uploaded by

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

Mobile Application Development Challenges-1

Uploaded by

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

Mobile Application

Development Challenges

Lesson 2
Development of mobile applications provides for many challenges and obstacles
that are not commonly found in the development of applications for desktop
computers

The challenges faced by developers are found in:

- Heterogeneity of mobile devices


- Security
- Network
Challenge: Mobile Devices

Display/Screen Size

Mobile devices come in many different screen sizes

Consider the differentiating screen sizes between smartphones and cell phones

Smartphones offer the user a generally larger and higher resolution display screen,
contrasted to cell phones which generally provide lower resolution and smaller
display size
Memory

Just as screen size differs from device to device, the amount of available memory
and differs from device to device

Developers must create applications which have a minimal memory footprint on


the device while being of service to the user

Memory must also be carefully managed during the execution of any mobile
application as it can potentially render the phone unusable until termination of the
application
Processing Power

Another sign of the heterogeneity of mobile devices is the processing power

The CPUs differ from phone to phone and this must be taken into consideration by
developers

Developers cannot create applications that require the user to wait an


unreasonable amount of time for the service to load
Input Devices

The input devices on mobile devices range from full QWERTY keyboards to three
letter button inputs

This means developers must take into account how much text is required by the
user to input into their application and what kind of difficulties they may
experience based on their device
Challenge: Network

Transmission Errors

When creating mobile applications that utilize network connections there is a


variety of issues that can effect the application

Wireless networks are exposed to interference which can alter the message
received by the client or the server then what was originally sent

Applications must take into account these potential problems especially in


financially sensitive services
Message Latency

Messages that are to be sent to clients or servers can be delayed due to a variety
of reasons such as overloaded network nodes or servers, dead or turned off cell
phones, distance to travel

Applications must take this into account so as to avoid sending servers or clients
stale information
Bandwidth Usage

Wireless customers are forced to pay fees to access the wireless network and
internet

While phones with WIFI capabilities allow for some users to have free connectivity
at times it is important to keep messages to a minimum and compact

Applications that cost a lot to use will not be popular with many of the financially
conscious users
Challenge: Security

Wireless networks by default are not as secure as wired networks, it is important


to note that message can be intercepted when travelling through the air.

Mobile applications must secure the sensitive data that is being transmitted over
the air

There are different methods to implement security but it must be relative to the
information we want to secure and the resources that we wish to use for securing
it
Solutions

Display/Screen Size

There is no one single method to overcome to problem of different screen sizes


however there are some ways to help

1: When dealing with graphics that should be placed on edges use


methods which retrieve the edge of the display

2: When creating an for a particular set of mobile devices (ie.


Blackberry’s, cell phones) create the layout to the smallest display size
Memory

Compact data representation will help reduce the amount of memory it requires to
load and use your application

Use optimization techniques to reduce the amount of code required to write your
application (see J2ME tech tips)

Compress any graphic images that you use in your application and save graphics
in a format which takes the least space
Processing Power

A result of reducing the memory consumption and footprint of the application


should help time required to load applications

If the mobile application has a client-server architecture consider the partitioning


of the application

Allow the server to do the brunt of the calculations and processing work and pass
the information to the mobile device for less CPU intensive calculations
Input Devices

To overcome some of the problems that can occur with the different input devices
make input requirements concise, therefore the user should be able to perform the
most common tasks in an application with the least amount of button presses

Provide users with menus when possible to help reduce the amount of button input
required
Transmission Errors

Transmissions errors may be inevitable when dealing with wireless networks but
there are some wireless network protocols than can correct or at the least detect
these errors

One solution does not exist for every single type of transmission error that may
occur, it is important to plan for these types of errors and be able to deal with
them accordingly
Message Latency

In a client-server architecture the server can store messages that do not arrive at
the mobile device and attempt to resend them at specific intervals

Servers can also store the message and send it when the mobile device
reconnects to the system

Let the user know if they receive a message that can possibly be out of date or no
longer valid, this could be done using timestamps
Security

Important to implement security to a level which is appropriate for the data being
exchanged

Mobile devices, having limited processing power, cannot generate large


cryptographic keys in a reasonable amount of time

There has been research into creating keys for algorithms such as RSA and others
and sending this to the mobile device to use but this is an area that is still
developing

You might also like