Development


This page will display some of the key aspects of our development stages, including the system diagram, role allocation within the team, the necessary documentation and a video of our project.

Management

Our team agreed each member’s responsibility in the early stage of development based on each member’s experience. We regularly talk to each other to keep track of each member’s progress using various group message software and online/real life meetings. We use Github and Google Drive to share our code and assets that make up the code as well as the reports and videos. Our client provided us with a Kanban tool but we found using it to be quite redundant for a project of this scale so we only came up with a plan and tried our best to work as close as possible to it.

Vu Luong (Zac)
- Team Leader
- Client Liaison

Hyojong Kim (Justin)
- API Developer
- PoC UI Developer
- PoC AR Developer
- Server Admin

Arjun Khurana
- Media Director
- Website Developer

Following Agile/Scrum workflow, each of our meeting include reflection on the work we have done and the plan for the next week. We keep our client up to date by regularly sending them screenshots and videos of our work in progress as well as the bi-weekly reports.

Architectural Diagram

Below is a diagram showing the key components of our system along with how these components interact with each other:

Design Pattern

In the API sector, we employed MVC (Model-View-Controller) design pattern. Django provided database ORM, which are represented as models, templates of responses as views, and finally controller which is represented as ‘views’ in Django.

Achievements and Evaluation

Throughout the whole app development project, we’ve had 4 meetings with Luis Lancos and Mike Smith - our Client. 3 of those meetings were Skype meeting with app demos where we showed the current stage of our app along with explaining the designs and techniques we used and are planning to use and report the team’s contribution.

Meeting #1




This was our first and only meeting that took place in person, it was at the start of the year, we were introduced to Luis who would be taking over Mike Smith (our original client) and discussed the project goals.

Meeting #2




We had a Skype meeting with Luis and his team, we showed our first prototype which has a strong focus on the AR game because we were just interested in the capabilities of Vuforia as an AR development platform. At this stage we were still figuring out how to integrate the API into our code in either the Xcode build and the Unity build. Luis and his team were quite impressed with the capability of Vuforia, one of his colleague - Lee - seems to be very happy that we use Unity to work on our PoC. This prototype allowed user to pick any point in front of the camera to be the area which the AR elements will appear on which was not what he had in mind so we were instructed to make it so that all AR elements will only appear on a pre-programmed image target (the advertisement)

Meeting #3




In this meeting, we demonstrated Prototype 2 which has the ability to interact with the API to allow user login and voucher database. Based on the previous meeting, we decided to include only a simple interaction where we open a chest on the advertisement. Prototype 2 also has a simple UI instead of just going straight to camera view like Prototype 1. Our client was satisfied with our progress thus far and was setting up an “in office” meeting for us to give a live demo but unfortunately Luis had some issues on his side so we never met directly again.

Meeting #4




In this meeting, we showed our client our final build. Zac was unable to implement the visual map like Pokemon Go as our method (which collects coordinates data from Google Maps API and render it into a 3D block map) was using up too much resources, slow and will eventually crash the app and we couldn’t figure out a better way to implement this, perhaps more research needed to be done. However, we managed to successfully implement all necessary functionality and made the final design to our app, Luis was satisfied with all aspect of the app.

Below is the development plan we followed through the life cycle of the project:

Paper Prototype

Initial idea of the PoC and how it interacts with the API. The prototype has login, a stylized map and AR functionality, we use try our best to stick to this UI design throughout our development cycle. At this stage, we’ve completed our key requirements with our client, selected the technologies we would be using for our final product.
Below are the screenshots:

Prototype 1

Our first prototype has a strong focus on the AR game because we were just interested in the capabilities of Vuforia as an AR development platform. At this stage we were still figuring out how to integrate the API into our code in either the Xcode build and the Unity build.
Below are the screenshots:

Prototype 2

Prototype 2 has the ability to interact with the API to allow user login and voucher database. After discussing with our client, we decided to include only a simple interact where we open a chest on the advertisement.
Below are the screenshots:

Final Product

The final product functionality are still the same as we failed to integrate a visual map like Pokemon Go, such feature use up a lot of resources with the method we found. As it is not in the Must Have requirement, we decided to keep the product as is and clean up the UI.
Below are the screenshots:

Project Video

Future works

Currently we only very simple geolocation as well as AR features in the app, however if we’d had more time, we would have liked to implement a visual map and extra AR game for the app, such extra features will certainly attract a wider audience and create more drive to play use this app and therefore exposure to advertisements. Additionally, we would integrate a system of analytics in order to get an even clearer picture of the way the user base interacts with the app. Because of the implementation of analytics, it allows us to monitor the usage of the app and can give us insights about what features could perhaps be better implemented and lead to future changes.

The app has potential for even more growth with the addition of cloud recognition. This would open up a wealth of possibilities, for example, it would then be possible to create a different game for each advertisement panel, or it will allow the advertiser to upload their own version of the AR interaction (something similar to Blippar).