• Make the best possible use of limited screen space
and help the mobile users to quickly complete a
simple task.
• Develop tests using testing platform, e. g. emula-
tors, and real platforms, (e. g. (Xcode, 2013a)).
The above list is not exhaustive, but indicates the
most important points for our study.
3 TECHNOLOGIES,
LANGUAGES, AND TOOLS
This section presents the technologies, languages, and
tools used to develop the prototype.
3.1 NFC
NFC is a wireless communication technology that al-
lows data sharing between mobile devices in a close
proximity, usually no more than a few centimeters
away. The NFC standard includes two communica-
tion modes between mobile devices:
1. Active communication mode;
2. Passive communication mode.
In the active mode, the device is able to start a
communication, in two specific ways: (1) the mo-
bile device can read and even write NFC tags (reader
mode) or (2) two devices can communicate and share
data (peer-to-peer mode).
In the passive mode (or card emulation), the de-
vice is a contactless card and can only be read by other
NFC readers (Mednieks et al., 2012).
In the present case study, we use both NFC com-
munication modes between mobile devices. The NFC
tags, used to store application and restaurant informa-
tion, are in passive mode. The active mode, present in
smartphones and tablets with NFC technology, can be
used to read tags or share data with other active NFC
devices.
3.2 Languages and Tools
To develop the Android application prototype we have
used the most common tools, including the Java pro-
gramming language: namely, the Integrated Devel-
opment Environment (IDE) used to build, test, and
debug the application was Eclipse with the Android
Developer Tools (ADT) plugin to streamline Android
development. In the Eclipse installation, we include
some Android SDK tools, Android platforms tools,
and the emulator AVD Manager (Android Virtual De-
vices) to develop and test the SmartRestaurant proto-
type application (DevTools, 2012). For testing the ap-
plication, we also used NFC tags (NFC forum, 2012)
and a smartphone with NFC technology.
In this sense, we have developed Java code that
writes application and restaurant information in a
NFC tag. This information, which includes the ap-
plication package name and, for example, restaurant
ID or even table ID, can then be read by an active
NFC enabled device to load SmartRestaurant applica-
tion data. In this NFC Data Exchange Format (NDEF)
message (Nokia, 2013), we add an Android Appli-
cation Record (AAR), which has the package name
embedded inside an NDEF record, to make sure that
SmartRestaurant application is started when the NFC
tag is scanned. If SmartRestaurant is not present on
the mobile device, Google Play is launched to down-
load the application (ADev, 2012).
To test the application we used the AVD Manager,
the Android system virtual device emulator, but we
also used a mobile phone, an Android-powered device
that supports NFC connectivity.
4 SmartRestaurant PROTOTYPE –
DEVELOPMENT ISSUES
The SmartRestaurant prototype development process
was inspired by the mobile App Development model
in (Morris et al., 2010). This model recommends ag-
ile development initiatives and the use of prototyping
and testing activities early in the development pro-
cess. The model is composed of three phases:
1. Feasibility and economic efficient analysis;
2. Software product realization;
3. Distribution.
This paper shows the application of the second
phase, which was accomplished by three developers
in collaboration with the project manager from Smar-
tobject company. The project manager was responsi-
ble for the first and third phases. The selected case
study can be applied in the context of any common
restaurant. Next, following the stages of software
product realisation, we present the requirements, de-
sign, programming and testing stages.
4.1 The SmartRestaurant
Requirements
The requirements are collected and maintained by
early prototypes taking in consideration the project
SmartRestaurant-AReportontheDevelopmentofaNFC-BasedMobileApplication
323