Rapport_2x

goatishspyΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

94 εμφανίσεις

2


Introduction


As we can see at PJ Studios site a mobile application can allow us to access our PC's music, our
keyboard, our mouse and to control our Media Center.


Mobile applications have developed largely from simple applications allowing us to find a
contact to very useful applications that allow us to stay in contact with the world.


These applications are divided into several categories, we mention the following ones:

-
Entertainment appli
cations

-
Chatting applications

-
And

navigation applications




What was once true of websites is now true of mobile applications”.
These days, we can say
that e
very company worth its name must have a mobile app
lication

or
it will
be forgotten.


Five year old

Impiger Mobile Inc

, based in the heart of Texas in the Da
llas
-
FortWorth
Metroplex, US, has a large team of experienced software engineers who have rich expertise in
iPhone, BlackBerry and
Android application development.

This company has developed more than
100 projects worldwide; includi
ng the
well
-
known

SkiQue
st GPS and
the world’s first and only voice guided turn
-
by
-
turn navigation app
lication

for
Ski Resorts.


As the mobile applications


importance
is growing up and becoming a more challenging task to
mobile developers, every company should make mobile’s
versions for its applications.

Smart phones represent the new generation of mobile devices; they support windows’ versions
for mobiles and they are similar to computers, but they do not possess computers’ performance.

Mobile devices present lot of issues a
nd the most important one is the power supply, they are not
always plugged in
, and they need to be recharged.




3


State Of The Art


Environment
:


The way people get entertained is changing rapidly with the development of new devices and
applications. When mobile phones were first launched no one thought
that these

device
s would

be

transformed into a full
entertainment device. The arrival of smart ph
ones has completely
changed the scenario. Th
ese phones are not made only to communicate but they are

computing
gadget
s which are

loaded with so many utilities

and entertainment applications.
Also they
double
up as gaming device
s
, audio and video player
s
.
These phones offer rich multimedia experience to
users and are largely responsible for bringi
ng entertainment to fingertips.
Now
the

mobile phones
have become
our

music system
s

as well as
our
gaming device
s
.


Lot

of companies and individual
s

are
working al
l over the world

to come up with innovative,
creative, and highly
interactive applications. For that they
use different tec
hnological systems,
tools, d
evelopment platforms and frameworks to meet different requirements.
We mention that
the
programming envir
onment for iPhone application
s

is different
than
that of Blackberry
application
s.


The

iOS

, the

BlackBerry

, the

Palm webOS

, the

Symbian OS

, and the

Windows
Mobile


support typical application binaries as found on personal computers with code which
executes in the native machine format of the processor.

Also “
Windows Mobile
”, “
Palm webOS
” and “
iOS

offers

free
SDKs

and
integrated
development environments

to developer
s.


Mobile application development solutions are offered in great diversity by each platform
provider.

Microsoft
is getting prepared for

Windows Mobile 7 launch. Google is
trying to compete by
incorporating Android with existing Google App
lication
s, such a
s Google Docs, Gmail, Go
ogle
Calendar, and other. Apple
emphasis o
n business features.


Requirements:


The most
important requirements to a mobile platform

to develop mobile applications

are the
following:

-

Desktop application integration. This includes a
ccurate data synchronization with encryption
and the possibility to manage data offline. If you need timely access to important data stored on
your desktop, including e
-
mails, event alerts, and customer data, than proper integration is a
must.

4


-

Multi
-
task
ing. However flawless Mobile application development, mobile device resources are
limited

and multi
-
tasking appears to be one of the key ways to increase productivity.

-

Minimization of traffic amount between a server and a mobile device, which contributes

to time
and cost savings.

-

User
-
friendly interface that allows accomplishing necessary tasks by fewer operations.

-

L
ower total cost of ownership (TCO) and support costs. Implementation of a mobile platform
across the enterprise must be estimated
beforehand and such factors, as support and upgrade
costs, are of importance, as well.


Challenges:


Within just seven months of

launch, the iPhone App
lication

Store listed over 15,000 new
applications and

served over 500 million downloads. Other
application marketplaces,

such as the
BlackBerry Application Storefront, are also launching and

expanding quickly.


Internet

companies in entertainment, social networking, travel, and other

categories are urgently
planning and building their first mobile

a
pplications, as are many enterprise and desktop
software vendors.


The Challenges of Mobile Application Development can be resumed with the following:


-
The challenge of designing and developing multiple versions of

an application to run on a wide
variety
of platforms

(BlackBerry, iPhone, Windows Mobile, and others) and

significantly
different device models on a given platform (e.g.

BlackBerry Bold, Storm, Curve, Pearl Flip) in a
manner that

exploits the unique capabilities of each device while

maximizing s
oftware reuse and
development efficiency
.


-
Small screen size means that less of a page or form can be

displayed, making it more difficult to
maintain the user's sense

of location within the application and navigation scheme
.


-
A variety of different scree
n sizes, resolutions and orientations

(portrait, landscape, switchable)
to design for
.


-
Limited input devices and a variety of possible interaction

methods (keypad, stylus, touch
screen)
.


-
Text input is particularly cumbersome
.


-
Limited battery life req
uires that power
-
consuming activities

must be carefully managed
.


-
Limited processing power
.


-
Limited storage and working memories
.


5


-
Unpredictable network connection, limited coverage and lower

network bandwidth than a fixed
connection
.


-
Bandwidth cost
considerations where network connectivity is

charged per data volume
.


-
A range of challenging usage environments, including extremes

in ambient lighting, noise and
temperature (the user may be

wearing gloves or lose dexterity in cold conditions)
,
all

affecting
the user's ability to interact with the device
.


Energy consumption:


To conserve the power in mobile systems we use the following basic methods:

-

Improving Batteries
.

-

Low
-
power design
.

-

Hardware power management
.

-

Limit power consumption
when necessary

by reducing quality
.


Android
vs.

i
Phone:


Now, we will make a small comparison between the android and the iphone products:


Battery:

-

For the Android phones they have a removable and r
eplaceable b
attery,
replacements easily
av
ailable in
the market and if we are always on the move, we

might as well have an additional
cha
rged up battery which can help
our phone stay alive without waiting to charge
.

-

For the iPhone phones, there’s no replacement battery. In fact we cannot even see the batte
ry. If
we have any battery issue, we’ll have to send it to Apple.


Applications:

-

Android has about 70,000 applications currently.

-

iPhone has over 230,000 applications and is growing.


For “quality and user e
xperience
”,

the
iPhone

still provides a better game play environment, but
as software developers eventually upgrade their android games, it’s possible in a year or more
that the average android game will be as “good as” the average

iPhone game.


Good C programmers (which
Objective C is based on) are hard to find and the number of C/C++
developers has been in decline since about 1997. Since most universities switched to using java
almost 10 years ago, good java programmers are not hard to find.

So for the development, Andro
id is better than iPhone.


Android app
lication
s are

very easy to deploy, we

just get
the apk file and put it onto our device.
With

apple, it’s very confusing we use

things called provisioning profiles an
d entitlements.

6


Also for

deploying
the applications t
o the a
pp
lication store, this
requires that Apple go through a
review process.
Some people have their applications

delayed by a month waiting for apple to
review their app
lications.



7


Ergonomic D
esign


Ergonomic Design in context of mobile applications
means designing the applications so that the
user

can use the application comfortably without being visually, mentally or physically stressed.


Tips for a usable well d
esign
ed mobile
application:

-

Do not blindly mimic designs intended to run on desktop

de
vices;

-

Remove all clutter and simplify the application down to the

e
ssential data and functionality
needed for the user to take

immediate action;

-

Present the minimum number of options possible on any single

screen;

-

Minimize screen density but don't s
plit content/interaction

across

so many screens that users get
lost;

-

Use a consistent UI design that helps users
maintains

a mental

image of the application;

-

Design the UI to behave similarly to other applications on the

device with which users are
familiar,

if designing for multiple

devices, follow established design conventions for each device

and avoid the pitfall of trying to make the application behave

the same across all platforms;

-

Exploit the unique capabilities
of each device (GPS,

acceleromet
er, screen size, input methods)
to create the most

engaging user experience possible;

-

Conduct ongoing usability testing throughout the design and

development process, including
testing on real devices, not just

emulators;

-

Make sure forms are easy to use and that navigation between

fields is predictable;

-

The less text input, the better;

-

Provide clear methods for the user to recover from errors,

b
roken links and other problems,
particularly if the device does

not have a

simple back button;

-

Avoid complex interaction patterns that require close user

attention for long periods of time;

-

Use highly structured workflows or wizards for infrequent

tasks;

-

Provide clear feedback on progress and the status of task

completion;

-

Use high contrast text color and select typefaces for maximum

readability;

-

Carefully and consistently u
se color throughout the design;

-

Use simple navigation structures that focus on one specific task

at a time.


-
Do not use fixed font sizes to
ensure readability and avoid using small font sizes.

-
Use 'easy to read' color combinations, use contrast effects to improve readability.

-
Group functionally related elements on the user interface.

-
Ensure that the tap/clickable region is ergonomic
. (
Espec
ially in case of Touch UI, proper
spacing must be availab
le for selection of UI elements
)
.

-
Ensure that the user interface elements/objects and the text are clearly visible in presence of low

light.

-
In case of touch screen UI, the size of the user interfa
ce elements should be optimized.

(Selection of an UI element must also b
e possible in absence of stylus
)
.

-
As colors can appear differently on different mobiles according to
their

displays, do not use
color

conventions to specify critical features.

-
In cas
e of a sequential flow of actions, use the same soft key.

(
This helps the user to carry on
with the continuity of application flow without getting distracted to locate

the position of the soft
key for the next course of action to happen in that flo
w
)
.



8


Wi
th games,
graphical attractiveness is a key element in creating an enjoyable user experience
.
V
isual design is vital for an original and unique game concept.

The first impression and the entire mood of a game session are created in the first few seconds
after the user has launched a game. Provi
ding visual impact at the start
will be a

positive

boost
f
or the whole session.


Mobile display size is limited
,
for that we should

make sure that every graphic element has a
purpose. Inefficient use of graphics in
mobile games creates clutter and visual noise on the small
screen, increases the file size of the game, slows the game down, and impairs the playability and
user experience.


A
clear distinction between different objects is important
. For example,
differentiate clearly
between friendly and opposing game characters, dangers, obstacles, bonuses, and especially the
player's character. The player should be able to easily identify enemies within a reasonable
period of time.


The
coloring scheme within
the game and the navigational structure should be consistent
. Colors
that have a special meaning, such as a color highlight for a selected item, must be easy to
recognize.


To develop our pacman game in an ergonomic way, we will take advantage of the
tips
mentioned
above.

Firstly, the main menu page will be well designed with good graphics, and well known items.

Then for the game development, we will choose the background’s color and the blocks’ colors in
way that make it easy to distinct between them, for
example we can choose a green background
with brown blocks.

For the
player character, it will be the only different character because the remaining ones will be
looking the same because they are the ghosts.

Of course there are lots of dots that the pacman
should collect to finish the game and to gain
points, but also there are some dots that will let the pacman gain points and power to destroy the
ghosts. Those dots will be well visible and they will have different size (basically bigger than the
other norm
al dots).

When the player takes the special dots, he will have special power, for that his form will
change;

he will be able to shoot.

Also the ghosts in this case will be transparent to let it obvious for the player that these ghosts
are now vulnerable fo
r attacks.

For the speed, the pacman will have normal speed at the human scale, but when it takes the
special dots, the speed will increase in a reasonable manner.

For

the fire, it will be red or yellow, so it will be distinct from the background color
.



9


UML Study


Nominal Scenario:


User

System

1
-

Open the game.

2
-

Return the menu page.

3
-

Choose the game type.

4
-

Launch the game.

5
-

Move the phone.

6
-

Move the pacman.

7
-

Eat dots, big dots or fruits.

8
-

Add points,

give fire permission or invisible
permission.

9
-

If it is the last dot then stop the game and
declare the winner.

10
-

Attack ghosts

11
-

Ghosts vanish or return to base.

12
-

Give oral command.

13
-

Jump one block forward.

14
-

Choose the exit menu item.

1
5
-

Exit from the game.



Class Diagram:




10


Use C
ase Diagram:






11


Sequence Diagrams:



Choose Game

Type :






















12


Walk :



















13


Eat A Dot :














14


Eat Big Dot :





15


Eat Fruit :





Jump :






16



Close Application :






17


References


1
-

http://www.pjstudios.com/w/

2
-

http://www.valleyshakes.org/tag/mobile
-
application
-
development

3
-

http://www.impigermobile.com/

4
-

http://mymindstalk.blogspot.com/2011/02/android
-
vs
-
iphone
-
fair
-
unbiased.html

5
-

http://www.bitheads.com/downloads/bitHeads_MobileDevelopmentBestPractices_20090128.pdf

6
-

http://en.wikipedia.org/wiki/Mobile_application_development

7
-

http://www.alltopics.com/platform
-
requirements
-
mobile
-
application
-
development.html

8
-

http://cseweb.ucs
d.edu/~snoeren/cse291/presentations/mukhopadhyay.pdf

9
-

http://www.google.com.lb/url?sa=t&source=web&cd=3&ved=0CCIQFjAC&url=http%3A%2F
%2Fwww.developer.nokia.com%2FCommunity%2FWiki%2Findex.php%3Ftitle%3DSpecial%3
APdfPrint%26page%3DErgonomic_Design&ei=r_UrTt
3sOYfPhAfr_viqCw&usg=AFQjCNHQ
v6htrxKzu0
-
CBw4YghAAR9YClQ

10
-

http://www.developer.nokia.com/Resources/Library/Design_and_UX/designing
-
different
-
applications/game
-
design/mobile
-
game
-
design/mobile
-
game
-
visual
-
design.html

11
-

http://zenentrepreneur.blogspot.com/2010/03/mobile
-
app
-
development
-
android
-
vs.html