attendane monitoring using ibeaconjoshmustafa.com/assets/uploads/images/projects/ibeacon.pdf ·...

73
Page 1 of 73 Attendance monitoring using iBeacon BSc Hons Computer Science Abstract This dissertation researches the limitations of traditional attendance monitors. At the moment of this project, iBeacon is not used to monitor attendance. Hence why the main scope of the dissertation is to walk through the planning, designing and execution to implement new technology to track attendance. The final result will be a physical product that gives location aware services to the university in order to accurately monitor student’s attendance through iBeacon technologies. Author: University: Faculty: Supervisor: Project Type: Word Count: Due Date: Joshan Hasan Mustafa University of Greenwich Faculty of Architecture, Computing & Humanities Dr Ralph Barthel Final Year Project 11486 24/4/2018

Upload: others

Post on 28-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 1 of 73

Attendance monitoring using iBeacon

BSc Hons Computer Science

Abstract

This dissertation researches the limitations of traditional attendance monitors. At the moment of this

project, iBeacon is not used to monitor attendance. Hence why the main scope of the dissertation is

to walk through the planning, designing and execution to implement new technology to track

attendance. The final result will be a physical product that gives location aware services to the

university in order to accurately monitor student’s attendance through iBeacon technologies.

Author:

University: Faculty:

Supervisor: Project Type:

Word Count:

Due Date:

Joshan Hasan Mustafa

University of Greenwich

Faculty of Architecture, Computing & Humanities Dr Ralph Barthel Final Year Project

11486

24/4/2018

Page 2: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 2 of 73

Acknowledgments

I would like to acknowledge and thank the following important people who have supported me, not

only during the project, but throughout my degree.

Firstly, I would like to express my gratitude and thank my advisor Dr Ralph Barthel, for his

guidance, support and insight throughout this project.

And finally, I would like to thank all my close friends and family for all the support and

encouragement which helped me focus on what has been a hugely demanding and daunting process.

Page 3: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 3 of 73

Table of Contents

1 Introduction ................................................................................................................................ 5 1.1 Background ..................................................................................................................................... 5 1.2 Aims and objectives ........................................................................................................................ 6 1.3 Approach ......................................................................................................................................... 7

1.3.1 Waterfall Model............................................................................................................................ 7 1.3.2 Spiral Model ................................................................................................................................. 7 1.3.3 RAD Model .................................................................................................................................. 7

2 Literature Review ...................................................................................................................... 9 2.1 Identifying the problem .................................................................................................................. 9 2.2 What is RFID? ................................................................................................................................ 9 2.3 Can smart phones solve the problem? ........................................................................................ 10 2.4 What are BLE (Bluetooth Low Energy) Beacons? .................................................................... 11 2.5 Location assisted emergency evacuation .................................................................................... 13

3 Product Research ..................................................................................................................... 14 3.1 Attendance monitors..................................................................................................................... 14

3.1.1 Safescan Clocking in system ...................................................................................................... 14 3.1.2 Replicon Time & Attendance ..................................................................................................... 15 3.1.3 Conclusion .................................................................................................................................. 15

4 Legal, Social, Ethical and Professional Issues and Considerations ..................................... 16

5 Requirements ............................................................................................................................ 18 5.1 Analysis of requirements .............................................................................................................. 18 5.2 Functional requirements .............................................................................................................. 18 5.3 Non-functional requirements ....................................................................................................... 19

6 Design/Development................................................................................................................. 20 6.1 Introduction ................................................................................................................................... 20 6.2 User Interface Design ................................................................................................................... 20

6.2.1 Design Guidelines ...................................................................................................................... 20 6.2.2 Colour Palette ............................................................................................................................. 21 6.2.3 Typography/Font ........................................................................................................................ 22 6.2.4 Responsive and Adaptive Design ............................................................................................... 23 6.2.5 High Fidelity Prototype – Web Application ............................................................................... 24 6.2.6 High Fidelity Prototype – iOS Application ................................................................................ 28

6.3 User Interface Development ........................................................................................................ 31 6.3.1 Developed Web Application ...................................................................................................... 31 6.3.2 Developed iOS Application ........................................................................................................ 37

6.4 System Usability Scale - Evaluation ............................................................................................ 39

7 Tools Used ................................................................................................................................. 40 7.1 Hardware ....................................................................................................................................... 40

7.1.1 MacBook Pro .............................................................................................................................. 40 7.1.2 iPhone ......................................................................................................................................... 40 7.1.3 Estimote Beacons ....................................................................................................................... 40

7.2 Programming/Mark-up languages and Frameworks ................................................................ 42 7.2.1 HTML ......................................................................................................................................... 42 7.2.2 CSS ............................................................................................................................................. 42 7.2.3 Bootstrap 4.................................................................................................................................. 42 7.2.4 JavaScript ................................................................................................................................... 42 7.2.5 PHP ............................................................................................................................................. 42 7.2.6 SQL............................................................................................................................................. 42 7.2.7 Swift 4 ........................................................................................................................................ 42

7.3 Software/Services .......................................................................................................................... 43 7.3.1 Atom IDE ................................................................................................................................... 43 7.3.2 Xcode .......................................................................................................................................... 43

Page 4: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 4 of 73

7.3.3 Postman ...................................................................................................................................... 43 7.3.4 1&1 Web and Database Hosting ................................................................................................ 43 7.3.5 phpMyAdmin ............................................................................................................................. 43 7.3.6 Apple Developer Program .......................................................................................................... 43 7.3.7 REST API web service ............................................................................................................... 43

8 Back-End Implementation/Prototyping ................................................................................. 44 8.1 MySQL database........................................................................................................................... 44 8.2 UML Diagrams ............................................................................................................................. 45

8.2.1 UML Use Case Diagram ............................................................................................................ 45 8.2.2 UML Sequence Diagram [Login] ............................................................................................... 46 8.2.3 UML Sequence Diagram [Mark attendance] ............................................................................. 47

8.3 Web Application Development .................................................................................................... 48 8.4 iOS Application Development...................................................................................................... 49 8.5 Attendance log [Excel] .................................................................................................................. 49 8.6 REST API/Web-Service ............................................................................................................... 50

9 Testing ....................................................................................................................................... 51 9.1 White Box ...................................................................................................................................... 51

10 Critical Evaluation ............................................................................................................... 55 10.1 Future Implementation ................................................................................................................ 55 10.2 Reflection ....................................................................................................................................... 56

11 Appendices ............................................................................................................................ 57 11.1 Appendix A - Gantt Chart ........................................................................................................... 57 11.2 Appendix B - System Usability Scale Research.......................................................................... 57

11.2.1 SUS - iOS Application [1] ..................................................................................................... 58 11.2.2 SUS - iOS Application [2] ..................................................................................................... 59 11.2.3 SUS – iOS Application [3] ..................................................................................................... 60 11.2.4 SUS – iOS Application [4] ..................................................................................................... 61 11.2.5 SUS - iOS Application [5] ..................................................................................................... 62 11.2.6 SUS – Web Application [1] ................................................................................................... 63 11.2.7 SUS – Web Application [2] ................................................................................................... 64 11.2.8 SUS – Web Application [3] ................................................................................................... 65 11.2.9 SUS – Web Application [4] ................................................................................................... 66 11.2.10 SUS – Web Application [5] ................................................................................................... 67

11.3 Appendix C - Diagrams ................................................................................................................ 68 11.3.1 Rich picture ............................................................................................................................ 68 11.3.2 Flow diagram ......................................................................................................................... 68

11.4 Appendix D - File List .................................................................................................................. 69

12 References ............................................................................................................................. 71

13 Bibliography ......................................................................................................................... 73

Page 5: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 5 of 73

1 Introduction

1.1 Background

Today it is more common to monitor attendance using RFID technology, The University of

Greenwich uses this type of system at the time of this project and will probably do so for years to

come unless, there is a more viable solution. This system is designed so students tap their RFID cards

on the scanner which will clock in their attendance. This will then be stored in the universities

database. The system is usually set up at the beginning of lectures and classes, students will then get

up and queue to clock in.

The project will be based on developing a system using iBeacon which can work alongside the

traditional RFID method to make it more accurate. The iOS application will integrate Bluetooth Low

Energy wireless technology that was developed by the Bluetooth Special Interest Group (SIG). BLE

will be used with Apple’s iBeacon capabilities to be able to automatically track student’s attendance

simply by checking if they are in within the proximity of a given location at a given time.

Lecturers will have access to a web application which will enable them to view data that has been

collected by the iOS application and stored in the MySQL database. “Smart Workplace” which was

researched by Menon et al, 2017 have already started to adopt this method in workplaces in order to

make the tracking of staff more efficient.

Under the assumption that the student is already registered on a particular course, for their attendance

to be registered, they will have to present at the given location of their class. Using location based

services like iBeacon, gives the potential to be used accurately to log a student’s attendance. An

application can be designed in order to communicate with these proximity beacons, which could

respond to the database along with the student’s location.

Such project can be further developed in order to create a Location Aware Emergency Evacuation

system which will be able to help track and assist users to evacuate a building using BLE technology.

Eksen et al, 2017 used this method in order to aid elderly people during evacuation circumstances.

Therefore, if the attendance monitor system has tracked who is in the building it can be further

developed in order to help aid evacuating students in the event of an emergency.

This project will show the research and development of how BLE beacons can make an attendance

system for schools, colleges, companies more efficient and accurate.

Keywords: [Bluetooth Low Energy, RFID, iBeacon, attendance, Attendimote, Estimote, Location]

Page 6: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 6 of 73

1.2 Aims and objectives

The aim of this project is to develop software which will enable the use of Bluetooth Low Energy

beacons to monitor student’s attendance in real time. The project aims to:

1. Researching how the use of Bluetooth Low Energy beacons can be used to provide real time

location based services for students.

2. Research how the current attendance system can be improved with the use of Bluetooth Low

Energy beacons.

3. Investigate how this system can be further developed to maximise student’s safety during

evacuation scenarios.

4. Investigate what the limitations are when using Bluetooth low energy beacon services to

track student attendance.

Page 7: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 7 of 73

1.3 Approach

A number of methodologies were taken into consideration for the planning, designing and

development of this project;

1.3.1 Waterfall Model

The waterfall model (Royce, 1970) was the first methodology taken into consideration during the

development life cycle of the system. This particular model has distinct goals set out in a linear and

sequential flow (hence being called Waterfall model). This method would be beneficial in the sense

of setting deadlines for each goal to then move onto the next phase of development.

This methodology was dropped early during design stages as traditionally the waterfall methodology

doesn’t allow for the development to revise a phase which is a huge disadvantage. Requirements are

most likely going to developed throughout the design stages of the system due to the feedback that

will be gained in order to make the system more robust.

1.3.2 Spiral Model

However, since the waterfall wouldn’t work due to not being flexible enough, the second option was

the spiral model. The spiral model (Boehm, 1986, p.7) is a system development lifecycle that

combines the prototyping model and the waterfall model. The spiral model allowed for feedback to

take place so it can be applied to the system throughout development stages.

This model was also dropped for a number of reasons, the main reason is that it’s not very time

efficient to the constant feedback needed. This methodology is also widely used in a large system

which this system isn’t.

1.3.3 RAD Model

Rapid Application Development (Martin, 1992) is software development methodology which uses

minimal planning through prototyping. This means that a prototype is developed in incremental steps

for each requirement. This enables the ability to get feedback on a particular requirement during early

stages in order to notice any problems during early stages. Therefore, a huge benefit is the model

enables the development of the system to be broken up into smaller sections which makes it easier to

develop.

Page 8: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 8 of 73

2.4 Justification of the suitability of a Methodology or a Framework followed.

Due to the implications that arose from the other methodologies, RAD is the option that is going to

be used throughout the development of the system. There are a number of beneficial reasons behind

using this method;

RAD is known for reducing the development time of the system. This will be beneficial as the less

time used during development stages allows more time for testing in order to make the system more

robust. Feedback is also encouraged which will also be beneficial in order to make sure specific

requirements are met.

Figure 1 - RAD Model

Page 9: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 9 of 73

2 Literature Review The aim of this literature review is to critically analyse and research into academic journals, books

and other research based media. This will allow for an in depth understanding of the problems and

limitation of current or previous technologies.

In order to find the correct literature, the initial step was to identify the problem with traditional

attendance monitors. Further research will then take place by branching of the initial problem, in

order to find how these problems can be solved.

2.1 Identifying the problem

Being present in a classroom has a huge impact on the knowledge that the students will gain

throughout their degree. This is why the students should be provided with the correct engagement

and guidance from their teachers/lecturers. According to Stanca (2004, p. 2-6) research shows that

there is a direct correlation between attendance and the academic performance of a student. For an

educational institute to track the academic performance of a student they need an effective way to

track the attendance of the student. Which is why most of, if not every educational institution, has

some sort of attendance monitoring system.

Traditionally, a paper based system was used where the student would be required to manually tick

their name to mark that they are in on an attendance sheet, which would be passed around during the

class/lecture. There’s a number of problems with this paper system; is that a student could easily mark

in other students that are not attending which would make the attendance monitoring paper based

system inconsistent, therefore it makes it difficult for the institution to track the academic

performance of a student (Gatsheni et al, 2007).

Systems have recently been developed to automate the process in which attendance is taken. These

automated systems have allowed the reliability and accuracy of attendance monitoring. Radio

Frequency Identification (RFID) has become a popular method of doing so.

2.2 What is RFID?

RFID technology emerged in the 1940s as a way of remotely identifying aircraft for the military,

since then it was used in civil aviation. The Parliamentary Office of Science and Technology (2004,

p. 1) stated how, due to technology advances over the years, production costs of RFID have been

reduced dramatically which has opened up a wider range of uses commercially.

However, having mentioning the limitations of paper based systems, the proposed system that is used

today is an RFID attendance tracking system. The idea behind this system is for the student to tap

their student card on the RFID reader on entering the lecture hall or classroom, which would then

directly capture the student ID to then be sent to an online database (Tokiwa et al, 2009). As a result

of this method, data is instantly uploaded to the server which prevents data-loss and accessible to

view whenever the lecturer needs. A huge benefit is taken from this, which is to turn this data into

useful information, which would be to visually display the percentage of the student’s attendance.

Therefore, tracking a student academic performance can easily be related back to their attendance.

There’s still one major drawback to this system, only one student can provide their attendance at a

given time, this makes the system a time-consuming process. This could lead to students not marking

themselves in when they are in fact attending their lecture/class; which could result in their attendance

information being incontinent.

Page 10: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 10 of 73

2.3 Can smart phones solve the problem?

The paper “A Smart Phone Integrated Smart Classroom” (Mahesh, Jayahari and Bijlani, 2016) have

researched interesting topics on smartphone usages in lectures. A particular section states how the

implementation of smartphones can be used on increasing the total engagement time lectures have,

by using smartphones to track attendance.

Figure 2 shows collected data on how long it takes to collect the attendance for 60 students; which is

around 5 minutes. Overall, throughout the year, this could waste hundreds of hours in lectures. The

figure above also displays that on average there’s 1-5 proxy attendance marks, as a result affecting

the consistency of the students.

Consequently, this is taking into consideration that the lectures are for 60 students. In other lectures

this can easily double or even triple taking the attendance process even longer.

Some workplaces have started to adopt the use of smartphones in a workplace for the intention to

make the workplace automated and smart, therefore enhancing the efficiency of the employees work

flow (Menon et al 2017, p. 396). In order to make workplace “smart” the method of implementing

BLE (Bluetooth Low Energy) devices along with an iOS iBeacon application. For the intention of

capturing employee clock in/out times, when the user reaches proximity of the iBeacon the app makes

a log of entry and exit times.

Existing applications for iBeacon are mostly used for the retail world, according to Aishwarya &

Kavya (2015, p. 74) this method has made a big impact with sales. In the retail industry, iBeacon

gives the opportunity to attract the attention of consumers at the moment of a customer being present

in or near a store. iBeacon is able to send direct marketing notifications to a customer’s Bluetooth

enabled device. Therefore, promoting products and offers when a consumer is in proximity to the

store.

Figure 2 - A Smart Phone Integrated Smart Classroom (Mahesh, Jayahari & Bijlani,

2016, p. 91)

Page 11: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 11 of 73

2.4 What are BLE (Bluetooth Low Energy) Beacons?

Bluetooth Low Energy (BLE) is an emerging wireless technology that is being developed by the

Bluetooth Special Interest Group (SIG) in order to make short-range communication more efficient

for everyday devices. BLE has become a popular feature since Bluetooth 4.0 which first appeared on

smartphones in 2011. According to the Bluetooth Special Interest Group, 2017 Bluetooth 5 will

commercially be available on popular devices this year like the Samsung Galaxy S8 and Apple iPhone

8 onwards. This means that consumer technology is now accessible to most of the market.

Apple was the first technology company to support BLE on their devices operating system which was

announced back in 2011; this acted as a foundation for the future development of iBeacon to later be

announced on iOS 7 devices and later. iBeacon is a technology that enables new location awareness

opportunities for applications by leveraging the current BLE technology.

BLE emitters operate in short range distances that allow sensors to be able to communicate to each

other on a single coin cell battery, that can power the sensor for an average of 2 years. BLE is an

important factor to consider in this project as users would be able to preserve battery life on their

devices.

Due to the development of technology becoming cheaper, a range of BLE beacons have now been

produced commercially which is having a huge impact on the development of the Internet of Things.

In order for beacons to save energy, they are in sleep mode by default and wake up periodically in

order to listen out for packets from any incoming transmissions. Bluetooth emitters provide the

following information via Bluetooth Low Energy:

Field Size Data Structures Description

UUID 16 bytes 128-bit string Application developers

should define a UUID

specific to their app and

deployment use case.

Major 2 bytes Unsigned 16-bit

integer, ranging from 0

to 65536

Further specifies a

specific iBeacon and

use case.

Minor 2 bytes Unsigned 16-bit

integer, ranging from 0

to 65536

Allows further

subdivision of region or

use case, specified by

the application

developer

Table 1 - iBeacon address structure

Page 12: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 12 of 73

As a result, to iBeacon’s API that Apple developed, the developer is given two important factors

about the signal of the beacons. Which are:

• RSSI: This is the Received Signal Strength Indicator of the BLE emitter.

• Proximity: This indicates the proximity of the beacons distance from the devices that is

being transmitted to, the proximity of the beacon is indicated using four different

representations; Immediate, Near, Far and Unknown.

As a result of this API, Indoor Positioning Systems can then be developed in order for developers to

build their own systems. In order for developers to build an IPS, the location needs to have iBeacon

emitters placed at the specific location. An iOS application also needs to be created to read the

emitters.

On the contrary, to ensure that the effectiveness of the IPS is at its best, it’s important to consider any

physical objects that may obstruct the signal that is being broadcasted by the emitter. As signals are

being received by the student’s device, signal strength will generally be a direct correlation of how

far the device is from the emitter. Therefore, it is important to ensure there are no obstructions within

the broadcasting range of the emitters, or if so, how it may affect the user experience. Physical objects

can range from anything, such as the walls of a building where the emitter is placed causing the loss

of intensity of the signal. Which can cause the emitter to seem further away from the device than it

actually is. In fact, the human body itself can attenuate the Bluetooth signals, just a student having

their back turned to the beacon while holding their device will affect signal strength, therefore

effecting the accuracy too.

Figure 3 - Physical object reducing

signal strength

Figure 4 - Human body reducing

signal strength

Page 13: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 13 of 73

2.5 Location assisted emergency evacuation

Indoor positioning systems as previously mentioned in section 3.5, have been further developed to

act as an emergency evacuation assistant. The article “inLoc: Location-aware Emergency Evacuation

Assistant” (Eksen et al. 2017) refers to a system that was developed to aid elderly people to exit their

homes in a timely and effective manner.

In order to detect an emergency, the system takes advantage of the sensors that are embedded into the

BLE beacons. Firstly, the accelerometer/motion sensor is used to detect earthquakes, then the

temperature sensors are used to detect the ambient temperature of the room. The temperature data can

then be evaluated if abnormal temperatures are detected, which could have been caused by a fire.

An emergency interface is activated when a sensor is triggered, known as the “emergency phase”.

After an emergency is detected the first step of the system is to identify the nearest beacon to the user,

this way the exact location of the user is pinpointed. At which point the shortest path can then be

calculated for the user to take in order to evacuate the premises in a timely manner. In order to

calculate the shortest path, Eksen et al opted to use Dijkstra’s algorithm. The reason Dijkstra’s

algorithm was used is because the shortest path can change depending on where unsafe areas are.

This way, the algorithm is able to dynamically adapt a safe way through the premises guiding the user

around any unsafe areas that were detected by the beacons sensors.

Page 14: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 14 of 73

3 Product Research Gathering and comparing similar products will be difficult due to the products being closed systems.

As a result, to the systems being closed, a physical examination of the product will be not be possible.

This section will be researching attendance monitors as a whole; not particularly location enabled

attendance systems. This will allow for the pros and cons of other attendance systems to be

investigated, allowing other methods to be explored.

3.1 Attendance monitors

3.1.1 Safescan Clocking in system

Figure 5 – Safescan products

This system uses RFID technology to record the in and out times of employees. The RFID scanner

reads the card which the employee's data will then be directly uploaded to the cloud service for

storage. This is very similar to the system being used in The University of Greenwich at this current

time. Unfortunately, this can be very time-consuming in a lecture/class. For example, if over 50

students were to present, they would each have to be tapping their cards one after another. As a result,

adding unnecessary time to the process.

Page 15: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 15 of 73

3.1.2 Replicon Time & Attendance

Figure 6 – Replicon Time and Attendance product

Replicon’s Time & Attendance software is a cloud-based approach to how attendance is taken. Their

system allows employees to clock themselves in. Employees are able to interact with the system via

an application, which is installed on the employee’s smartphone or to log in to a company machine

to access the system.

The benefit of this system that employees are able to use their smartphones to clock in and out, this

method will save time during peak hours of clocking in or out as attendance wouldn’t have to be taken

at a single instance, allowing multiple employees to clock in or out instantaneously.

On the other hand, there is a downside to this method, in an educational institution, there would

nothing stopping students from marking their attendance at home when they are in fact not attending

a lecture. Which increase the chances of proxy attendance marks taking place.

3.1.3 Conclusion

After conducting research on similar systems, it was clear that there is huge gap in the market.

Currently there are no iBeacon integrated attendance monitors used in the real world. Unfortunately,

this made the product research very limited to what could be explored. On the other hand, this good

opportunity to develop something new using an attendance tracking technique that has never been

done before.

Relating to the Safescan clocking system a major drawback in the system is that only 3000 users are

only able to be stored. Which wouldn’t be practical for an educational institution like the University

of Greenwich with over 22000 students. Using iBeacon and a database developed for the project will

give an accurate reading of the student’s attendance log.

Page 16: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 16 of 73

4 Legal, Social, Ethical and Professional Issues and

Considerations Privacy and security will be an important factor to consider in the development of this project as

sensitive information will constantly be sent from client to server. A number of legal guidelines will

need to be implemented in order to keep this information secure. Due to the database storing user’s

information it's important that this data is encrypted in order to comply with The Data Protection Act,

1998. During the development of the project, security will be taken into consideration in order to keep

the user’s data safe. The Data Protection Act 1998 has a number of areas that cover the storage of

sensitive information and how the information collected will be used. In order to follow this

legislation, passwords will be encrypted on the client’s application, which means the database

wouldn’t have any links back to the original password of the client.

Other methods like Hyper Text Transfer Secure (HTTPS) for the web application will be

implemented. Users will be required to log in to the system which means they will have to input their

password to access the service. Therefore, if the Web Page is secured using the HTTPS protocol,

passwords can’t be hacked using packet intercepting software.

Students may not like the fact this system will be using their phone to track their attendance. This

will need to addressed to show students location tracking is secured and not shared. This project will

be to monitor attendance which means it will involve location tracking of the user. Ethical limits will

be set on how far the tracking can go. Tracking will only be on campus, where the BLE beacons are

located. Otherwise, the users will not be tracked outside of campus. For example, if a student didn’t

turn up to a lecture the system will not have permission to check where they actually are located, they

will just be aware that they not on campus.

Since the Estimote API was built on top of Apples Core Location, user authorisation is required for

the application to be used. The users will be most likely be familiar with the location authorisation

alert that will be prompted to use the iBeacon API. Students will then be able to decide for themselves

whether to only make the app functional while it is open or allow location services to be running in

the background which makes the app functional even when it's closed.

Figure 7 – Attendimote location service notification

Page 17: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 17 of 73

However, if the user decides to make any changes to the applications authorisation, they can do so in

the Settings app under Privacy > Location Services, where they can allow or deny the applications

access to iBeacon/location functionalities.

First of all, it will be important to meet set deadlines when developing the project. A low budget is

also needed for this project as the tools needed are cheap are already accessible. The research will

also apply when looking into specific BLE beacons in order to get the best suited for the situation it

is being used for in the project.

Page 18: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 18 of 73

5 Requirements

5.1 Analysis of requirements

In this project, there will be a number of requirements that will need to be achieved to make the

system relatable for real-world use. As this project uses a number of different technologies along with

important ethical issues, the non-functional and functional requirements will vary depending what

the system is being operated on. In order for the development of the system to be efficient, the

MoSCoW requirements method is used. As a result of the MoSCoW method used, prioritization of

the requirements are easily visualised for the developers, which allows them to focus on what aspects

of the system should be focused on, in order to meet goals based on the importance of the requirement.

5.2 Functional requirements

Web Application Requirements MoSCoW Category

The web application allows different lecturers to log in to the

system.

Must Have

The web application a lecturer to select what room and course

attendance to view.

Must Have

The web application should display the attendance monitor in real

time in order to view students walking into the location in real time.

Must Have

The system is only useable after the user has logged in order to

protect student information.

Must Have

The web application logs the attendance data therefore allowing

staff to view the attendance on a given day and time.

Should Have

The system allows lecturers to make changes to the attendance log

(E.g. Remove student from attendance).

Could Have

Cookies to be used to allow faster login. Could Have

iBeacon iOS Application Requirements MoSCoW Category

The application must allow students to login. Must Have

The system must mark in student’s attendance in real time. Must Have

The application marks the time a student leaves their class. Could Have

The application has a student dashboard. Should Have

The application works in the background of their device. Could Have

The application works on android devices. Won’t Have

Table 2 – Web Application Requirement

Table 3 – iBeacon iOS Application Requirement

Page 19: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 19 of 73

5.3 Non-functional requirements

Non-Functional Requirements MoSCoW Category

The systems must be scalable due to an ever-growing number of

students without affecting performance.

Must Have

Information is stored in a secure database. Must Have

The systems must take privacy into consideration, like mentioned in

ethical issues. (Asking the student for consent to access location

services)

Must Have

Communication to the database through a secure REST API. Should Have

Passwords to be stored using a hashing method (SHA1). Should Have

Responsive and Adaptive design allowing the applications to be used

on different screen sizes.

Could Have

Any communication over the web will be done secure using HTTPS

along with a valid certificate.

Could Have

Table 4 – Non-functional Requirement

Page 20: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 20 of 73

6 Design/Development

6.1 Introduction

Overall, in order to create an effective system, the interface design must be simple and easy to use

for all users, irregardless of their computer literacy. In order to make the system usable for all these

users, design techniques have been researched and taken into consideration. This section will discuss

and walk through why certain design techniques were used during the development of the system.

Here is a video walkthrough of the system: https://youtu.be/WzXslPcf_vM

6.2 User Interface Design

6.2.1 Design Guidelines

The paper “HEURISTIC EVALUATION OF USER INTERFACES” (Molich and Nielsen, 1990,

p.249) mention nine basic usability principles which are used to minimise the complexity of a user

interface. These heuristics were developed further, as a result, the final set of guidelines were released

in 1994. Following a number of the guidelines, systems should have an outcome of being easily

navigated and usable without the user having to be taught how to use the system.

The 10 guidelines are;

1. Visibility of system status.

2. Match between system and the real world.

3. User control and freedom.

4. Consistency and standards.

5. Error prevention.

6. Recognition rather than recall.

7. Flexibility and efficiency of use.

8. Aesthetic and minimalist design.

9. Help users recognise, diagnose, and recover from errors.

10. Help and Documentation.

Page 21: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 21 of 73

6.2.2 Colour Palette

Above shows the colour palette that is used throughout the user interface of the system. These colours

were chosen in order to comply with one of the ten heuristics mentioned in section 6.2.1. The primary

and secondary colours create consistency for the students and lecturers at The University of

Greenwich, as these are a set of the main colours found on the universities login page in order to enter

the portal. Therefore, the users of the system will most likely be familiar with the colours used which

will result in the users being more willing to accept the system.

White was used for the background colour for the user interface in order to make text stand out. This

makes the user interface user-friendly as it makes any content on the application easier to read which

aids users with visual impairments.

Primary

Navy Blue

#070A5C

Secondary

Gold

#E5B229

Background

White

#FFFFFF

Figure 8 – Colour Palette

Page 22: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 22 of 73

6.2.3 Typography/Font

Throughout the development of the system, consistency is an important factor which aims to improve

the usability experience. Hence the font family that is being used should be consistent throughout all

operating systems and devices. Taking into consideration that the application will be operating on

Apple's operating system, it would certainly make sense to use Apple's default font which is used

throughout most of the iOS-based applications.

As a result, the chosen font to be used on the iOS application is “San Francisco”. Apple has put a lot

of thought and development into San Francisco regarding that the font will be primarily used on

electronic devices with a screen. The devices screens are made up of thousands of pixels,

unfortunately, pixels can affect the way certain fonts look, which can make them harder to view for

users. San Francisco has been designed in a way to make letters easier to read on screens which will

help the overall user experience visually efficient to use.

Unfortunately, this font is only exclusively supported within Apples operating system which causes

an issue for the font used on the web application. In which case, a different font needs to be used

since the main operating system that will be used to access the system will likely be Windows. As a

result, this could affect the consistency of the interface depending on what operating system is being

used. Luckily San Francisco was heavily inspired by a font called “Helvetica Neue” (A comparison

is shown in figure 9).

Using Helvetica Neue for the main font of the Web application allows consistency to be carried out

through the system due to how similar the font types are.

Figure 9 – Helvetica Neue Thin vs San Francisco Display Thin

Page 23: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 23 of 73

6.2.4 Responsive and Adaptive Design

In spite of there being a wide range of platforms that a web application can be viewed on, it’s

important to consider all the platforms that the web application will be accessed on. Hence why it is

vital to incorporate responsive and adaptive layouts of the user interface design. This will allow the

web application to be accessible on most if not all types of platforms; Screen sizes, operating systems

nor devices shouldn’t affect the functionality of the web application.

As the web application will mostly be accessed on a computer by a lecturer, a responsive design will

be the main focus out of the two. A responsive design will be affected by the available space that is

on a web browser. Hence why a single responsive design of the web application will be used in order

to flow across different displays. This a huge advantage as it allows the web application to be future

proof for any future platforms that will be released due to the responsiveness adaptive to the web

browser, not screen sizes.

Although both types of designs will be beneficial, an adaptive design is time-consuming to implement

due to the complexity. Which is due to the separate designs that will need to be created in order to

adapt to each device.

Figure 10 – Responsive and Adaptive design

Page 24: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 24 of 73

6.2.5 High Fidelity Prototype – Web Application

In order to create the prototypes, a design toolkit called “Sketch” was used. This allows rapid

interactive prototyping which can be created in short amount of time.

Figure 11 shows the home page prototype for the web application. Due to the system only being

available to staff the navigation bar will be kept to a minimum in order to help guide the user through

the system. The home page practically gives one path for the user to take; which is to log in.

An advertisement of the application that supports the system will also be displayed on the home page

in order to show what the application supports, which is iOS.

Log In

APPLICATION NAME.

Home

Figure 11 – Web application home page prototype

Page 25: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 25 of 73

In the case of the user clicking the “Log In” link on the navigation bar, they will be redirected to the

login page. The login will only consist of three objects; Username textbox, Password textbox, and a

Login button.

Object Description

Username Textbox The username textbox will be where the user inputs their

username. A placeholder will be used in order to show where the

user inserts their username.

Password Textbox The password textbox will be where the user inputs their

password. A placeholder will be used in order to show where the

user inserts their password.

Login Button The login button will execute the login action, as a result if

successful will redirect them back to the home page.

Username Textbox

Password Textbox

Login Button

Figure 12 – Web application login page prototype

Table 5 – Login page input breakdown

Page 26: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 26 of 73

At the point of the user successfully logging into the web application they will be redirected to the

home page. This is where they will be presented with a new link in the navigation bar which gives

them access to the dashboard. Following clicking the “Dashboard” link they will be presented with

the page shown in Figure 13, which requires the user to select which location they would like to view.

In order to select the location, the user is required to select which campus, building, and the room.

Dropdown boxes were used in order to reduce any human error. Dropdown boxes give the user a set

of choices to select, guiding them through which options they are required to choose.

Object Description

Select campus dropdown

box

The select campus dropdown box gives the user a number of

campuses to choose from.

Select building dropdown

box

The select building dropdown box gives the user a number of

buildings to choose from which are located within the campus

they selected.

Select room dropdown box The select room dropdown box gives the user a number of rooms

to choose from which are located within the campus and building

they selected.

Go Button The Go button will redirect the user to the location they have

selected, following what campus, building and room they have

selected.

Select Campus dropdown box

Select Building dropdown box

Select Room dropdown box

Go Button

Figure 13 – Web application select room page prototype

Table 6 – Select room page input breakdown

Page 27: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 27 of 73

Figure 14 shows the dashboard which is one of the most important sections of the project. This is

where the lecturer is able to view which students are in the class.

Object Description

Student Table The student table is a section that will display what students have

walked in and out the class/lecture. This section will be

automatically updated every second which allows the lecturer to

view which students have entered/exited in real time.

Each row of the table will contain student information. Which

consists of their name and student ID. As a result, giving the

lecturer valuable student information.

First name Textbox This will display the students first name.

Second name Textbox This will display the students second name.

Student email Textbox This will display the students email

Student ID Textbox This will display the students ID.

Export Button The export button allows the lecturer to log the who attended

their class/lecture. At the moment of the export being clicked an

excel file will be saved with the student’s information being

saved.

Student Table First name Textbox

Second name Textbox

Student email Textbox Student ID Textbox

Export Button

Figure 14 – Web application dashboard page prototype

Table 7 – Dashboard page input breakdown

Page 28: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 28 of 73

6.2.6 High Fidelity Prototype – iOS Application

The iOS applications main functionality will be to give iBeacon based location services to students.

Hence why there will not be much visual content for the application.

Firstly, the student will be required to log in, in order to access the system. The login will only consist

of three objects that the student interacts with; Username textbox, Password textbox, and a Login

button.

Object Description

Username Textbox The username textbox will be where the student inputs their

username. A placeholder will be used in order to show where the

student inserts their username.

Password Textbox The password textbox will be where the student inputs their

password. A placeholder will be used in order to show where the

student inserts their password.

Login Button The login button will execute the login action. As a result, if

successful will redirect them to the attendance interface.

Username Textbox

Password Textbox

Login Button

Figure 15 – iOS application login prototype

Table 8 – iOS login input breakdown

Page 29: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 29 of 73

Figure 16 shows the attendance interface. Since the application is used to interact with Bluetooth

emitters automatically the student will not have much interaction with the application. The application

shows what the class/lecture the student is attending.

In order to comply with the usability guidelines mentions in section 6.2., standard Navbar and toolbars

were used.

Object Description

Log Out Button The Logout button will log out the student and destroy any

sessions created.

Location Label The location label will automatically update depending on where

the student. This will display to the student which class/lecture

they are attending.

Account button The account button will redirect the student to the

account/student dashboard.

Log Out Button

Location Label

Account Button

Figure 16 – iOS application attendance interface prototype

Table 9 – iOS attendance interface input breakdown

Page 30: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 30 of 73

Here is the

Account/Student dashboard. This interface allows the student to view information about themselves.

The main focus of this interface is to allow the student to view their attendance and see what

classes/lecture they have attended or missed.

Object Description

Attendance Table The Attendance table is where the student is able to see what

classes/lecture they have attended or missed. The sessions will be

labelled as S1 – S10 which allows the student to refer to which

class/lecture. In order to tell which session, the student has and

hasn’t attended, the session will be marked with an Y (Yes) or N

(No).

First name Textbox This will display the students first name.

Second name Textbox This will display the students second name.

Student email Textbox This will display the students email

Student ID Textbox This will display the students ID.

Back Button The back button will redirect the student back to the attendance

interface.

First name Textbox Second name Textbox

Student email Textbox Student ID Textbox

Attendance Table

Back Button

Table 10 – iOS dashboard interface input breakdown

Figure 17 – iOS application dashboard interface prototype

Page 31: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 31 of 73

6.3 User Interface Development

6.3.1 Developed Web Application

6.3.1.1 Navigation Bar

Due to the navigation bar being used to navigate through the web application this is where it made

sense to begin the development. The navigation bar consisted of two stages; firstly, where the user is

not logged in. Secondly, where the user is logged in.

Above displays the navigation bar when the user is not logged in. As mentioned in section 6.2.5 the

user will have to login in order to have full access to the system. Figure 18 also displays how the

navigation bar responds to different display sizes. In order to achieve a responsive navigation bar,

Bootstrap 4 was used (section 7.2.3).

Here is the navigation bar after the user logs into the web application. At which point they are

presented the dashboard link which will give them access to the dashboard feature.

Figure 18 – Responsive navigation bar (Not logged in)

Figure 19 – Responsive navigation bar (Logged in)

Page 32: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 32 of 73

6.3.1.2 Home Page

Here is the final developed home page.

Figure 20 – Developed home page

)

Page 33: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 33 of 73

6.3.1.3 Login Page

Above is the developed login page. A few changes were made from the original prototype due to the

student’s dashboard needing to be developed on the web application; the student login button was

implemented. this allows the student to log in and is redirected to the student dashboard.

Figure 21 – Developed log in page

Page 34: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 34 of 73

6.3.1.4 Room Select Page

Here is the room select developed interface. Only the supported locations are active. This is to display

what locations will be supported if the system was to be further developed.

Figure 22 – Developed room select page

Figure 23 – Developed room select page dropdown options

Page 35: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 35 of 73

6.3.1.5 Lecturer/Room Dashboard

Here is the final dashboard interface. The most important part was the left-hand side of the dashboard.

This is where the students present in the class/lecture are displayed. Like the planned in the prototype,

this section refreshes every second to give a real-time aspect to the system. The right side of the

dashboard interface shows how the student information can be displayed in future development.

Figure 24 – Developed dashboard (Not populated)

Figure 25 – Developed dashboard (Populated)

Page 36: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 36 of 73

6.3.1.6 Student Dashboard

The student dashboard is used for the student to visually display their attendance. The reason this was

developed on the application is due to being accessible on mobile and pc. This allows the student to

interact with the system on other devices; not just through the iOS application.

Figure 26 – Developed student dashboard (Populated)

Page 37: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 37 of 73

6.3.2 Developed iOS Application

Here is the final login interface for the iOS application. A logo was added just to add brand to the

application.

Figure 27 – Developed iOS application login

Page 38: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 38 of 73

Under the assumption, the student successfully logged in to the application they will be presented

with the attendance interface. Most of the service operated in the background of the application

therefore not a lot of interaction design was needed. The label that displays the location dynamically

changes depending on the student’s location.

Figure 28 – Developed iOS application attendance interface

Page 39: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 39 of 73

At the point of the student clicking on the “account” they will get redirected to the student dashboard

on the web application.

6.4 System Usability Scale - Evaluation

In order to evaluate the interfaces for the iOS application and Web application, the standard system

usability scale was used. Family and close friends anonymously filled out the questionnaire. The aim

of this evaluation technique is to study how well the user interface complies usability standards. The

results also give an understanding of how well the users interacted with the system. These results can

be found in section 11.2. After the five results were gathered, the average score was calculated for

each interface.

Relating to the iOS application the average score was 84, which places the interface on just below

excellent. Secondly, relating to the web application, the average score is 82.5; Which again places

the interface just below excellent. This is a good indicator that the interface is efficient enough for

practical use.

Figure 29 – Developed student login web

interface

Figure 30 – Developed student dashboard web

interface

Page 40: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 40 of 73

7 Tools Used

7.1 Hardware

7.1.1 MacBook Pro

In order design and develop the system, a MacBook Pro was used to run the software and access the

services discussed below (section 7.3). Since Xcode was required to develop the iOS application, it

was vital to use a MacBook Pro due to Xcode only being available on an Apple operating system.

7.1.2 iPhone

Although simulators can be used to test the application, a physical device needed to be used in order

to access Bluetooth and location services. An iPhone 6 running on iOS11 was mainly used to test the

development of the application.

7.1.3 Estimote Beacons

Over the current years, a wide range of new companies have emerged up which produce iBeacon

emitters. Estimote was one of the first companies to announce iBeacon emitters, they were also the

emitters that were readily available for use for the project which made them the choice of which

emitter to use. Estimote also provides the developer with an API to make the development more

efficient. Table 11 displays the current version of Estimote beacons which are supported by

Estimote’s current API. Unfortunately, these beacons weren’t available at the time of development

of the system. The version that was used in the system is the hardware version D3.4 which were

produced in 2012. These particular Estimote beacons are powered by a 32-bit ARM Cortex M0 CPU,

256KB memory, Bluetooth 2.4 GHz low-energy radio, temperature and 3-axis motion sensors.

Consequently, this caused major limitations within the development of the system as features were

not supported by the current API or were available in the “legacy” SDK. Nonetheless, the features

that were supported was enough to develop the main scope of the project which was to capture

student’s attendance through the use of iBeacon.

Page 41: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 41 of 73

Identification (Hardware Revision) G1.8, G1.10, G1.12 (currently shipped version)

MCU Bluetooth® SoC

ARM® Cortex®-M4 32-bit processor with FPU

64 MHz Core speed

512 kB Flash memory

64 kB RAM memory

Radio: 2.4 GHz transceiver

Bluetooth® 4.2 LE standard

Range: up to 70 meters (230 feet)

Output Power: -20 to +4 dBm in 4 dB steps,

“Whisper mode” -40 dBm

Sensitivity: -96 dBm

Frequency range: 2400 MHz to 2483.5 MHz

No. of channels: 40

Adjacent channel separation: 2 MHz

Modulation: GFSK (FHSS)

Antenna: PCB Meander, Monopole

Antenna Gain: 0 dBi

Over-the-air data rate: 1 Mbps (2 Mbps supported)

Sensors

Motion sensor (Ultra-low-power, high-

performance, 3-axis "femto" accelerometer)

Temperature sensor

Table 11 - Technical specification of current Estimote Beacons

Figure 31 - Estimote beacon teardown

Page 42: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 42 of 73

7.2 Programming/Mark-up languages and Frameworks

7.2.1 HTML

Hyper Text Mark-up Language (HTML) was used to develop the web pages for the web application.

HTML allows was used to build the structure of the web page which any web browser is then able to

render the web page; making it viewable for anyone that has access to a web browser.

7.2.2 CSS

Cascading Style Sheets (CSS) were used to control the layout and design of the web pages. CSS

allows the implementation of the layout to respond to different devices and screen sizes. This was

used throughout the web application in order to make the web pages respond to the variations of

screen sizes that the users wish to use to access the system.

7.2.3 Bootstrap 4

Bootstrap 4 is an open source framework that has been developed by Twitter. Bootstrap is a

combination of HTML, CSS, and JavaScript which has been specifically designed to build user

interface components. This saved time during the front-end development of the web application as

bootstrap contains templates for forms, buttons, navigation bars, Grid systems and many more.

Bootstrap was mainly used to utilise its grid system, which allowed the layout of the dashboard to be

developed with a responsive implementation in a short amount of time.

7.2.4 JavaScript

JavaScript is a programming language that allows web pages to be more interactive allowing the web

page to do more than just display static information. JavaScript was an important factor in the

development of the Dashboard (section 8.3).

7.2.5 PHP

Hypertext Pre-processor (PHP) is used as the scripting language for the backend/server-side of the

system. Due to PHP being able to operate on a number of various platforms, (Mac OS X, Windows,

Unix, Linux, Android, iOS etc.) this allowed a number of aspects to be implemented throughout the

system (section 8.3).

7.2.6 SQL

Structured Query Language (SQL) was used to access and manipulate the data in the database. This

is done by executing queries with the following commands; SELECT, UPDATE, DELETE, INSERT

and WHERE. These queries are executed using PHP which communicates with the MySQL database.

7.2.7 Swift 4

Swift is a programming language developed by Apple which is used to develop applications

specifically for Apple devices. Since the first release of Swift, there has been a number revision

making Swift more reliable. Swift 4 which is the latest version of Swift (During the time of this

project) made improvements to a big factor that was used in the iOS application which is the

serialisation and de-serialising of external formation, such as JSON. As a result, making the handling

of data being requested by the REST API more secure and easier to implement.

Page 43: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 43 of 73

7.3 Software/Services

7.3.1 Atom IDE

Atom is a free source code editor that runs on all major operating system (Windows, Linux, and Mac

OS X) which also supports a wide number of programming languages. Hence why it was used to

develop the Web application and REST API.

7.3.2 Xcode

Xcode is the IDE that was developed by Apple which makes it the official IDE to develop software

iOS devices. Due to being developed by Apple the IDE is only available on machines running on a

Mac operating system.

7.3.3 Postman

Postman is a HTTP client that is used for testing web services. Due to the REST API being a crucial

part of the system, allowing the iOS application to communicate with the database. This was an

important part of development hence why a reliable HTTP client was used for testing a development.

7.3.4 1&1 Web and Database Hosting

A web hosting service had to be used in order to make the system accessible. 1&1 is a company that

provides this service by supplying the desired domain name, SSL certificate, database and web

hosting for a monthly subscription. At the moment of developing the system, they offered the most

reliable servers which made them the go-to choice.

7.3.5 phpMyAdmin

Since 1&1 uses MySQL, phpMyAdmin is the administration service used to handle and maintain the

database.

7.3.6 Apple Developer Program

In order to run an application on a physical Apple device, a verified Apple Developer account is

needed. The program was vital to have access to as it allowed the iOS application to be distributed

on a physical device allowing testing and physical demonstration of the iOS application working in

the real world.

7.3.7 REST API web service

Representational State Transfer (REST) works over HTTP allowing it to be universal across many

platforms. This is a huge advantage as it allows the system’s communication to be universal and

maintainable. An example would be expanding the service to Android users, if this was to be

developed in the future it would be less time consuming to implement due to the service being

developed using universal technologies.

Page 44: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 44 of 73

8 Back-End Implementation/Prototyping Due to the development methodology which was chosen during the planning of the project, (RAD,

section 2.4) incremental prototypes were developed which will eventually be combined in order to

create the final system.

Since a number of requirements had to be met in to make the overall system. The system was split up

into three separate revisions, the revisions being developed incrementally allowed the system to be

maintainable and rapidly tested in order to make sure each requirement was met.

8.1 MySQL database

The figure above is an entity relationship diagram which visually displays the storage of the data. The

database has been setup using MySQL and maintained using phpmyadmin. The students table is used

to store information about the student. This table is used during the login stages for the student; it’s

used to validate the login with their username and password. The staff table is only used for the staff

login, which grants them access to the system. The room table is used to store the attendance of the

students by storing the student’s information along with the combination of location and time.

Figure 32 – Entity Relationship diagram

Page 45: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 45 of 73

8.2 UML Diagrams

8.2.1 UML Use Case Diagram

The figure above shows how the users will interact with the system. The student’s interaction will be

straightforward. Student/iOS application is where the interaction with the beacons take place. Under

the assumption the student logged into the iOS application, they will need to move in proximity to an

Estimote beacon. Information about the location (Class Room, Course) will be stored to the student’s

smartphone; which will then be sent via REST API to the database in real time.

The Lecturer/Web application is used to visually display who is attending the class/lecture. This will

be done using a web application that connects to the database. Information that Is being stored in the

database will be displayed in real time. The lecturer can then view and export the information.

Figure 33 – UML use case diagram

Page 46: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 46 of 73

8.2.2 UML Sequence Diagram [Login]

The figure above shows how the sequence of the login will take place; under the assumption that the

user already has an account. The user will input their credentials, the password will then be encrypted

on the client side using a SHA1 hashing algorithm. Both the username and hashed password will then

be sent to the database. If the username and password match with the credentials stored in the

database, validation will be granted.

Figure 34 – UML sequence diagram (Login)

Page 47: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 47 of 73

8.2.3 UML Sequence Diagram [Mark attendance]

The figure above shows how the sequence flows when the student’s attendance gets marked. Under

the assumption that the student has already logged in; the student service will then be granted. When

the student walks into a lecture/class (therefore moving within proximity of a beacon), the beacon

returns its location. The student details and location is then sent to the REST API, which then inserts

the data into the database; therefore, marking their attendance.

Figure 35 – UML sequence diagram (Mark attendance)

Page 48: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 48 of 73

8.3 Web Application Development

The first revision of the system was the front end of the web application which was discussed in

section 6.3. Following the front-end development being completed in just a few days, the next step

was to implement backend functionalities which communicate with the database. To achieve this

PHP was used for a number of functionalities:

• Generate dynamic page content – As discussed in section 6.2.1, in order to create an efficient

user experience, it’s important to help users recognise, diagnose, and recover from errors.

PHP was used in this instance to notify the user if a username or password has been entered

incorrectly.

• Send and Receive cookies – During the login stage of the web application, cookies were

used to remember the user’s username. This helps speed up the login process for the next

time the user wished to use the system.

• Control user access – Due to the service only being available to the university, it’s an

important requirement to only grant access to specific users (lectures and students). PHP

was used to achieve this by authenticating the user during the login stage, which if correct

granting access to the service.

• Encrypting data – In order to comply to The Data Protection Act 1998, PHP has been used to

encrypt any sensitive data. This was used in two instances, firstly hashing the password

(SHA1) that the user uses to login into the system making their login credentials secure.

Secondly, HTTPS was initialised using PHP which was discussed in section 4.

• Populate Dashboard – One of the main aspects of the system is to allow the lecturer who is in

the class/lecture. In order to achieve this, an SQL query is executed which populate the

dashboard in correspondence to the campus, building and room that the lecturer selected.

Although PHP was used to populate the dashboard, the dashboard had to have a real-time aspect

which allowed the lecturer keep track of who has entered the room. In order to implement the real-

time aspect into the dashboard; JavaScript was used. JavaScript allowed the implementation of

automatically updating content on the dashboard every second.

Page 49: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 49 of 73

8.4 iOS Application Development

The second revision was the development of the iOS application. Due to having no prior iOS

development experience it was important to allow contingency time in order to get familiarised with

the Xcode IDE and the programming language Swift 4. In order to achieve this a simple application

was developed which changed the background colour of the interface when in range of a Bluetooth

emitter (Estimote Beacon). This allowed the establishment of a number of technologies and

requirements to be met, while learning new frameworks. In order for the device to communicate with

an Estimote beacon, the Estimote SDK was used (section 7.1.3).

Following the iBeacon requirements being met, the next stage was to implement database

connectivity. This was needed to gather vital student information from the database. Firstly,

authentication had to be established which allowed the application to locate which student records to

gather. As discussed in section 8.3, an iOS application can’t directly communicate with a MySQL

database. Hence why a REST API had to be developed. Consequently, this stopped any further

development taking place on the iOS application, until which a functional REST API was developed.

After the REST API was developed, this enabled the application to complete two requirements; login

and mark attendance.

8.5 Attendance log [Excel]

An important aspect of the system is to be able to keep a log of the database, which will store past

attendance and help maintain the database. In the event of a member of staff clicking export on the

dashboard (section 6.3.1.5). This will export an Excel spreadsheet with the attendance log of that day.

The time and date is logged using the UNIX_TIMESTAMP. As the log is exported, a query is made

which removes that data from the database. This allows old data to be archived and documented using

accurate time and dates.

Page 50: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 50 of 73

8.6 REST API/Web-Service

Due to the iOS application, not being able to directly communicate with the MySQL database an API

had to be developed to do so. The REST API was developed using SQL queries which are executed

using PHP.

The REST API was used for two instances, which are;

• Login – In the instance of the student logging into the iOS application, a HTTP POST

method was used. If the student supplies the correct username and password, the student’s

information is authenticated. Valuable student information is returned such as; First Name,

Last Name, Email and Student ID. This information is then returned in a JSON format

which is then de-serialised and stored on the device.

POST is an important factor to take into consideration as it enforces the login credentials to

be sent securely. The reason for this is the method gets sent directly to the server within the

HTTP packet rather than the URL.

• Mark attendance – In the event of a student walking into their class/lecture the interaction

with a Bluetooth emitter will take place. This will trigger an HTTP POST method which

inserts the student information (First Name, Last Name, Email and Student ID) into the

database.

After testing the REST API using Postman, this allowed the API to be used in the iOS application.

Allowing further development to be added to the iOS application.

Figure 36 – REST API interaction

Page 51: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 51 of 73

9 Testing

9.1 White Box

White-Box testing is a method that is used to test a system with an understanding of the source

code. Due to having an understanding the code, this allows for a more technical testing to take

place. This testing technique is aimed to prevent any hidden errors that could take place. In order

for the system to have the best user experience it is important to minimise errors and have an error

free environment.

Test

Number

Test Expected outcome Actual outcome Correct?

1 Visit attendimote.co.uk Home page should

open

Home page opened

correctly

Yes

2 Click the login link User should get

redirected to the

login page

User gets redirected to

the login page

Yes

3 Shrink browser on login

page

Navigation bar and

login form should

respond to

shrinking browser.

Navigation bar and login

form responded to

shrinking browser.

Yes

4 Input incorrect login

credentials and click staff

login

Error message for

incorrect details

should be displayed

Error message for

incorrect details was

displayed

Yes

5 Input incorrect login

credentials and click student

login

Error message for

incorrect details

should be displayed

Error message for

incorrect details was

displayed

Yes

6 Input correct login

credentials and click staff

login

Should get

redirected to Home

page with updated

navigation bar

Redirected to Home

page with updated

navigation bar

Yes

7 Input correct login

credentials and click student

login

Should get

redirected to Home

page with updated

navigation bar

Redirected to Home

page with updated

navigation bar

Yes

Web Application – Staff Service

8 Click dashboard link in

navigation bar

Should get

redirected to Select

Room page

Redirected to Select

Room page

Yes

9 Only select campus and

leave other select options as

default

Shouldn’t redirect

to the dashboard

Didn’t redirect to the

dashboard

Yes

10 Only select building and

leave other select options as

default

Shouldn’t redirect

to the dashboard

Didn’t redirect to the

dashboard

Yes

11 Only select room and leave

other select options as

default

Shouldn’t redirect

to the dashboard

Redirected to the

dashboard

No

12 Select all required locations Should redirect to

the dashboard

Redirected to the

dashboard

Yes

Page 52: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 52 of 73

13 Shrink browser on

dashboard page

Navigation bar and

login form should

respond to

shrinking browser.

Navigation bar and login

form responded to

shrinking browser.

Yes

14 Add student into room from

database

Dashboard should

automatically

update

Dashboard

automatically updated.

Yes

15 Click on student’s name Student information

should be viewed

on dashboard

Student information

wasn’t viewed on

dashboard

No

16 Click on export button An excel

spreadsheet should

download and room

should be cleared

An excel spreadsheet

downloaded and room

was cleared

Yes

17 Click the home link located

on the navigation bar

Should be

redirected to home

page

Should be redirected to

home page

Yes

18 Click the logout link located

on the navigation bar

User should be

logged out

(Sessions

destroyed) and

should be redirected

to home page

User was logged out

(Sessions destroyed) and

redirected to home page

Yes

19 Go directly to

(https://attendimote.co.uk/ro

omsl.php) without logging

in.

Access to the web

page should be

denied

Access to the web page

was denied

Yes

20 Go directly to

(https://attendimote.co.uk/m

onitor.php) without logging

in.

Access to the web

page should be

denied

Access to the web page

was denied

Yes

Web Application – Student Service

21 Click dashboard link in

navigation bar

Should get

redirected to student

dashboard page

Redirected to student

dashboard

Yes

22 Resize browser on student

dashboard

Dashboard should

respond and resize

depending on size

of browser

Dashboard responded

and resized from size of

browser

Yes

23 Click the home link located

on the navigation bar

Should be

redirected to home

page

Should be redirected to

home page

Yes

24 Click the logout link located

on the navigation bar

User should be

logged out

(Sessions

destroyed) and

should be redirected

to home page

User was logged out

(Sessions destroyed) and

redirected to home page

Yes

25 Go directly to

(https://attendimote.co.uk/da

Access to the web

page should be

denied and redirect

Access to the web page

was denied and

Yes

Page 53: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 53 of 73

shboard.php) without

logging in

to student login

page

redirected to student

login page

iOS Application

26 Click application icon Application should

open

Application opened Yes

27 Enter incorrect login

credentials and click login

Shouldn’t redirect

to iBeacon page

Redirected to iBeacon

page

No

28 Enter correct login

credentials and click login

Should redirect to

iBeacon page

Redirected to iBeacon

page

Yes

29 Check if correct user

information is returned from

HTTP request after logging

in

Should return

correct student

information in

JSON format

Returned correct student

information in JSON

format

Yes

30 Check if correct user is

asked permission in order

for the application to use

location services

Student should

receive notification

asking for location

service permissions

Student received

notification asking for

location service

permissions

Yes

31 Move into proximity of

Estimote beacon with

Bluetooth off

“You are attending:

None” should be

displayed

“You are attending:

None” was displayed

Yes

32 Move into proximity of

Estimote beacon with

Bluetooth on

“You are attending:

KW116” should be

displayed

“You are attending:

KW116” was displayed

Yes

33 Move into proximity of

Estimote beacon with

Bluetooth on

HTTP method

should be called to

mark students

attendance

Students attendance was

saved to database and

displayed on lecturer

dashboard

Yes

34 Move out of proximity of

Estimote beacon with

Bluetooth on

“You are attending:

None” should be

displayed

“You are attending:

None” was displayed

Yes

35 Click Account link on

toolbar

Should be

redirected to safari

opening student

dashboard on web

application

Redirected to safari

opening student

dashboard on web

application

Yes

36 Click logout button User should be

logged out

(Sessions

destroyed) and

should be redirected

to login page

User should be logged

out (Sessions destroyed)

and was redirected to

login page

Yes

Table 12 – White box testing table

Page 54: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 54 of 73

In order to test powerful tools were used which allows the developer to visually display the data that

is being output in the application. These tools were used during the testing of the iOS application

and the RESTful API. Developers have access to a real-time debugger console which outputs data

for the developer to see. An example of where this was used is Table 12, test 29 shows the JSON

response being viewed in the debugger console.

Figure 37 – Testing JSON response in Xcode debug console

Page 55: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 55 of 73

10 Critical Evaluation Overall, the system was able to meet most of the requirements that were listed in section 5. In order

to develop the system, a number of different technologies had to be made to work together. Since the

beginning of the project a sufficient amount of planning took place, which allowed different of aspects

of the project to be developed and executed.

Due to security being an important factor of the overall system, this resulted in the system being

extremely secure. Since the handling and storage of the data used a number of security techniques

(HTTPS, hashing passwords, Certified SSL certificate).

However, the iBeacon technology could be further improved which will make the system even more

accurate.

10.1 Future Implementation

Even though the main scope of the project was met, there is certainly space for further development

to make the system more efficient. With the combination of updated Estimote beacons, new

methodologies could be implemented giving the user access to new features. Features that could be

implemented in the future are;

• onEnter and onExit actions – Currently, an onEnter action is used in the system which only

logs the time a student has entered a class/lecture. If an onExit action was to be

implemented, the system will be able to log the time a student has left a class/lecture. As a

result, giving staff the ability to see the time a student has both entered and exited their

class/lecture.

• Geofencing – In order to implement geofencing, more Estimote beacons will need to be

used depending on the size of a room. Unfortunately, this will increase the cost of the

system dramatically. Since geofencing is a technology that virtually maps out a geographical

area, the system will be able to increase the accuracy the location services.

• Location guidance through Dijkstra’s Algorithm – After geofencing services are developed,

this could potentially allow the development for a location guidance service. Location

guidance will allow the user to find the shortest path to a particular room in a building, or

the shortest route to the building. Since the distance between one beacon to another would

have been developed in the geofencing service; Nodes and vertices should practically

already be mapped. This will be beneficial in the event of an evacuation as it allows the user

to the leave the premises in an efficient and rapid manor.

• Security improvements – Although the security of the system has already been taken

seriously, there is always room for improvement. Currently the passwords are stored in the

database which have been hashed using the SHA1 hashing method. This method is currently

secure but due to improvements in computational processing power, this will eventually be

able to be cracked. A newer hashing method could be implemented. Preferably a SHA-256

hashing algorithm could be implemented; generating an extremely secure hashed version of

a user’s password.

Page 56: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 56 of 73

10.2 Reflection

Personally, I feel that that the project was very successful considering I had no prior experience with

iOS development. Due to having an interest in graphic design, I feel I utilised this well with the

implementation of the user interaction design. Although the user interaction wasn’t the main scope

of the project, I felt this was still an important aspect to consider as it is a user based system. I found

it difficult to not get too distracted with the user interface development which is why I set limits to

what the system interaction should do. This method helped me focus on the important aspects of the

code, which are; scalability, security and maintainability.

Unfortunately, there was an aspect of the web application that I wasn’t able to meet which was the

function to display the student’s information when the lecturer clicks on the student name, which

could have given the lecturer another useful feature. I feel this is due to my lack of knowledge of

JavaScript which could have been implemented through an onclick event. This has helped realise that

I should practice my JavaScript skills in order for me to reach my goal of being a full stack developer.

Since iOS development and Swift is on my list to learn, this project was a good kick start for me to

help understand the development. This was a good reason for me to sign up to the Apple Developer

Program. Going on to then developing the user interface, integrating technologies like Bluetooth and

iBeacon; this has motivated me to work on more side projects.

This was also the first time I developed and integrated a RESTful API, which at first seemed

challenging. Due to having some experience in PHP, I was able to develop my own API to be used

across the system which allowed to get a deeper understanding of how universal systems

communicate to a database.

Considering I would like my career to go in the direction of a Frontend and backend developer for

web and iOS application, I learned many methodologies that can be used future jobs. This has helped

build my confidence and able to present employers with first-hand experience.

Page 57: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 57 of 73

11 Appendices

11.1 Appendix A - Gantt Chart

11.2 Appendix B - System Usability Scale Research

Page 58: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 58 of 73

11.2.1 SUS - iOS Application [1]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this application was

easy to use. X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this

application.

X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this application.

X

Total raw score 35 X 2.5 = 87.5 SUS score /100

Matching adjective = Excellent

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 59: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 59 of 73

11.2.2 SUS - iOS Application [2]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 30 X 2.5 = 75 SUS score /100

Matching adjective = Above good

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 60: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 60 of 73

11.2.3 SUS – iOS Application [3]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this application was

easy to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this

application.

X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use.

X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this application.

X

Total raw score 36 X 2.5 = 90 SUS score /100

Matching adjective = Almost best imaginable

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 61: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 61 of 73

11.2.4 SUS – iOS Application [4]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this application was

easy to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this

application.

X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use.

X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this application.

X

Total raw score 36 X 2.5 = 90 SUS score /100

Matching adjective = Almost best imaginable

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 62: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 62 of 73

11.2.5 SUS - iOS Application [5]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this application was

easy to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this

application.

X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use.

X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this application.

X

Total raw score 31 X 2.5 = 77.5 SUS score /100

Matching adjective = Above good

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 63: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 63 of 73

11.2.6 SUS – Web Application [1]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 33 X 2.5 = 82.5 SUS score /100

Matching adjective = Almost Excellent

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 64: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 64 of 73

11.2.7 SUS – Web Application [2]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 31 X 2.5 = 77.5 SUS score /100

Matching adjective = Above good

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 65: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 65 of 73

11.2.8 SUS – Web Application [3]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 33 X 2.5 = 82.5 SUS score /100

Matching adjective = Almost Excellent

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 66: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 66 of 73

11.2.9 SUS – Web Application [4]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 36 X 2.5 = 90 SUS score /100

Matching adjective = Above Excellent

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 67: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 67 of 73

11.2.10 SUS – Web Application [5]

System Usability Scale Instructions: For each of the following statements, mark one box that best describes your reactions to the application.

Strongly Disagree

1

2

3

4

Strongly Agree

5

1. I think that I would like to use

this application frequently. X

2. I found this application

unnecessarily complex.

X

3. I thought this website was easy

to use.

X

4. I think that I would need

assistance to be able to use this

application.

X

5. I found the various functions in

this application were well

integrated.

X

6. I thought there was too much

inconsistency in this website. X

7. I would imagine that most

people would learn to use this

application very quickly.

X

8. I found this application very

cumbersome/awkward to use. X

9. I felt very confident using this

application.

X

10. I needed to learn a lot of things

before I could get going with

this website.

X

Total raw score 32 X 2.5 = 80 SUS score /100

Matching adjective = Almost Excellent

Meaning of SUS Scores

92 = Best Imaginable

85 = Excellent

72 = Good

52 = Ok/Fair

38 = Poor

25 = Worst Imaginable

Page 68: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 68 of 73

11.3 Appendix C - Diagrams

11.3.1 Rich picture

11.3.2 Flow diagram

Page 69: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 69 of 73

11.4 Appendix D - File List

Web Application

• index.php – This is the home page for the web application.

• indexstudent.php - This is the home page that the student gets redirected to after logging in.

• config.php – This is the controller that is called to get access to the database.

• login.php – This is the login page on the web application.

• loginiosweb.php This is the login page that the student gets redirected to when using their iOS

device.

• roomsl.php – This is used for the lecturer to select the location they would like to view the

attendance dashboard for.

• populate.php – This is the controller that is used to populate the attendance dashboard.

• monitor.php – This is the dahsbaord page that the lecturer used to view the attendance of their

selected location.

• dashboard.php – This is the student dashboard page which allows the student to view their

attendance log.

• datetime.php – This is the controller used to generate the UNIX_TIMESTAMP that is used

in the export controller.

• export.php – This is the controller that is used for the export button on the dashboard page.

Allwoing the lecturer to export an attendance log into a CSV file which can be viewed in

Excel.

• logout.php – This controller destroys the users sessions, logging them out.

• footer.css – This is the style sheet for the footer across the web application.

• lstyle.css - This is the style sheet for the login page.

• mstyle.css - This is the style sheet for the dashboard/monitor.

• navbar-top.css - This is the style sheet for the navigation bar across the web application.

• bootstrap.min.css – This is part of the bootstrap framework used across the web application.

• bootsrap.min.js - This is part of the bootstrap framework used across the web application.

• jquery-slim.min.js - This is part of the bootstrap framework used across the web application.

• popper.min.js - This is part of the bootstrap framework used across the web application.

RESTful API

• config_ios.php – This is the controller that stores the database access information.

• dbconnect_ios.php – This controller uses the config_ios.php file to connect to the database.

• dboperation_ios.php – This controller has a number of functions that are called in the login

and mark attendance stages of the application.

• login_ios.php – This is the file that the HTTP request uses to authenticate the student login.

• add_ios.php – This is the file that the HTTP request uses to add the student’s attendance to

the database.

Page 70: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 70 of 73

iOS Application/Attendimote • Attendimote.xcodeproj – This is the project that stored the repositories for all files, and

resources that are used in the application.

• EstimoteSDK.framework – This is the Estimote framework that is used to implement

communication between the iOS device and Estimote beacons.

• ObjCBridge.h – This is the file used to import the Estimote SDK.

• AppDelegate.swift – This file is used to handed UIApplication states.

• BeaconViewController.swift – This is the file that contains the function behind the

iBeacon/Attendance interface.

• ViewController.swift – This is the file that contains the function behind the login interface.

• Info.plist – This property file stores the user’s settings, which is used to store the location

service permissions.

• LaunchScreen.storyboard – This file stores the user interface for the launch screen of the

application

• Main.storyboard - This file stores the user interface for the storyboard of the application.

Page 71: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 71 of 73

12 References

Aishwarya, D. and Kavya, N. (2015) ‘UNFOLDING THE POTENTIAL OF IBEACON’,

International Journal of Advances in Electronics and Computer Science, (25), pp. 2393–

2835. Available at: http://www.iraj.in/journal/journal_file/journal_pdf/12-135-

143142490572-76.pdf (Accessed: 15 December 2017).

Anand S, Kamal Bijlani, Sheeja Suresh, P. P. (2016) ‘Attendance monitoring in classroom

using smartphone & Wi-Fi fingerprinting’. (Accessed: 14 December 2017).

Apple Inc. (2017) Core Data Programming Guide: What Is Core Data?(Accessed: 6 March

2018).

Apple Inc. (2014) ‘Getting Started with iBeacon Getting Started with iBeacon Overview’.

(Accessed: 17 March 2018).

Boehm, B. W. (1986) ‘A Spiral Model of Software Development and Enhancement’.

(Accessed: 17 March 2018).

Eksen, K., Serif, T. and Ghinea, G. (2018) ‘inLoc : Location-aware Emergency Evacuation

Assistant’. (Accessed: 18 March 2018).

Estimote (2018) Technical specification of Estimote Beacons and Stickers – Estimote

Community Portal. (Accessed: 15 March 2018).

Gatsheni, B. N., Kuriakose, R. B. and Aghdasi, F. (2007) ‘Automating a student class

attendance register using radio frequency identification in South Africa’, Proceedings of the

2007 4th IEEE International Conference on Mechatronics, ICM 2007, (May), pp. 8–10. doi:

10.1109/ICMECH.2007.4279977.

Jakob Nielsen, R. M. (1990) ‘HEURISTIC EVALUATION OF USER INTERFACES’.

(Accessed: 7 April 2018).

Martin J (1992) Rapid Application Development. Prentice-Hall, Englewood Cliffs.

Mahesh, G., Jayahari, K. R. and Bijlani, K. (2016) ‘A smart phone integrated smart

classroom’, International Conference on Next Generation Mobile Applications, Services,

and Technologies, pp. 88–93. doi: 10.1109/NGMAST.2016.31.

Menon, S. et al. (2017) ‘Smart workplace - Using iBeacon’, 2017 International Conference

on Networks and Advances in Computational Technologies, NetACT 2017, (July), pp. 396–

400. doi: 10.1109/NETACT.2017.8076803.

Natalie Harrison, T. B. (2011) Apple Launches iPhone 4S, iOS 5 & iCloud - Apple.

Available at: https://www.apple.com/newsroom/2011/10/04Apple-Launches-iPhone-4S-

iOS-5-iCloud/ (Accessed: 10 March 2018).

Parliamentary Office of Science and Technology (2004) ‘RADIO FREQUENCY

IDENTIFICATION (RFID)’. (Accessed: 15 December 2017).

Page 72: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 72 of 73

Royce, W. W. (1970) ‘MANAGING THE DEVELOPMENT OF LARGE SOFTWARE

SYSTEMS’. (Accessed: 17 March 2018).

Stanca, L. (2004) ‘The Effects of Attendance on Academic Performance: Panel Data

Evidence for Introductory Microeconomics’. (Accessed: 14 December 2017).

Tokiwa, Y., Nonobe, K. and Iwatsuki, M. (2009) ‘Web-based tools to sustain the motivation

of students in distance education’, Proceedings - Frontiers in Education Conference, FIE,

pp. 1–5. doi: 10.1109/FIE.2009.5350677.

Page 73: Attendane Monitoring using iBeaconjoshmustafa.com/assets/uploads/images/projects/iBeacon.pdf · This dissertation researches the limitations of traditional attendance monitors. At

Page 73 of 73

13 Bibliography Anthony, R. J. (2015) Systems programming : designing and developing distributed applications.

(Accessed: 17 March 2018).

Ashok, S. and Krishnaiah, R. V (2013) ‘Overview and Evaluation of Bluetooth Low Energy: An

Emerging Low-Power Wireless Technology’, International Journal of Advanced Research in

Computer Science and Software Engineering, 3(9), pp. 2277–128. (Accessed: 2 March 2018).

Goodwin, K. (2009) Designing for the digital age : how to create human-centered products and

services. Wiley Pub. (Accessed: 18 Feb 2018).

Hay, S. and Harle, R. (2009) ‘Bluetooth Tracking without Discoverability’, in, pp. 120–137. doi:

10.1007/978-3-642-01721-6_8. (Accessed: 2 Feb 2018).

Orozco-Ochoa, S. et al. (2011) ‘Bluetooth-Based System for Tracking People Localization at

Home’, in, pp. 345–352. doi: 10.1007/978-3-642-19934-9_44. (Accessed: 2 March 2018).

Rodríguez-Damián, M., Vila Sobrino, X. A. and Rodríguez-Liñares, L. (2013) ‘Indoor Tracking

Persons Using Bluetooth: A Real Experiment with Different Fingerprinting-Based Algorithms’, in.

Springer, Heidelberg, pp. 25–32. doi: 10.1007/978-3-319-00566-9_4. (Accessed: 5 March 2018).

Wiegers, K. E. and Beatty, J. (2011) Software requirements. (Accessed: 12 April 2018).

Zafari, F. et al. (2016) ‘Enhancing the Accuracy of iBeacons for Indoor Proximity-based Services’.

(Accessed: 2 April 2018).