Tuesday, November 29, 2016

Backend Protocols

Protocols are important to our project because we have varying technologies in our backend. When you merge different technologies together, you need to define a way for them to talk to each other. Since I am working on the Android app and Firebase server, I came up with a communication protocol between the mobile app and our backend server. Defining this early as we continue development will decrease the likelyhood of bugs and confusion.

Wednesday, November 23, 2016

Researching XBee

This past week, I have been doing research on Xbee to see if it can perform asynchronous tasks. Asychronous (async) tasks allow us to send multiple requests to the transportation pod at once. These tasks are independent of each other and do not block one another. I want to see whether or not the Xbee controllers could only take one task at a time. If so, then our team would have to change components within our project architecture as a result of this limitation. Async is a difficult topic that requires a lot of research and information. As of late, I have been looking into JavaScript as the primary programming language to use for async programming. This language has built-in support for this type of task.

Thursday, November 17, 2016

Connecting Android with Firebase

This past week, I was primarily focused with connecting the Android App with Firebase. I wanted to show Ron the progress that I have been making with the Android app by demonstrating the features that that I have completed so far. The demo walked Ron through the typical use case of a user ordering a pod, getting picked up, and arriving at their destination. Animations and use of color were used to indicate and emphasize the status of a pod. Different animations and colors were used depending on whether the pod is on the way to the user, the pod is waiting for the user to enter, the pod is on the way to the user's destination, or when the pod has arrived at the user's final destination.

Tuesday, November 8, 2016

Android App & Backend Progress

A lot has been achieved since the last blog post. I have completed the complete UI of the Android application. We cannot fully test the mobile app since we will need real data from the server in order for that to happen. Because the backend server will be much more complicated than the front-end, I will be putting most of my effort into the backend. I recently learned how to push data to/from Firebase via Node.js. Problems I ran into were successfully signing in to a user's account in order to access profile information. Other than trying to solve this issue over the next few weeks, I will be researching key ways to perform asynchronous programming from a backend server. The two key programming languages to perform this that I will be looking at are Node.js and PHP.

Tuesday, November 1, 2016

Design Review

Last week was where my team presented to an audience a summary of our Spartan Superway Mobile project so far. It was a very good experience and we received a lot of advice. Most importantly, we have a better idea of what backend technologies to use for our project. This was the area we had the most difficulty on so I am very thankful to have had the opportunity to receive valuable feedback on our project for the backend.

Saturday, October 15, 2016


In the last few weeks, the Spartan Superway Mobile team has made great progress with the project. It has been decided that we will be developing the mobile application for both iOS and Android. I will be responsible for the Android platform. The first few weeks of starting this project was mainly gathering information and doing research to learn more about the overall system of Spartan Superway. This research phase is critical to our project because we need to be able to identify the dependencies between our mobile app and the transportation pods. After going through this research phase, I began architecting the Android application and determining screens based on the user flow of the app.

Tuesday, September 6, 2016

First Meeting

We have completed our first official team meeting. We went over our software requirements specification and reviewed Taiga.io with the team.