[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-
, 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.