Keywords

1 Introduction

The printing of documents is a daily need of most collaborators who work at enterprises and research labs. This activity is performed only using desktop computers in our research lab, called Group of Computer Network, Software Engineering and System (GREat). Therefore, this task requires users to print only from a workstation, to install printer drivers and to identify the closest printer.

In order to improve this daily activity in our lab, we have developed an ubiquitous application called GREatPrint. This application receives the user’s location and prints documents at the nearest printer from him/her, providing a ubiquitous and mobile printing service.

Location-based applications often use GPS sensors. However, these types of sensors are not accurate enough in an indoor environment, therefore we did not use GPS in GREatPrint since it runs inside the GREat lab. For that reason, another solution was required to recover user’s indoor position in lab [1].

We decided to use the Wi-Fi signal strength because it has the advantage of being free of charge and being easily applied in indoor environments [13]. Therefore, GREatPrint version 1 used the Wi-Fi network, identifying the strongest as the nearest Wi-Fi source and using this information to decide which printer should be chosen. To do this, firstly, each printer was mapped to its closest Wi-Fi network access point within GREat lab. Then, when users need to print documents, the strongest Wi-Fi signal is used to decide which Wi-Fi network access point is closest to the user and thus associate this information with the closest printer.

This version was evaluated by using specific software measures for HCI in ubiquitous applications, proposed in a previous work [4]. Twelve users were invited to print an example test document through the application in different floors and rooms of the GREat lab, while measures were collected manually and automatically. The results showed that GREatPrint version 1 had a low accuracy in the detection of the correct printer. The reason is because the strongest network not always indicated the closest printer from the user. In this evaluation, the adaptation correctness measure scored at 52 % [4], this value aims to measure how many adaptations happened in an expected way for the user. Also, through questionnaires results, we realized that most users felt the application did not interact correctly and they also reported that the application could not print the document in some places of the lab.

Aiming to improve the context-awareness characteristic in GREatPrint and as a consequence, the user experience, we have decided to use algorithms commonly used with machine learning since they help in making more reasonable decisions [5]. Such algorithms have already been successfully implemented in many adaptive systems [68]. Therefore, GREatPrint has evolved to use one of these algorithms, the Multilayer Perceptron [9], together with the fingerprinting technique [10]. In the new GREatPrint version, we replicate the same HCI evaluation which was used in the GREatPrint V1, with twelve new users

In this paper, we describe in details the approach used to improve GREatPrint, which can be reused to develop other ubiquitous application running in indoor environments. We also discuss how the improvements impact in the user experience by collecting the following measures proposed in a previous work [4]: adaptation correctness, adaptation degree, availability degree, number of focus changes, number of failures, context-awareness timing degree, interaction relevancy degree and interaction courtesy degree.

2 Background

2.1 Location Fingerprinting and Multilayer Perceptron

The location fingerprinting technique is an increasingly popular technique for estimating indoor location by using the received signal strength indication (RSSI) [2, 10, 11]. This technique works in two phases: the calibration phase and the location estimation phase [2, 10, 11]. In the first phase, a mapping is performed associating the position of the device to its respective access points (APs) via signal strengths. This procedure is usually performed by a system administrator that walks around the Wi-Fi covered zones collecting the RSSI at equally separated distances, thus creating a map of the location. This map is stored in a database on a web server. The second phase occurs during the application execution to determine the user location. In this phase, the application sends information of the current Wi-Fi signal strengths to the server, which compares this data with the map resulting from the first phase in order to detect the user position. When a match is found, the expected location is returned.

Several proximity-matching algorithms can be used to compare the stored signal strength values to the observed values in order to determine the user location in the fingerprinting technique [10]. In this work, we use the Multilayer Perceptron (MLP) as a proximity-matching algorithm, since it is a useful tool for prediction [9] and also it is suitable for our problem, where a complete location mapping is difficult.

MLP is one type of neural network, which is one of the methods from machine learning area [9]. It consists of multiple layers of nodes (with a minimum of three layers), where every node of a layer is connected (with a weight) to every node from the next layer (See Fig. 1). The MLP has the ability to learn through training, therefore it needs a representative training data set. Once the MLP is trained, it is capable of generalizing with new and unseen data [9].

Fig. 1.
figure 1

A multilayer perceptron with four layers. Adapted from [9].

2.2 UX in Ubiquitous Applications

User experience (UX) refers to the users perceptions when they interact with a product in particular conditions [12, 13]. According to [13], the user experience can be seen as the totality of user’s perceptions regarding to efficiency, effectiveness, emotional satisfaction. However, the ubiquitous computing environment has characteristics that completely change the way users interact with technology, and so impact on the user experience [14]. For example, a ubiquitous system has a context-awareness characteristic, which means that it is capable of collecting contextual data and adapting behavior according to the data [15]. Moreover, these systems can be present in several devices, such as personal computers, smart phones, smart watches and others. Thus, they have the mobility characteristic, what make it possible for the system to be working everywhere and available at any time, as consequence this creates an increased risk that the user will feel disturbed by the system [4].

The work from Carvalho et al. [4] proposes a set of software measures (See Table 1) to evaluate the user interaction with ubiquitous applications regarding to the calmness characteristic. Calmness is the capability of the system to support user activities at the right time and place, delivering the best service possible [16]. We believe calmness has a great impact on user satisfaction and therefore also on both the user experience and acceptance of the ubiquitous application.

Table 1. Software measures for calmness characteristic. Adapted from [4]

3 GREatPrint

GREatPrint is composed of three programs: GREatPrint Mapper, GREatPrint Server and GREatPrint App. Figure 2 presents an overview for how these programs work togetherFootnote 1. Two of them (Mapper and App) are android applications and the other is a web server (GREatPrint Server). However, only the GREatPrint App is actually used by the end user.

Fig. 2.
figure 2

GREatPrint overview

GREatPrint Mapper is used to create a Wi-Fi signal strength map, using six APs from GREat Lab. Also, GREatPrint Mapper is responsible for sending this map to the GREatPrint Server.

GREatPrint Server is responsible for using the Wi-Fi signal strength map to train the MLP in order to decide which printer is closer to the user, saving all information in a database and sending a print job request to the chosen printer.

Finally, GREatPrint App is used by the end user to print a document. To do that, the GREatPrint App collects the actual Wi-Fi signal strength from the same six APs mentioned previously and sends this information to the GREatPrint Server together with the file to be printed.

These three systems are better explained in the next subsections.

3.1 GREatPrint Mapper

This software is deployed as an android application used by the system administrator for performing the calibration phase of the fingerprinting (See Fig. 3(a)). Its main purpose is to perform the “RSSI Mapping” of the building and sending this information to the GREatPrint Server, where it is going to be stored for later use.

Fig. 3.
figure 3

The calibration phase

GREat Lab has two floors, each of which has one has one public printer; this means anyone can print documents on these printers. Each floor also has three APs. Therefore, for the first phase of fingerprinting, 98 different locations across the two floors in GREat Lab were chosen in order to provide a good coverage of the GREat lab. Figure 3(b) shows 57 locations (as dots) mapped in the second floor.

For every one of these locations, the received signal strength indicator (RSSI) of the six APs were collected. The signal strengths ranges from 0 to -100, a value closer to 0 indicates a stronger intensity signal. Then, the nearest printer was associated with these RSSIs using the GREAtPrint Mapper (See Fig. 3(a)). Table 2 presents examples of this association. According to this table, if the user is in the position 43, the nearest printer is the printer 1, otherwise if he is in the position 44, the nearest printer is the printer 2. The results of this mapping was then uploaded to the GREatPrint Server to be used to train the MLP.

Table 2. Part of the Wi-Fi mapping in the GREat lab

It is important to mention that for every location, the measurement was done with the smartphone pointing in four different directions, resulting in 392 measurements in total. Also, three measurements were done for each direction and an average was calculated to get a final value. This approach was suggested in the study from [17], since Wi-Fi signal strength is constantly changing.

3.2 GREatPrint Server

The GREatPrint Server is a java application that utilizes the data obtained by the mapper and can decide which printer to use. It handles the actual sending of a print job request to the printer and informs the current status to the GREAtPrint App. The server does the main work of the system and needs to be installed on a computer with connection to the printers in order to be able to send the file to be printed.

This application uses the Multilayer Perceptron as a proximity-matching algorithm for deciding which printer to choose. The algorithms implementation was supported by the Waikato Environment for Knowledge Analysis (WEKA), which is considered a landmark system in machine learning [18]. This environment provides a compendium of machine learning algorithms, including neural networks, for researchers and practitioners.

In our system, the MLP model is composed of the RSSI from the six APs as input vectors, two printers as output vectors and 1 hidden layer, as shown in Fig. 4. Thus, the RSSI map obtained from the GREatPrint Mapper is used to training the MLP.

Fig. 4.
figure 4

Our generated MLP using WEKA environment

3.3 GREatPrint App

This is an android app that the end user is able to use. The application works as follows (Fig. 5): (i) after selecting a file, (ii) the user click on the print button of the given document, and the application collects the six Wi-Fi networks previously selected in the fingerprinting phase. (iii) The application sends the document to the server. (iv) based on the GREatPrint Server response, GREatPrint App notifies the user where the file has been printed or if it was not possible to print the file. Alternatively users can open GreatPrint application within the document itself.

Fig. 5.
figure 5

GREatPrint App

4 Case Study

We used the measures presented in Table 1 to perform the evaluation of GREatPrint V2. This model was also used to evaluate the first version of the application, which makes it possible to compare the two versions. However, we used different users to evaluate the new application version, since we have realized that use of the old users could impact on the results of the evaluation, due to them having a preconception and prior knowledge in relation to the application. Also, the evaluation of the first version was performed to collect the user perception about the first version, which as a consequence gave us the need for improvement. Thus, twelve different users were invited to participate in the evaluation of GREatPrint V2.

Half of the users are not from a computer science background. They were selected from people working in Administrative, Financial and Human Resource roles. The other half are from computer science, one of them is a PhD student and another is a masters degree student. It should be noted that all users have experience with smart phones and all of them had previously used location-based applications.

4.1 Planning

Users were asked to only use the application inside the GREat research lab, because GREatPrint was targeted for this environment. All twelve users were divided into four groups of three to execute the application in different floors and rooms of the GREat lab (See Table 3).

Table 3. Procedure to GREatPrint evaluation

Although we have a procedure for users executing the application, we left them to use it in any manner they desired, including in unplanned places during the evaluation. The procedure was designed to ensure test coverage of the GREat building.

The task defined to the users, was to print a pre-established document on the application. The same mobile device, a LG G Pad 8.3, was used by all of the users while using GREatPrint. An evaluator was present during the usage, noting, for example, if the captured context was correct, if the application failed, among other observations. After the usage, users were asked to answer a user questionnaire.

To collect the measures of adaptation degree and adaptation correctness degree, which are presented in Table 1. We first identified the adaptation considered by GREatPrint, discovering it presents one adaptation (N=1). This is the choice of the printer according to users location. For this purpose, the system identifies the location of a user by collecting the RSSI of six APs. With this input, GREatPrint updates with the location of the nearest printer.

The data needed to compute the measures were collected both automatically and manually. Automatic data were recorded in logs that contain: the RSSI of the six APs, the chosen printer, failures and the time that they happened. Manual data was collected in forms filled in by evaluators, whom followed users around during the applications usage, observing if the application worked correctly, or in other words, identifying if the system performed a correct adaptation with correct information. There are some measures (Availability Degree, Context-Awareness Timing Degree, Relevancy Degree and Courtesy Degree) that were collected by a user questionnaire after using the applicationFootnote 2.

4.2 Results

Table 4 presents the results for both version 1 and version 2 of the application, for purpose of comparison. The results show that the new version of GREatPrint achieved better results than version 1.

The following measures: Adaptation Degree, Adaptation Correctness Degree, Number of focus changes and Number of failures were calculated by the sum of all user tours. The remaining measures (Availability Degree, Context-Awareness Timing Degree, Relevancy Degree and Courtesy Degree) were calculated with modal values derived from the questionnaire answers.

Table 4. Results of the HCI evaluation of both GREAtPrint versions

4.3 Discussion

Measures about context-awareness adaptations (Adaptation Degree and Adaptation Correctness Degree) had high results. They increased by 14 % and 21 %, respectively. Also, we can see that the measures collected by interviewing the users (Availability Degree and Context-Awareness Timing Degree) increased to High. We could see an improvement in “Number of focus changes” and “Number of failures”, since they decreased in comparison to version 1.

The adaptation degree shows that GREatPrint version 2 works in more places than GREatPrint version 1. For example, in version 1, it was not possible to print in places like “Lobby - Elevator” and “Professors Room”, because these places sometimes did not reach any known mapped Wi-Fi network. This new approach is more generic and it is able to make decisions even if some Wi-Fi networks are not available.

The results of the Availability Degree confirmed that the application worked in most places that the users wanted to use it. Most users answered “High” in regards to the availability degree.

The Adaptation Correctness Degree Measure increased to 73 %. Even though this result is not yet deemed suitable, it has improved a lot in comparison to version 1. We analysed why some users got wrong adaptations in GREatPrint version 1, and realized that the strongest network does not always indicate the closest printer to the user, for example Professors Room, reached better the second floor APs, and vice versa. With the new approach (location fingerprinting and MLP), GREatPrint does not only take into account a single network with the strongest signal, but considers signal values of six APs together with the fact that the MLP can generalize to previously unseen input data.

Moreover, we analysed why GREatPrint version 2 also got wrong adaptations. This was primarily because one Wi-Fi network changed in name. The name change meant that our algorithm was not capable to recognizing and using that corresponding AP signal, causing a strong chance of wrong adaptations, depending on where the user was. This is a limitation from working with RSSI location fingerprinting, if the AP name changes, the application needs to update too.

Although the result for adaptation correctness is not yet considered suitable, the “Context-awareness Timing Degree” improved to “High”, which show most users felt that the application now recognizes reliably the users context.

It is also important to mention that this approach (RSSI location fingerprinting and MLP) can be reused in other indoor environments. For such a purpose the approach needs to be tailored to the specific environment. For example, an environment may have more printers and more APs. Thus, it is would be necessary to change the GREatPrint Mapper to collect these APs and add the new printers. The GREatPrint Server would then use this new data to add these new values into the MLP.

5 Conclusion and Future Work

This paper presented the use of machine learning and location fingerprinting to improve a ubiquitous system called GREatPrint. This new approach was implemented because GREatPrint version 1 did not obtain suitable results in an evaluation based on software measurement. GREatPrint version 2 behaved more appropriately since the new approach (RSSI location fingerprinting and MLP) has improved the context-awareness. As a consequence, we observed that the user experience for GREatPrint also has improved with the version 2.

The perspective for future work and improvement to this existing work, is to create a more generic GREatPrint, capable of being deployed in any environment without any extra coding to define the environment. New strategies to help automate the RSSI mapping step would also prove to be very useful. Finally, a comparison with other algorithms commonly used with machine learning and other indoor location techniques could be incorporated to improve the overall context-awareness.