Week 10 Goals:
- Mentor Feedback
- Danny – design
- Michael – development
- Stride Staff – functionality
- Merge all braches
- Consider implementation of and design badging components
Mentor Feedback
Design
Danny Rankin (TAM Instructor)
At this point in the semester, we are fine tuning design decisions and aiming to create an aesthetically cohesive product, as we are nearing the deadline for our project. After meeting with Danny for what might be the final time, he was quite appreciative of the progress we have made from where we were originally in comparison to where we are now. From minor aesthetic adjustments, to entire page redesigns, Danny was far more useful throughout this semester than we could have ever asked for, and at our last meeting, he only had a few critiques:
- Edit Profile and Change Password buttons on the Profile page
- “Try playing around with the location and the color choices you want for these. Drop shadows can be helpful but are not always necessary to indicate that something is a button; the text you decide to use can usually be enough. I would recommend filling in the buttons entirely or separating them, one at the top and one at the bottom; lose the drop shadow and maybe see how that looks?”
- New Message and Task Icon
- “I have my own opinions about these icons but I think you guys should ask some of your peers, and especially students from Stride if at all possible. I know I emphasized using all rounded corners or all sharp corners throughout the application, but design at your own discretion and take outside opinions into deep consideration.”
Functionality
Stride Staff
While user testing was difficult this week due to the Coronavirus, we were still able to get some minor feedback from Stride and will get more concrete feedback coming into next week once all of our code has been merged. We specifically asked Stride for what information they wanted to see on the profile pages of students vs mentors, and will implement that this week:
- Students: grade, school, email
- Mentors: role and email
Stride was excited to see the new development of the connections between mentors and students and loved the way we set up the weekly planner. They also appreciated the code requirement for signing up as a mentor, and told us it may be a good idea to have a code for students as well, so that they really have to be part of the program in order to use the app.
Development
Michael Condon (Associate App Developer)
Michael has been very helpful throughout this whole process and guiding us in the direction of developing on industry scale and quality. Michael is on the March Madness app team, and due to the Coronavirus, has some extra time now that the tournaments been cancelled so was able to give detailed feedback on the progress we’ve made since he’s seen it last.
Things that could be better:
- Making our members as private as possible, for example functions used only within its class. This is helpfully logistically and controls what logic would make sense to be handled outside of the objects scope
- Use Static Structs or models for constants such as our weekdayChoices in PlannerOverallController
- Safely unwrap optionals instead of force unwrapping them. Force unwrapping to find a nil can cause the app to crash
- Keep like functions near each other. You can also through all related logic in an extension to keep files clean. He also suggested separating related functions with pragma marks //MARK: Lifecycle as these are special comments detected by Xcode and can be jumped to, collapsed, etc.
- Finally he commented again to make our View Controllers “as stupid as possible.”
Things we did well:
- He “really really” liked how we created views with “lazy vars”, as this is an “amazing way to organize view attributes”. He also suggested we could set our constraints here even if the constraints reference views that haven’t been made yet because it will create those views if it needs to. “This is a really advanced way to create views so nice work!”
- He appreciated our naming conventions and said this is a good habit.
- He commended us for the fact that we are “willing to extend a generic class” saying “noticing that there is a more efficient way to utilize an existing API and extending it saves a lot of time and makes everyones lives easier.”
- Finally, he commented again on the modularity of our code and specifically said he liked that we split up our collectionView and collectionViewCell classes into separate things.
Finally Michael has also been helping in trying to get the code to run on our phones and getting the app on Testflight.
Badging Design
