2. Meeting Notes - DIT113-V22/group-01 GitHub Wiki
πΌ TA Meeting 7.4. πΌ TA Meeting 14.4. πΌ TA Meeting 21.4. π Sprint #1 Standup πΌ TA Meeting 28.4. π Sprint #2 Standup πΌ TA Meeting 25.5.
28.05.There is a finish line in sight
Agenda
- Merge everything
Preparation Homework
- Complete the tasks
Notes TBD
26.05.We are close
Agenda
- See everyone's progress
Preparation Homework
- Work on assigned issues
Notes
- Tests are in progress
- README is about halfway finished
- Adding virtual cars to the city environment in progress
- The joystick has been late a bit, but it will be delivered on schedule
21.05. Almost there
Planning Poker results:
- Joystick: 5 5 5 8 8: Enough work for 1 person for 1 week, so we rounded to 5. Shouldn't be too difficult since we have all the necessary methods; just need to connect them with a joystick.
- Assignee: John
- Virtual Cars: 5 8 8 8 13: Would be 5 if we had experience. Better to keep at 8 since working with game engines is very cumbersome.
- Assignees: Lance & Ivan
- Unit Tests: 5 5 8 8 13: Rounded to 8 since logic and UI are coupled, so writing tests will require some refactoring. Additionally, Github action workflow is required. Is approximately enough work for 2 people for 1 week.
- Assignees: Georg & Ansis
- Wiki: 2 2 5 5 13: Decided on 5 since we need to update the User Manual with new UI and mod installation guide (for getting the City Environment)
- Assignee: Bardia
- Minor fixes: average of 3 points: not a lot of time needed to complete; very small problems.
- Assignee: Lance
Bardia and Ivan are stripping me of my rights. I will be gone soon ;-;
15.05. Not a race, but a chaotic meeting
Preparation Homework
- Work on assigned issues (who could have guessed)
Notes
- Video playback finished together with all animations π₯
- Question illustrations under way πΌοΈ
- Tests pretty much done π§ͺ
- City Environment base complete. Need street signs (and traffic lights), road markings, map border barriers πΊοΈ
- All tasks on track π―
12.05. Not a race, not a marathon, but a change of managers
Preparation Homework
- Work on assigned issues :)
Agenda
- Discuss progress for ongoing tasks
- Present problems/suggestions for ongoing tasks, if any
Notes
- Tests are in progress
- Class Diagram, EERD, User Manual done (github documentation)
- Illustrations and animations are in progress, video playback also in progress
- City Environment map (campus Lindholmen and surroundings) prepared
8.05. Not a race, not a marathon, but a triathlon
Preparation Homework
- NA
Agenda
- Planning poker for milestones 7, 8, and 9.
- Assigning tasks
Notes
- Planning poker using Fibonacci numbers
Milestone 7
#67 Create and add question animations Avg: 11 Low: 5 High: 21
#68 Create and add question illustrations Avg: 11 Low: 5 High: 21
#69 Control Animation Playback Avg: 6 Low: 2 High: 8
Milestone 8
#71 Tests for the Practice Theory Screen/ QuizQuestion Screen Avg: 8 Low: 5 High: 13
#72 Update the wiki Avg: 6 Low: 3 High: 13
Milestone 9
#70 Create city environment Avg: 18 Low: 13 High: 21
#73 Set the car spawn position in the emulator Avg: 9 Low: 5 High: 13
7.05. Not race, not a marathon, but a triathlon
Preparation Homework
- Prepare potential user stories and acceptance criteria.
Agenda
- Add user stories and acceptance criteria for Sprint 3.
5.05. Crunch time aka Crush time
Preparation Homework
- Finalize milestones 4, 5, 6
Agenda
- Progress check
Notes
- All tasks for Sprint 2 will be completed by Friday.
1.05. OHHHHHHHHH, WE'RE HALFWAY THEREEEE! aaahhhh AAAAAHHHHH
Preparation Homework
- Finish all tasks for milestones 4 and 5
Agenda
- Merge pull-requests for milestone 4 and 5 issues.
- Discuss timeframe for milestone 6 tasks.
28.04. On to the next
Preparation Homework
- Work on milestone 4
Agenda
- Present work done on milestone 4 tasks.
- Go over the collected questions and categories for issue #35
- Discuss the quiz data model (issue #33)
Notes
-
Ansis worked on defining the data model for issue #33 and will push his changes.
-
Bardia is working on implementing the quiz state management. A portion of his work is dependent on Ansis' issue and issue #37.
-
Ivan worked on issue #37 and has started working on implementing the quiz timer in Milestone 5. Made a switch in which the user can pick from 3 different times and upon starting the quiz the timer will begin counting down.
-
Georg is mostly finished with issue 37. Made quiz UI.
-
Lance came back from vacation recently and is just starting to look at his tasks. Work has been set aside for him so he will contribute to the issues that were started in his absence. Will also work on the review category management from Milestone 5 with John.
-
John began gathering quiz questions. Made the database class, question class, and made methods for creating questions and adding them to an SQL schema.
-
Reduced quiz from 5 topics, 10 questions each to 3 topics, 15 questions each.
-
Removed datetime from the acceptance criteria for issue #33 in the UserAnswer class.
24.04. Locals are celebrating on the finish line π₯³
Preparation Homework N/A
Agenda
- Planning poker for Sprint #2
- Assign tasks for the upcoming sprint
Notes
- Define the Quiz Data Model #33 weight: 5
- 1 vote: 1, 3 votes: 5, 1 vote: 13
- 1: quickly done, add fields to existing classes
- 13: misclick, changed to 8
- 5: should be done correctly, template code, clean structure
- 1 vote: 1, 3 votes: 5, 1 vote: 13
- Implement quiz state management #34 weight: 5
- 3 votes: 3, 2 votes: 5
- 3: not that much, low challenge
- 5: not just adding methods but using android database, writing tests
- 3 votes: 3, 2 votes: 5
- Gather quiz questions #35 weight: 5
- 4 votes: 5, 1 vote: 8
- 8: the count of questions, thought into how to setup categories
- 4 votes: 5, 1 vote: 8
- Update Theory Section #36 weight: 1
- 2 votes: 2, 3 votes: 1
- Create Quiz UI #37 weight: 13
- 4 votes: 13, 1 vote: 21
- 13: core of the project
- 21: needs to run smooth, look pretty and be easily upgradeable
- 4 votes: 13, 1 vote: 21
- Create the Quiz Set UI #38 weight: 8
- 3 votes: 8, 2 votes: 5
- 8: better safe than sorry, finding way to add features, android studio sucks, last acceptance criteria
- 5: we have done UI before
- 3 votes: 8, 2 votes: 5
- Update the Quiz State #39 weight: 8
- 2 votes: 8, 2 votes: 5, 1 vote: 13
- 5: handling user input,
- 8: understanding of android db, coming up with tests
- 13: "meat" of code, testing both manually and automation, get and store info correctly
- 2 votes: 8, 2 votes: 5, 1 vote: 13
- Add review category management #40 weight: 8
- 4 votes: 8, 1 vote: 5
- 5: working with card state, most time for unit tests
- 4 votes: 8, 1 vote: 5
- Implement the quiz timer #41 weight: 8
- 3 votes: 8, 2 votes: 5
- 5: lots of resources out there, displaying it
- 8: the understanding needs to be there, don't underestimate time
- 3 votes: 8, 2 votes: 5
- Add controls to the practice driving screen #42 weight: 5
- 2 votes: 3, 2 votes: 5, 1 vote: 8
- 5: hard to make intuitive, not alot to do
- 3: we have template, not much to add but updating existing stuff
- 2 votes: 3, 2 votes: 5, 1 vote: 8
- Add dashboard to the practice driving screen #43 weight: 5
- 1 vote: 3, 3 votes: 5, 1 vote: 13
- 3: we have displaying sensor data already, just focus on UI
- 5: how to display everything in a convenient and nice way
- 13: between 8/13, intuitive display, space issues*, fit everything with screen, don't underestimate!
- 1 vote: 3, 3 votes: 5, 1 vote: 13
- Add sounds to the practice driving screen #44 weight: 5
- 3 votes: 5, 1 vote: 3, 1 vote: 13
- 3: easier to accomplish due to not being a trivial feature, not getting sound from emulator (increase to 8)
- 5: more difficult to display sound that we think, steep slope vs obstacle vs terrain collision
- 13: android studio limitation, sound ain't that easy, implementation of sound, what sound bits used and when
- 3 votes: 5, 1 vote: 3, 1 vote: 13
Low Priority Issues: (No team member is being assigned to these -- only done if all other tasks are done)
- Add optional tilting for steering #45 weight: 13
- 2 votes: 21, 2 votes: 13, 1 vote: 8
- 21: hard if on physical phone, emulator gives access to phone statistics, full access to moving phone emulator, testing and tweaking
- 13: its own rabbit hole
- 8: don't know how it will work, if turned to certain angle, sets angle of car (changed to ?)
- 2 votes: 21, 2 votes: 13, 1 vote: 8
- Set the cars spawn position in the emulator #46 weight: 13
- 4 votes: 13, 1 vote: 21
- 21: mac users be like, modding with a not very well made emulator, maintainers aren't the friendliest nor most helpful
- 13: new territory, people to talk to about how mods work, state of emulator isn't predictable
- 4 votes: 13, 1 vote: 21
----After----
- Assigned tasks to people
- Discussed tomorrow's standup presentation
21.04. Locals nearing the sprint finish line π
Preparation Homework
- Milestone 2 done
- Car connection #13 done
- User Stories for Sprint 2 (milestone 4, 5, 6) prepared with acceptance criteria
- Think of what u missed in them this sprint and add it π
Agenda
- Progress update
- Finalizing the user stories
- Talk about the demo
Notes
- User Stories were finalized, below is the document
- Issues added to git
- Planning poker re-scheduled to Sunday 26.04
- Milestones 1, 2 are done
- Last milestone 2 tasks to be completed tonight or tomorrow morning
- Milestone 3
- Camera View: basically done, copy paste tasks into different class
- Basic Controls: most of it is just debugging and trying to get it to work, the implementation is pretty simple
- Car Data Display: not much progress, most progress done tomorrow
17.04 Locals have begun testing their Tasks π±
Preparation Homework
- All tests written for milestone 1
- Ready to discuss how tests were written
Agenda
- Merging all tests together
- Create separate branch for tests
- Merge branches of milestone1 branches into master before starting milestone2
Notes
- Completed milestone 1 together π
- Happy Easter! π£
14.04 Visible progress on the Locals' Tasks
Preparation Homework
- Finish Milestone 1 so that all functionalities work
Agenda
- Milestone 1 progress
- Template App: Editing the SDK/Facade
- Testing due for the 17.04
Notes
- Milestone 1 is pretty much complete
- Additional tests are being written
- Milestone 2 progress:
- Layout in prototyping
- Logo and colour scheme established
- Progress overall is ahead of schedule
- Really happy with our progress so far
10.04 Locals started their tasks
Preparation Homework
- Work on your tasks
Agenda
- Talk about the task progress and potential blockers
Notes
- Progress:
- Issue #4 has been fully implemented
- Testing needs to be done both from the car and the java sdk (Unit tests)
- Issue #7 is implemented but MQTT needs to be investigated
- Issue #11 pretty much done but needs polishing
- IDE Problems
- Meeting notes were posted XD
- Looked into testing; if its possible for MQTT Tests via GitHub actions(spoiler it is not possible)
- All ends in pain and would be a waste a time: creating tests that need to be run manually are possible
- Looked at the facade that was written: looking at ways to improve to help testing
- Writing the tests: wait for Tuesday until Code Review
- Write comments/reviews for the issue on what was clear or unclear -- help improve how we write issues
- Issue #6 and Issue #9 were worked on
- MQTT issues
07.04 Locals are acquiring some licenses
Preparation Homework
- none besides git and project related questions
- read and understand Junit tests and testing in general
Agenda
- Talk about git and the project progress
Notes
- Answered some setup questions
- How to get arduino to work with vscode? How about macs?
- How to handle merge conflicts and how likely they are to occur.
- Talked about testing, in the sense of what we want to test (java test for car communication and quiz state logic)
- Lance will setup testing and have a look at a github testing action.
03.04 Locals setup their own business
Preparation Homework
- Use the color tool to come up with color suggestions
- Think about the user stories you want to work on and do some research on them
- (optional) Create an app icon
Agenda:
- Estimate the user stories: planning poker time π΄
- Assign the first few stories
- Talk about git guidelines
- Talk about Create MQTT topic specification #3 and Add colors to the app #11
Notes
- Planning poker time whoop whoop
- Create MQTT topic specification #3 => weight: 1 -- discussed during the meeting
- Initialize sensors and publish their data #4 => weight: 8
- 3 votes: 8, 2 votes: 3
- 8: might take longer to get used to mqtt and calculating with sensor results
- large acceptance criteria as well as sprint 1, better to overestimate than under
- Add blinkers to the car #5 => weight: 3
- 2 votes: 3, 2 votes: 2, 1 votes: 5
- 5: might be a bit annoying to test, tweaks required, using the steering angle to automatically turn off blinkers
- Add emergency stop to the car #6 => weight: 2
- 2 votes: 1, 2 votes: 2, 1 vote: 3
- Add steering to the car #7 => weight: 3
- 2 votes: 5, 2 votes: 2, 1 votes: 1
- 5: mqtt unfamiliarity, how to pass angles
- 3: hard to make things look smooth
- Add acceleration/deceleration to the car #8 => weight: 2
- 4 votes: 2, 1 votes: 3
- Add home screen to app #9 => weight: 3
- 2 votes: 5, 3 votes: 2
- 5: design meetings, deliberation, not everyone working on it
- 2: android studio makes it easy but deliberation takes more time, will only take some time for prototyping, no need for trial and error, once everyone agrees its done
- Add navigation to the app #10 => weight: 3
- 2 votes: 3, 2 votes: 3, 1 vote: 5
- 5: deliberation, propose different ideas/schemes, design decisions
- Add colors to the app #11 => weight: 0 -- discussed during the meeting
- Add about us screen to the app #12 => weight: 1/2
- 4 votes: 1, 1 vote: 3
- Allow connecting the car to the app #13 => weight: 8
- 2 votes: 5, 2 votes: 8, 1 vote: 13
- 13: I have no idea how to do that. And this is will also have to be done in an android app
- Add simple car controls and display data #14 => weight: 6
- 3 votes: 5, 2 votes: 8
- 8: didnt want to underestimate, lots of testing, making sure layout of UI works for controls
- Display the cars sensor data #15 => weight: 4
- 2 votes: 3, 2 votes: 5, 1 vote: 2
- 5: the asynchronous code, whether in the same screen or on a different one
- Display the cars camera view #16 => weight: 4
- 3 votes: 3, 1 vote: 5, 1 vote: 8
- 8: based on that the feature might affect other code, refactoring for our codebase and understanding how it works
- 5: understanding what the methods do (reduces future tasks' weight)
- Create MQTT topic specification #3
- steering - left right :: "/smartcar/controls/steering"
- throttle - forwards backwards :: "/smartcar/controls/throttle"
- ir, ultrasonic, odometer, camera, gyroscope
- ir: "/smartcar/sensor/ir"
- ultrasonic: "/smartcar/sensor/ultrasonic"
- odometer: "/smartcar/sensor/odometer"
- camera: "/smartcar/sensor/camera"
- gyroscope: "/smartcar/sensor/gyroscope"
- blinkers: "/smartcar/status/blinkers"
- emergency stop: "/smartcar/controls/stop"
- Add colors to the app #11
- being color blind friendly: not using green, red, etc
- relaxing colors, allow users to be optimistic rather than intimidated
- pastel colors / natural colors
- blue covers most colorblindness: darker shade
- After democracy:
- decision was to go with a darkish blue from Ivan's logo
- Tasks assigned and git talked through it
31.03 Locals are becoming more friendly
Preparation Homework
- Requirements for all milestones
- User stories for Sprint 1 (milestone 1-3)
- (optional) See milestone description if you want changes
- Everyone should have: Android Studio, Emulator (SMCE Godot) and IDE for writing Arduino Code
Agenda:
- Add the Requirements to the milestones
- Complete assignment which details our user stories for sprint 1
- Update milestone descriptions if changes are proposed
- Estimate the user stories: planning poker time π΄
Notes:
- Requirements done the day before already
- Planning poker moved to the next meeting
- Ivan was drunk and we allowed that π₯΄π»
- That is why we do late night and sunday meetings ;P
27.03. Locals are going wild
Preparation Homework:
- Cost/Value for the list below
- Capitalize on the pun for our App's Name (come up with a goooood one)
- Have a look at the assignment for Feature Specification
Agenda:
- Cost/Value analysis
- Have a good name for our app
- Come up with features for our app for the assignment
- Meeting tomorrow with Stakeholders
Notes:
- App Name: Crushers' Crash Course - On opening the app (LONG)
- Crash Course - Android Home screen (SHORT)
- Slogan = "Crush the Test!"
- Two Parts: Theory and Driving
-
Theory
- Split into Practice questions and other to take exam ---> low cost high value
- Exam: locked questions and time :: Practice: choose question count (3 option: short, med, stor and time is yes or no (time based on # of questions)
- road map with topics, selecting one or more based on preference ---> low cost high value (wrong questions get placed in "Revise" category)
- illustrations and visual scenarios for the practice questions: car shows the question ---> given the multiple outcomes high cost, high value
- choice of loading question into emulator -> see what is actually happening ||
- if we pick one of the answers it shows the solution in real time (emulator time) ||
- (if possible) Convert google map of Gothenburg to GMCE map π₯ ---> very high cost high value
- multiple spawn location for map --->
- Split into Practice questions and other to take exam ---> low cost high value
-
DRIVING
- tilting for steering would be cool ---> optional based on time: low cost high value
- blinkers ---> low cost medium value
- manual controls for user ---> medium cost high value only if it has the city environment
- camera modes (top down vs first person) -> static dashboard in 1st person? ---> first person: medium cost high value
-
OPTIONAL:
-
Virtual cars that obey traffic laws ---> high cost high value (very high value with city and first person driving)π―π
-
voice commands for a, b, c, d, e -> with button ---> medium cost medium/low value (depends on how we extend the voice commands)
-
share score/progress with others (social media platforms?) ---> low cost low value
-
Chaos mode: opposite of obeying laws ---> optional -- low value low cost given that the cars are implemented correctly
-
Feature List: see GitHub milestones
-Tomorrow's Presentation:
-
Some features and milestones: 4-10 in short
-
What colors they want
-
Wait for feedback
-
Colors?
- Yellow, Lime, Green,
24.03. Managing the locals
Preparation Homework:
- Look at the brainstorming ideas
- Combine the ideas with the question (What do we wanna solve? Why? How?)
- Rank the features using estimated cost vs value, 100$ method, whatever
- If you notice crucial info needed for some features, share it and look into it
- Decide if you want to volunteer as manager, do we want to switch managers, or maybe 2 managers for the full period working together, ...
Agenda:
- Choose management
- Create project proposal
- Start working on the initial features specification
- Finish Slides for both the Group Presentation and Project Idea slide
- Discuss who is coming Mondays to present (based on if the presentation is to be held in front of class)
Notes:
-
Ansis volunteers for future, after bootcamp (nomination is georg)
-
Bardia 4 people to be manager, until further notice doesn't volunteer (nomination is georg)
-
Georg 4 people to manager, different styles manager and vice manager (volunteer for first sprint)
-
Lance 4 people manager, first and last sprints to be 2 managers (volunteers for 1st and second sprint)
-
John nominates Georg and/or Lance for manager
-
Verdict: switch every sprint (every 2 weeks), first and last week have 2 managers
-
1st sprint: Georg and Lance
-
2nd sprint: John
-
3rd sprint: Ansis
-
4th sprint: Bardia, Ivan
-
Bardia:
- To return from the same route, save the path from source to destination.
- Keep the car between two lines.
- Keep a record of your travels. [where you have been]
- In which streets are the cops with their speeding cameras?
- Count how many matches this automobile has won and how many it has lost and make a prediction for the next upcoming race
- Automatically adjust your speed in response to the vehicle in front of you.
- calculating the size of the parking spot to create an automated parking, if it doesnβt fit then it searches for next empty spot
- When the vehicle approaches an intersection with another vehicle, it must come to a complete stop
- Inquire as to the language the participant prefers to take the exam in
- Give test and practice questions The only difference is that the exam contains a timer for each question, whereas practice question do not.
- offer participants with a chart to track their progress
- Provide three different difficulty levels (easy, regular, hard)
- If a participant answers a question poorly, show them a video. What would the consequences be if you chose the wrong situations instead of the correct ones?
-
Ansis:
- Race car and drivers license
- most practical ones
- race car personally: problem is that it needs to be on a server for multiple players
- mod for making maps
- Driver's License: would be nice for the app
- Would be nice to focus on theory and the application
- More depth to it
- Havent done cost value
- racing has a wow factor and easy to implement
- driving app, theory not so sure: so many features to do besides just driving
- most ideas scratched due to limitations of the car
-
Georg:
- Two modes: questions and scenarios
- command given such shows the outcome of the question using 'simulation'
- scenarios can be where the user takes control and has to navigate through some certain scenarios (how to award correctness tbd)
- We wanna solve the training aspect of getting a driver's license, however there is alot of theory that may not relate to the car's existance even so we have to figure a way out to collect common questions and to interweave the car's role into them
- Goals: allow the user to practice for and hopefully pass their driving license theoretical exam wherein they understand the rules of driving safely.
- $100 method:
- drive manually given scenario - $20
- 'Multiple stations with relative position (stop sign or zebra crossing) $5
- Obstacle avoidance - $10
- Emergency break (with or without voice commands) - $10
-
Lance:
- combined some ideas already
- sent whole list to teacher: most ideas rejected due to limited car
- racing is possible but think beyond the car
- racing too limited in the features presented
- driver's license is NOIICEE
- app works completely without the car but still uses it
- lots of scenarios and have user profies
- illustrations
- driver mode - to drive and see view
- crazy: create extension for city with cars: practice in custom city
- i want driver's license right now print it out for me: due to limitations of sensors
- cost of fighting with sensors is just annoying and waste
- limited by time is better than limited by hardware
-
John:
- training app, with series of courses
- each problem requires a different skill
- Parrallel parking, turns (speed constraint), pedestrian w/ zebra crossing, stoplights (need to buy color sensor)
- simulated cars, merging traffic and such: both for physical and emulator
- teaches users obstacle awareness, practice security hazards, accustoms users to real-world situations
- for new users or users meaning to educate themselves on new scenarios
- could get complex: but keep simple in type of scenarios
-
Ivan:
- Provide the user with a tool to study theory
- Show different scenarios with the car based on users input
- Show progress, could be such as how much of the material the user has covered, in %
- Store user information as a profile
- Emulator mod, have a city environment were the user could simulate a driving test.
- Step by step, let the user go through a βstoryβ
- Have a roadmap, maybe 5 levels with focus on a specific section and then have a small final test
- Quiz, let the user choose how many questions they want and they are auto-generated, also important to have a time limit since you want to prepare them for the real test
- Maybe follow other users progress, or compare stats so it becomes a bit competitive.
- Ideas for a controller, have the upper half of the screen as the front view and bottom half have a steering wheel and pedals.
- Different types of designs for the quiz but, could be a small video were the car demonstrates a situation then the user have to choose an answer. Maybe mark the option which is correct with green, and red for wrong answer. Store wrong answers to a βbankβ so the user can go back and do them again.
-
Cost/Value
- Two Parts: Theory and Driving
- Theory
- Split into Practice questions and other to take exam
- illustrations and visual scenarios for the practice questions: car shows the question
- choice of loading question into emulator -> see what is actually happening
- if we pick one of the answers it shows the solution in real time (emulator time)
- voice commands for a, b, c, d, e -> with button
- (if possible) Convert google map of Gothenburg to GMCE map π₯
- load city maps based on user input
- share score/progress with others (social media platforms?)
- road map with topics, selecting one or more based on preference
- DRIVING
- shares the loading in feature of maps
- manual controls for user
- tilting for steering would be cool
- camera modes (top down vs first person) -> static dashboard in 1st person?
- blinkers
- Virtual cars that obey traffic laws
- Chaos mode: opposite of obeying laws
- Theory
- Two Parts: Theory and Driving
21.03. First contact - meeting the locals
Preparation Homework:
Agenda:
- Add team, communication, and meeting info
- Brainstorm ideas for features
Notes:
- Create the base for the wiki
- Add the team info
- Add the communication methods
- Define the weekly meetings
- Brainstorm ideas for features
- Create a suggestion for the project idea
- Create base for the team presentation