Mid semester break

COMP3100 portfolio entry #5

Where we are now

Even though we are not required to work during the break, most of us agree that we should use this lecture-free period to focus as much as we can on the project, and start putting things together before we release the app.

Our plans have slightly changed yet again. Instead of just making the app available to everyone out there, in a public beta, we decided to have another private release, that is invite only. This would be similar to the focus group we had earlier this year, but the scope is larger this time, as we are aiming at 50-200 people. Again, we want to see what the users think of our work. But, the main difference with respect to the focus group is that we also want to test our infrastructure, and make sure it can handle a reasonable number of concurrent users. In addition, we are having some trouble recreating some really specific bugs. It is our intention that with the help of beta testers, we will be able to spot them and fix them much faster.

As such, we've put testing on hold (yet again). At the moment, we are trying to finalise some of the functionality and features, in particular, creating fitness events and inviting people to them. In addition, we are trying to make the app as stable as it gets. Even though the scope of the release and the audience have gotten smaller, it is still important that we offer a product that is as stable as possible.

My contributions this week

Over the midsem break, I did dedicate a lot of time to the project and tried to help as much as I can. Even though I am not a team leader, I feel like it is my responsibility to ensure that the project doesn't go off track and everything proceeds as smoothly as possible.

For starters, AJ (one of the team leaders) was able to negotiate a desk in Entry 29, for the duration of the break, and I joined him for a coding and networking session. I was able to meet Mark Reed, a mentor of our startup, that I didn't have the chance to talk to before. In addition, I got the chance to meet and talk to some other startup entrepreneurs (working at neucode and SignOnSite). What's more important is that I was able to find a nice and productive space to work on the project. The fast internet speed was also a plus as well :).

Other than attending meetings and networking with others, I also contributed a lot of code to the project.

In particular, I did spend a lot of time fixing features that weren't properly tested by other before. This was a really huge issue and this is where I spent the majority of my time. Recently, we made some changes to some API method calls, at the server backend. Unfortunately, these were not properly documented, and refactoring is not possible, since the Ionic framework does not appear to have any IDE's. As such, most of these changes had to be done manually, and as a result, some parts of the code base were not updated (we are human, after all). As such, my tasks were to find and update the obsolete API calls.

In terms of functionality, I had to configure some parts of the project, in order to improve the overall experience. Ionic projects use a file called config.xml to configure options for mobile users, such as whether or not the app will run in fullscreen mode, the option to disable the scrolling bar, changing permissions, and so on. What I did was edit these options, in accordance to what we need. For example, in order to improve safety, I blacklisted all HTTP redirects, other than the ones to PairFit's server, and I disabled some permissions that are not required by the app, such as Bluetooth or reading Emails. Even though I haven't had much experience with XML before, Cordova's tutorial really helped me get started.

And to finish things off, I also tried to go through the app as a new user, and try to uncover inconsistencies and bugs. After coming across a new issue, I would then create an appropriate task in Jira. I didn't have time to focus on fixing these, as I already had my hands full, but knowing the existing issues would certainly help us in the future, when we can add them to sprints.

Git commits during the midsem break

Details

At entry29 with AJ

Details

Fixing permissions of the app on Android

Details

Main contributions during the midsem break

Details

Cumulative flow diagram of tasks I've been assigned

Details

Closing thoughts

I'm quite happy with my contributions over the break, we did squash a lot of bugs and I'm confident that the project is going in the right direction. However, some of the team members were not able to perform at a similar level. Some issues that we had was untested code being pushed, tasks not being completed (on time or at all), code being randomly deleted after accidentally merging conflicting parts of the codebase and so on. I believe that if the team was more focused, we would perhaps be able to release the app to the public, instead of having another beta release. I sort of believe that this is why the team leaders and the client decided to postpone the public launch for a while, it doesn't look like we are quite ready yet. Hopefully the beta will just be the push to the right direction we are waiting for. I'm looking forward to next week.