Week 8 and Week 9
COMP3100 portfolio entry #6
Where we are now
So, I was planning on having separate entries for weeks 8 and 9. However, most of the work that the team and I completed during this time period was focused on finalising and pushing a public beta to the Android store. As such, I've decided to write just one portfolio entry for weeks 8 and 9, since I would just be repeating myself if I separated these entries.
In any case, we were finally able to upload a beta version to the Google Play store. The past two weeks were spent trying to make sure that the app is as bug free and stable as possible. As such, countless hours were spent debugging and fixing our backend. The day we went live was last Friday, so that would make it the 30th of September.
What we are doing now is preparing for the iOS beta. That means fixing iOS specific bugs and glitches. At the same time, we are collecting the feedback from the beta users of the Android beta version. What is left now is to:
- Fix the issues that users bring to our attention
- Slowly start implementing some mini features that have not yet been completed yet (such as commitment scores and ratings)
- Release the iOS beta
- Take care of risk log issues that we haven't addressed yet
So, essentially, we are pretty much done with features and we are slowly wrapping up the whole project. We also need to start utilising the marketing channels we established earlier this year. Fortunately, our client Jarrod has been extremely helpful with these things. We've got a few posters ready, we've created a website for the app, our Facebook page has around 300 likes currently... Overall, it looks like we are in control of the whole thing, and I'm extremely happy that everything is going well.
PairFit HQ - Finding issues the day before release
My contributions this week
These last two weeks have been really intense. Apart from completing my tasks as usual, I also spent a lot of time going through the app and fixing every single issue/bug I could come across. As evidence, the number of git commits I pushed can be seen down below.
Apart from working solo, I also attended the 6-hour long development session last Thursday (the day before we launched). Originally, this was planned to be a 1 to 2 hour long meeting to go through the app and verify that it's ready for release. However, we ended up discovering some small issues that we decided to fix. Thus, the meeting was made into a dev session. Me, Monday an AJ basically spent the whole afternoon squashing bugs, and so on.
A measure of the team's productivity over these two weeks can be seen in the attached excel file below this paragraph. The aggregate of our work was around 3600 minutes, which is 60 hours of project work. This only counts programming tasks, and not maintenance, meetings, or other non-programming tasks. Of these 60 hours, I think my share is around 15-17 hours. Including meetings and other project-related things (such as completing peer reviews, etc) my contributions were around 22 hours (I believe).
Getting more specific, I spent most of the time compiling the app for Android devices and testing it on my phone. One downside of Ionic is that browser emulation is not 100% accurate. Android devices are very diverse (source), and it's essential that we test our app on actual smartphones. Fortunately, this whole process takes around 2 minutes (including installing the app on the phone). Also, Google Chrome offers debugging features, so error logs can also be downloaded to a PC and analysed. A couple of examples of issues that I fixed include device tokens not being pulled correctly, and Facebook's API not updating profile images correctly. Some other tasks I completed can be seen in the commit log image below.
Apart from the usual bug fixing, I also got to try something new this week: running maintenance operations on the server that we use to communicate with the clients. As I've mentioned, the server contains a database, and the backend (written in node.js) that is used to communicate with the database. Some of the things I had to do are the following:
- Check the server crash log. If the crash was caused by a bug, try and fix it. Otherwise note the crash and the reason behind it.
- Delete inconsistencies in the database, such as a user with no last name, invalid emails, invitations to events that have been deleted, and so on
- Ensure that the server software is up to date
This was a really interesting experience, as I don't get to run server maintenance frequently, and I only work on the code, test it locally, commit it, and then it is automatically downloaded to the server. Seeing our architecture in reality is a whole different thing, and it makes me appreciate abstraction more.
Summarising my contributions these past weeks in one sentence, I would say I helped the project move from the development phase to the getting ready to release phase. With the help of the rest of the team, we only delayed our beta release by one week, which is a reasonable amount of time, given that we don't have experience doing this sort of thing,
Graph of git commits these past 2 weeks
Detailed report of completed tasks and estimates
-
Download Time Tracking Report.xls
Time Tracking Report.xls Details
- Sunday, 02 October 2016 [23.7KB]
Example of bugfixing tasks completed this week
Closing thoughts
I'm quite happy that the app is out there, for people to use. As I have mentioned in the past, one issue with the project is that it's difficult to get objective feedback from users. With the beta release, not only we are able to improve the software we are building, but we can also integrate different ideas that we've never thought of.
The next important thing to prepare for is the iOS beta release. After that, my responsibilities in this project will probably decrease in number, since the other team members, that will stay with PairFit after the end of TechLauncher, will be responsible for improving the app. But it's a long way until then. Even though we've only got a month left, we still need to complete a few important things before the final deadline. But, we are almost there.
In addition to the software being finalised, the Innovation ACT contest, in which some PairFit team members are participating, will also be coming to an end this month. Even though I didn't join my peers in this, I feel part of the team and I'm really interested in their progress. Hopefully they'll be successful, and PairFit will secure additional funding that will help it enter the market and cover operating costs in the future.
Until next time!