BTech 451 Project

Rowan Carmichael

Log

Week 1: March 16th

First project meeting with Opus:
Met with senior developer Kodie Wixon, project lead Taylor Carnell, and financial analyst Roquito Lim to discuss the general idea of the app, the recommended time-frame and schedule, and the platforms which would best suit the development. It was originally suggested that we use HTML5 for the desktop application and have both a HTML5 web app and a native android app for smartphones/tablets, however upon further review it was decided that using just HTML5 would be sufficient for all the functionality required (most notably taking pictures from a phone/tablet and utilising geolocation). By doing so code will be able to be shared between the desktop and mobile application.

The next step will be getting set up in the Opus Auckland office and to begin further planning and development.

Week 2: March 23rd

Second project meeting with Opus:
Met with Opus developer Taylor Carnell (the creator of the HazApp idea) to discuss potential technologies for this project. The main technology of note is the mapping API ArcGis which I have begun to familiarise myself with in preparation of development. I have also clarified some of the finer functionalities of the application and have begun designing the overall look and feel of the app.

The next step will be further familiarisation with ArcGis to learn how to make use of some of the more important functionalities like dynamically adding pointers with useful information, and the interaction of different map marker layers.

Week 3: March 30th

Third project meeting with Opus:
Met with Kodie Wixon and Taylor Carnell to discuss and plan out what was needed within the next month or so. Also discussed my project requirements for the BTech course so that both my needs and the companies needs were accounted for. Also after gaining access to the Opus internal network I have begun planning and working on the user interface design and implementation utilising ArcGIS.

Week 4-5 (Mid-Semester Break): April 6th

Further tinkering with ArcGIS, working on the client side application (so far just for the desktop implementation). I have primarily been looking at the ArcGIS Javascript API which is available online. This also includes several very useful code examples which I have been experimenting with.

Week 6: April 20th

First presentation for BTech Project:
Presented my into presentation for my HazApp project. The presentation primarily covered the outline of the project including motivations, solutions, and technologies that I would be using to complete the project. I am awaiting questions and comments regarding my project from my academic supervisor Mano.

Next week I have a big meeting with the Opus team to discuss and plan out the database design for the project (as we will be creating a database to contain the hazards from scratch).

Week 7: April 27th

Fourth project meeting with Opus:
Met with Kodie Wixon, Taylor Carnell, and Mitchell Bennett to discuss and plan out the coming weeks of development. It was decided that I would be assigned the mobile side of the application, and we are aiming to have our first prototype (of both the mobile and desktop side of the application) to be completed and ready for in-house user testing by the first week of July.
From this meeting we also designed our first draft for the PostreSQL based database.

Week 8: May 4th

I have created a digital version of the ERD plan using draw.io. After a couple of video meetings with the team I have made a few changes to the point that the ERD should be able to be implemented into a real database.
Over the coming weeks I will also be continuing my research of suitable technologies to use, leading up to the submission date of my Mid-Year Report.

Week 9: May 11th

The ERD has been used to implement the HazApp database using pgAdmin 3. At the current time, there is no real data in the database (only table and relationship definitions), I will be taking some time to input some typical data so that testing may commence.

Week 10: May 18th

Development has begun:
I have prioritised getting my local copy of the HazApp database working on my home computer using both pgAdmin 3 and XAMPP so that I can freely use it as a test base for data while I am developing the mobile side of the application. After successfully setting up the database I have used PHP to perform the basic CRUD operations needed to complete the first prototype.

Week 11: May 25th

This week I have put my time towards learning and getting the ArcGIS mapping technology to work. I have kept in mind that as I am developing for mobile/tablets I need to have a responsive web design which can accommodate all screen sizes and I have also implemented a simple function to locate where the device is being used and zoom to that location on the map so that users may easily report hazards that are on projects they are working at.
I have also put a lot of time towards completing my Mid-Year Report which is due at the start of next week.

Week 12: June 1th

Mid-Year Report completed:
After submitting my Mid-Year Report I have turned my focus to creating an HTML5 form for hazard reporting. As we are in a very early stage of development, I will only be focussing on area that I believe are most important to the hazard reporting task.

Week 13-15 (Exam Period): June 8th

Exam period for university has started so my work load for the project will be reduced for the coming few weeks. With this in mind I will be hoping to complete the hazard reporting form, and then work towards combining my HTML5 and PHP code so that when a user completes the hazard form on a mobile device the data will be transferred into the HazApp database.
I hope to make up for the time lost over the exam period in the 4 weeks of mid-year break after my final exam.

Week 16: June 29th

Continued development on the base application. Re-factored and updated the user interface and also incorporated bootstrap to make the design more responsive (work on all screen sizes without cluttering or compromising functionality).

Week 17: July 6th

Fifth Project Meeting with Opus:
Spoke with Taylor Carnell and Mitchell Bennett on how the development would continue leading up to the first round of user acceptance testing. Focussed on integrating my work with theirs.

Week 18: July 13th

Finalising the first prototype leading up to the meeting with Opus' business/software management representatives. Most notably added several new fields to the hazard form page and accessed the PostgreSQL database which automatically receives all currently active hazards and displays them on the map view as well as receives the newly created hazard report (adding it into the database).

Week 19: July 20th

Mid Year Presentation
After presenting my mid year presentation I received some useful ideas primarily related to the user interface design and the fields that would be included.

Week 20: July 27th

Added function to automatically zoom to a user's location (based of the devices geolocation) when the application is first opened. Encountered some bugs regarding different behavious on different browsers (Chrome vs Internet Explorer vs Mozilla).

Week 21: August 3rd

Updated the foundation of the PostgreSQL database. In particular fixed some incorrect table columns and created a new view for the hazard table which is more information rich and easier to understand than the original hazard table. This new view will primarily be used for the hazard information modal which I will be implementing next.

Week 22: August 10th

Removed the old alert dialogue that was used a filler for a particular hazard's information. Replaced it with a more user friendly and better looking bootstrap modal window. Also changed the filtering of the hazard information modal so that it only displays only the information deemed necessary. For the meantime it is the hazard type, severity, description and reported date, however this can easily be changed in the future if more/less is seen as appropriate.

Week 23: August 17th

Created a dozen new hazard type symbols which I have implemented into the hazard map view. Instead of all hazards simply showing up on the map as the same symbol, each different hazard type has its own corresponding symbols. This has further increased the richness of information as now users no longer have to select a hazard (to view the information on the hazard type) as it is clearly apparent in the map view alone.

Week 24: August 24th

ELT Presentation:
Merged work from the past 4 weeks with some of the functionality Taylor Carnell and Mitchell Bennett have been working on. This is primarily in preparation to get an up-to-date version working to be put "on-line" so that the user testing phase may begin. This week we also presented our progress to date to Opus' ELT (general managers and CEO). Got a very positive response as well are some userful inputs for where the project is to head next.

Week 25: August 31st

completed User Interface improvements for the hazard information modal. Also implemented the new Opus health and safety approved severity scale on the hazard form. The map view now has a collapsable legend for the newly implemented hazard symbols.

Week 26: September 7th

Trip to Opus' Software Development Headquarters in Christchurch:
Visited the software development team of Opus in Christchurch, where amongst other things we discussed my progress to date and my plan for the coming months leading towards the completion of my project. The hazard form's latitude/longitude fields have been extended to have a graphical map representation of the area a new hazard is to be logged.

Week 27: September 14th

Worked on the final touches before the application is ready to be put on-line for real users to use. This included some graphical bugs on smaller screen devices as well as some other smaller bugs affecting the map view.

Week 28: September 21st

HazApp is online - User Acceptance Testing:
The hazard reporting side of HazApp has now gone live so that the first round of user acceptance testing can commence. This has meant that a log in system is needed, as such we have decided to go with a htaccess login.

Week 29: September 28st

Inital feedback from the Geotech team who have been participating in the user acceptance test has come in. Analysis/discussions of their comments have started, and some of the smaller changes have been implemented.

Week 30: October 5th

Working with Highcharts to generate dynamic visualisations of the reported hazard data. Continuing to make minor improvements based of the user acceptance testing feedback.

Week 31: October 12th

Development has ended:
Focus is now on completing the final report writeup and the final presentation.

Week 30: October 19th

Finishing final report and preparing/presenting the final presentaion.