Overview of Phone Application

Our final phone application solution implemented the following requirements:

Implemented Technologies

The phone application made use of multiple phone technologies and frameworks. The goal in choosing the framework was to create a phone application that could be ported across different platforms, such as IOS, Android, Windows Phone, or FirefoxOS. We decided that programming in HTML, CSS< and Javascript would be most appropriate for this task, so that the same code base could be used across all platforms.

Initially, we planned on implementing the PhoneGap framework, but weren't able to get that working successfully on the phone. Next, we tried the Ionic Framework, which is based on the Apache Cordova technology that allows phone applications to be built with Javascript, HTML, and CSS. This framework worked for most of the duration of the project, but there was an incompatibility with a key bluetooth technology. In the end, we implemented the application in Apache Cordova directly, and made use of the XCode application for compilation and deployment onto the phone.

Implemented Technologies:

Application Structure

Home Screen

The home page contains a list of upcoming events. It has an option to delete the events, and add a new event. There is a a settings icon on the right hand corner of the page for the user to unregister RFID tags, add and remove events.

Settings Screen

The user can configure settings by clicking on the settings icon on the top right hand part of the screen. The user has the option of unregistering RFID devices, adding events, removing events, and viewing sensor information. The user can leave the settings page by clicking on the back icon on the top left of the screen.

Add Event

It allows the user to add an event, and register RFID devices associated with the event. Events also have a date and a time field.

Remove Event

Users can remove an event by choosing it from a drop down box. Events are sorted by title.

RFID Registration

The phone application automatically redirects the user to an RFID registration screen when he/she scans a new tag. The screen has a box where the user can input the name of the device. The application verbally notifies the user when he/she has scanned a new tag.

RFID Removal

The application has an RFID removal screen which allows the user to unassociate an object with an RFID tag.