Posts

Showing posts from August, 2021

User Testing

Written by: Quincy Williams This weeks focus was on user testing and making improvements to the application based on some of the findings that we received from our testing. A few things that were noted that were common between our rounds of testing, were that there were some inconsistencies within the UI and there were some improvements that could be made to make things easier for the user to use the application. One of the things that stood out for me was the ability to add and edit exercises. Users reported that adding exercises were not very user friendly, especially for the beginner who is not very familiar with some of the details that were being asked of them to enter. There were also some issues presented with editing exercises, in specific, with exercises that were locally loaded. We were also presented with issues on how routines are completed, noting that there were moments where there may have been too many things going on and not a lot of visual cues. Overall, the impressio...

Editing Exercises/Timer Improvements

Image
Written by: Quincy Williams This week, I continued to focus on finishing up the exercises functionality by introducing the ability for users to be able to edit exercises. This will allow for users to be able edit both loaded and added exercises and add the edited version back into their respective arraylist in the application. With that being said, there were a few issues that I ran into with doing this. Once I was able to get the date from the exercise, by pulling its ID and gathering the data from the ID, the fields would be filled in a new activity with the data but when the data was saved and the exercise was opened in exercise details, the formatting functions that we using were causing the data to return in an unclean fashion. This would continue to happen every time the exercise was added. To get around this, I was able to come up with a way to check for specific values in a string and use the replaceAll method to replace those specific strings with an empty string. After replac...

Deleting Exercises/Exercise Function Updated

Image
 Written by: Quincy Williams This week, I continued my focus on the exercise portion of the application as we come down to our final weeks of production of our app. There was a lot of focus on bug fixes as we are getting to the portion of development where the features are starting to be able to work together and in turn is introducing unexpected behaviors. One of the main behaviors I was able to work out this week was how we allowed users to enter data. I needed to adjust some of the functions that we had in place that took care of formatting text from the json and also allow for the functions to think about user input as well. The function was adjusted so that if we did not need to properly format the text that was entered, that it should return that text. Initially, the logic was more strict to the json files that are locally loaded for our exercises as all of the information was essentially improperly formatted so there was very little variance needed in order to check if the t...

Adding Exercises

Image
Written by: Quincy Williams This week, I focused on adding the feature of the user being able to add their own exercises to the application! We ran into some issues with how we wanted to achieve this due to the fact that we were able to determine that the way that we were initially loading the app, was fine on newer devices, but on older devices, there was a performance issue that slowed down the device's capability to smoothly run the app. Before we made an adjustment to improve exercise loading, we would have each activity that needed to use our local assets, load them manually into an array list and then manipulate the array list afterwards. After our improvements, our exercises are now loaded at the start of the app and performance was greatly increased. With the performance improvement, this allowed for me to be able to add the functionality for uses to be able to add exercises to the application. We did this by updating the user class, which is what now loads our local assets...

Cross Navigation

Image
Written by: Quincy Williams Cross navigation between the different portions of the application was one of my main focus' this week. This required allowing the user to be able to get to other portions of the app in situations that we deemed would be useful for the user to navigate to beside the traditional flow of the app. We achieved this by adding buttons to certain views, such as the routine play activity, that would allow the user to get to the timer function, the one rep max calculator and the plate calculator, as these pieces of the app would be useful to have when a use was is working out. These buttons are available for the user in the top right for this activity but there are other places where they were added as well. An issue that I ran into with this was navigating between a class that extends an activity and a class that extends a fragment. I initially tried to use a fragment manager object to navigate to each fragment but they  I was able to work with one of my teammat...