background image

 

[128] 

 

 

D.

 

Packet structure 

For  all  messages  the  developer  has  to  follow  a  specific 

format. Each package must be at least ten bytes. Different types 
of packages have the same header but different payload. Figure 
6 shows the structure of our packages. 

Figure 6. 

 

Quiz application data structure 

The first four bytes, from the header with the  name QUIZ 

verify that the packages are ours. The next four bytes are used 
to recognize when a packet arrives out of order, and consist of 
a  32-bit  integer.  The  last  two  bytes  represent  the  packet  type. 
Due to the fact that we have many  kinds of messages that are 
sent  between  the  server  and  clients,  this  16-bit  integer 
determines what type of packet it is. 

VI.

 

T

ESTING

 

The  application  was  initially  created  for  the  single  user 

scenario. Then, it was based on the technologies of Bluetooth-
Wi-Fi for multi-user scenarios. Decisive role in the functioning 
of the application played the SQLite, which was used to create 
the application database. Additionally, with the simple graphic 
elements  that  composed  the  application,  we  achieved  a 
lightweight version. 

For  the  implementation  of  the  application,  a  laptop 

computer  with  operating  system  Mac  OS  X  was  used.  The 
application  was  placed  on  the  iPhone  3GS  and  iPhone  5S 
devices and was tested extensively. The result was considered 
satisfactory,  based  on  the  different  users  that  tested  the 
application.  Trying  the  application  practically  arose  various 
errors that have been corrected along the way. 

A.

 

Usage performance 

By  running  the  famous  “Who  wants  to  be  a  millionaire” 

application,  we  came  to  the  conclusion  that  the  RAM  usage 
was  approximately  55Mb.  Our  application  with  three  players 
connected,  consumes  approximately  19Mb  of  RAM,  which  is 
less  than  1/3  of  the  above  mentioned  application  which  was 
tested in single player mode. 

A  mobile  developer  should  be  careful  about  the  resource 

usage,  like  memory.  For  this  reason  he  should  minimize  all 
unnecessary RAM usage, by ignoring non-related packets. For 
example,  while  playing  multiplayer,  in  case  a  player  gives  a 
wrong  answer,  there  is  no  need  for  the  server  to  send  back 
verification for the wrong answer. Instead, the only sent packet 

is a packet for informing the next player that it’s his turn. 

VII.

 

S

YNOPSIS AND 

C

ONCLUSIONS

 

Programming  for  the  iOS  operating  system  is  not  only  an 

interesting experience, but also a promising source of income, 
especially for young developers. It may be a rough and climbly 
road,  but  in  the  end  rewards  are  awaiting  for  the  systematic, 
careful  and  endured  developer.  Developing  for  the  mobile 
platform is a slippery track, and for that reason we present our 
design  flow  and  experience  to  better  help  all  enthusiastic 
mobile  developers  and  to  motivate  indecisive  developers.  We 
presented that a careful step by step approach alleviates most of 
the  problems,  and  guides  towards  the  finalization  of  a  nature 
project, useful to the community.  

A.

 

Future work 

The  main  future  goal  is  to  provide  the  application  to  the 

public via the App Store.  For this process, we must be enrolled 

in  Apple’s  iOS  developers  program,  with  the  cost  of  $99 per 
year.  This  allows  every  device  holder  with  iOS  operating 
system to download the application, test and rate it. 

It  is  also  important  to  enrich  the  database  with  more 

questions,  so  that  the  user  always  discovers  something  new. 

Then,  out  of  the  users’  reviews  we  will  be  able  to  achieve 
better  results  with  an  update  of  the  application,  such  as  more 
user-friendly environment. 

Below  are  some  of  the  most  important  extensions  of  the 

application: 

 

A  Greek  version  of  the  application  and  a  translation 
thereof  in  the  major  foreign  languages,  so  that 
additional users would be able to use it. 

 

Addition  of  different  sounds  for  the  correct  or  the 
wrong  answer,  and  of  different  colors  on  the  buttons 
of responses. 

 

Addition  of  a  connection  to  the  most  popular  social 
networks  and  high  scores  among  the  friends  of  the 
user. 

 

Hospitality  and  database  support  through  internet,  so 
that every user refreshes the database before the start 
of the game. 

VIII.

 

R

EFERENCES

 

[1]

 

«VisionMobile,» [Digital]. Available: 

http://www.visionmobile.com/blog/2013/04/which-apps-make-more-
money/,2013

 

[2]

 

«GreekTuts,»  [Digital].  Available: 

http://www.greektuts.net/wireframe-

before-design/

2013. 

[3]

 

«SQLite,» [Digital]. Available

http://www.sqlite.org/docs.html

, 2014. 

[4]

 

Peter  Bakhirev,  PJ  Cabrera,  Ian  Marsh,  Scott  Penberthy,  Ben  Britten 
Smith  and  Eric  Wing,  “Beginning  iPhone  Games  DEvelopment”, 
Apress, 2010. 

[5]

 

Erica  Saudan,  “The  iPhone  Developer's  Cookbook  -  Building 
Applications with the iPhone 3.0 SDK”, 2nd Edition – Addison Wesley 
2010. 

[6]

 

«iOSTutorials,» [Digital]. Available: 

http://www.raywenderlich.com/tutorials

, 2013. 

[7]

 

Ελένη  Ρώσσιου,  Σπύρος  Παπαδάκης  “Μαθαίνουμε  Παίζοντας:  Το 
Εκπαιδευτικό  Παιχνίδι  στη  Διδασκαλία  της  Πληροφορικής  στο 

Γυμνάσιο”, Σύρος 2007.