Logbook group 8
This is the logbook of PRE2020 3 Group8
Week 1
Meeting Monday 1 February
Topics:
- Introducing ourselves to group
- Figuring out how wiki works
- Discussion of ideas, organization
- Create GitHub repository
- Create Discord server for communication
- Next meeting: Thursday 4 February 2021
Done
- All: meeting (70 min) (Emi took notes: [1])
Do for next time:
- Search for literature, read a bit -> figure out what feasible, what already done (State of Art), what is new about our idea
- [optionally] write down ideas, summaries, edit wiki, etc.
Week 2
The wiki was down for most of the week
Meeting 11 February
Main decisions:
- We are going to narrow the variables that will be recorded down. Emi and Fanni are deciding which information needs to be gathered and how it should be presented back to users.Having the users decide on which variables to track made it difficult to research how people could be motivated,as most scientific studies focus on motivation in a very specific context.
- Edwin and Lulof are going to do literature research how to create an anthropomorphized interface.
- Morris is still researching the GUI.
Carnival Holiday
Meeting 15 February
Only with software subteam (Edwin, Lulof & Morris)
Agenda
- Current state:
- Psychology team decides what data to track and how to give feedback based on it.
- Need at least a database.
- Need at least a GUI.
- Decided that try to increase user-engagement and perceived social presence via anthropomorphism.
- Discuss literature research
- Mixed results on what does and what does not work.
- Responses that take context into account seem to work significantly.
- Decide how to continue
- More research?
- Make programming plan?
- Individual tasks and deadlines.
- Inform psychology team on results of meeting.
Minutes
- Extensive discussion of literature.
- Graphs may provide better insight that a textual description.
- We keep the restricted input. Since users need to input the same data every day, it does not make sense to ask for complete sentences every day.
- We will focus on natural language generation.
- Whether we will use GANs or other architectures requires more background research.
- We will explain the output in a way that is not the same every day.
- We may accompany the output with graphs and numeric data. Perhaps we could generate a textual description of the data presented.
- Morris is playing around with the Kivy framework, to figure out what it can do. It appears promising and efficient.
- Planning:
- Week 3: Lulof -> Create design for communication between components. This will be a UML class diagram.
- Week 3: Edwin & Lulof -> read more on Natural Language Generation. Experiment where possible.
Week 3
Meeting 24 February 2021
Present: Lulof & Edwin
- Discuss of class diagram of communication components, managing questions and answers, output rules, etc.
- Discuss challenges RNN.
Plans:
- Start with question generating part while also reading Dialogue generation literature.
- Code sessions:
- Tuesday 13:30 ~ 17:00
- Thursday 10:00 ~12:00 (One time: Friday 24 February 10:00 ~ 12:00)
- Use unittest (Python)
- Make installable package
Meeting 25 February 2021
Present: everyone
- Lulof and Edwin worked on the backend design
- Morris worked on the GUI. He already got a textbox, shapes (smiley) and buttons
- Fanni and Emi described user cases, with specific characters, and extended the Wiki
- User-centered Design
- Economical perspective
- Problem statement and objectives
Do for next time:
- Read each others work (Wiki, class diagram, etc)
Meeting with teacher:
- The wiki uses outdated software, that is why many things broke and are still broken.
- No strict set of requirements. Present what you know and what you have. Important to reflect and communicate. Technical part must be aligned well with user analysis part. Really need to solve a problem.
- Do use academic style argumentation.
- Ensure that things come together at the end. Prevent people specializing and forgetting to communicate.
- Time sheets are not required. But an overview of who did what is useful for the teachers.
- Minutes especially useful for decisions and recording who did what, not required by teachers.
- It is possible to customize the style (font, fontsize, etc.) of the wiki page.
Week 4
Meeting 4 March 2021
Present: everyone
- Edwin and Lulof have been working on the software:
- Edwin is working on the question scheduling, he will try to do it alone
- Lulof implemented a simple SQLite database
- For sleep cycle: need 11 questions, too many to demand for people. Can probably give option to skip a few. Need extra object that GUI can send to back-end to tell that the question is cancelled.
- The GUI may need an hourglass. Giving rewards are important to motivate people. Emi did literature research that advised this. Such as collecting XP, level up and this gives some visual rewards (e.g. new smileys, background decorations, e.g.). Gamification. Does not need to be hard to implement.
- Morris: seems feasible.
- Fanni: it is unique because it combines:
- Behavioral mechanisms: asked for feedback etc.
- Gamification and motivational aspects.
- GUI:
- now it looks like a chat between the user and the agent, in which text and images can be send.
- It is possible to scroll back in the history.
- Sliders and multiple choice questions are in.
- Also minor animations.
With teacher
- There is an off-the-shelf voice recognition library for Python.
- Morris demonstrated user interface.
- The implementation of the rules is important. They should give feedback that reflects whether things are positive or negative. Synchronize with he face.
- Do but technical details on the wiki. For code GitHub is good enough. Not too much details, hard for the reader to keep track of the main points of the wiki.
- Can always discard stuff from wiki later, but don't do thing just to put it on the wiki.
- Maybe add the class diagram In an appendix.
- During exam weeks, we got time to finish up the wiki.
- Presentation free to do what you want. Video / demo / presentation. What was problem, how approached and implemented.
- Not yet known if final presentation is on Uni, online live or a prerecorded video. A screen recording of a Teams meeting will do. A real polished video is allowed but not required. They just want to know if you mixed user-needs with tech. Can add a bit of documentation as well.
Post-tutor meeting
- Additional meeting on Monday 16:30 (and still on Thursday 13:30)
- The teacher was probably confusing a class diagram with a use-case diagram or a manual.
- We will call the avatar Motus.
Week 5
Meeting 08 March 2021
- The simplified syntax for rules has been introduced (by Lulof), the team thinks it does indeed make the job easier for domain specialists.
- GUI (by Morris):
- Motus now looks at cursor and blinks. It seems much livier.
- There is a progress bar added, can level up and unlock new backgrounds.
- Colours improved, slider has number.
- Settings screen: theme, max amount of questions a day.
- Emi's ideas:
- would be helpful if Motus refers to the user by their name. Literature promote it. Just asking it the first time?
- Upgrading Motus itself also engages users a lot. Let Motus evolve
- Lulof realized he forgot about adding the Evaluation to rules.
- Possible GUI extensions:
- Overview of unlocked backgrounds
- Undo button?
- Makes changes to Motus default, but also disableable.
- Discussed the paper Using Health Chatbots for Behavior Change: A Mapping Study a bit.
- Fanni: how expensive to set up a server and website:
- Probably depends on the scale, amount of users and bandwidth needed
- Could look up what companies offer?
- Trying to compute how soon a startup would become profitable. Fanni is working on abussiness model.
- Meeting with Edwin at 15:15 on Wednesday
Meeting 10 March 2021
Present: Edwin and Lulof
- Discuss with others whether questions should be able to be cancelled/snoozed, or should reoccur.
- The design of the question-generation process has been revised together.
Meeting 11 March 2021
Present: All group members
- Updates from all group members about the conducted work from the past week.
- Software team: Decided about what if people don't answer? If people don't answer the question, just discard it and come back to the question.
- Psychology team: Fanni showed the economical analysis she did for the system, discussed it together. Emi: More theoretical background about design parts for anthropomorphism, the advantage of chatbots... Also: The papers are collected about average values of mental health/diet/exercising (and more) and are converted to a stata-dataset that is usable as a reference point.
- Also include in problem statement: From papers, it can be stated that many people don't seek for help when they have some problems. An app does not judge and could serve as a nice 'starting point' for people who do not want to seek out for human help.
- It is also decided that there is not going to be a lot of syntax checking done (of the rules), because it will take too much time that can be spent on better things.
- Design: Structure of code is changed, and some of the discussion points of the meeting of 09-03 are implemented in the design (username + moving eyes + smiling etc.)
- New meeting planned: Monday --> 16:30 //
- Questions for tutor: Do we need to implement the rules? More information about the final presentation?
Meeting with Supervisor 11 March 2021
- About final presentation
Most probably, there will be two sessions in which the group will present. In this session, you get 20 minutes as a group to present your idea in any way you like (presentation, video, questions, prototype-showing). Half of the groups on Monday, and the other half on Thursday.
- New agenda point: Discuss about the kind of presentation (video/presentation, video has preferences over a live-demo). In terms of content, we are free to do whatever we want.
TO DO:
- Impact section: Write about the things that are out of the scope, but that can be added to the system to make it even better if there is enough time (smartwatch connection, GPS, stappenteller...).
- Quality of Life of end-user + Ethical parts is also VERY important.
- Broaden the horizon --> Talk about ethical threats, and state out of the scope things.
- Serious gaming --> Write about this. Gamification etc.
- Is the app only increasing in levels, but can it also decrease? We could substantiate whether the question is good or bad, and then decide if the level bar should be decrease/increase.
- POSSIBLE ETHICAL PARTS NEED TO BE CONSIDERED!!!
Week 6
First Meeting 15 March 2021 (10:00)
Present: Edwin, Morris, Lulof
Agenda
- I (Lulof) made a demo for multiprocessing
- Do we give messages an ID, as to synchronize them? Or will we use a more opportunistic approach -> just handle whatever messages come in. The former makes it possible to check for questions answered twice, asked twice, etc. The latter is much less error-prone and simpler, but may lead to unintended messages becoming accepted.
- I am currently starting 3 processes, but we could start only 2 new ones and continue the existing process as one of the three. I think the latter is slightly more confusing and memory efficient.
- The programming is really boring and uneducative at this moment, at least from my (Lulof) perspective. Only things I have done before. Life is short, there is much to learn and I am wasting my time. I do not mean to be egoistic.
Minutes
- We send a mail with our preferred timeslot (1 April) to the teachers.
- We keep spawning 3 new processes, this is easier to read.
- Keep rules as simple as possible, write on wiki that ideally extend with a GUI for creating rules.
- Keep message checking as simple as possible:
- Write on wiki that can check if answers correspond with questions.
- Now we will ask questions once: discard it from the queued questions after asking.
- Regard answers as entries to database: do not check if they correspond to an asked question.
- We will try to finish the question generator on Wednesday (Lulof and Edwin). 15:15.
Second Meeting 15 March 2021 (16:30)
Present: Fanni, Morris, Lulof, Edwin, (Emi has no WiFi)
Minutes
- Emmi wrote a lot about ethics.
- Fanni finished the cash flow calculations. It will become profitable in December. There is a histogram now, but a trendline is still WIP.
- Ethics and privacy part now mostly done. Also Fanni's public data analysis is on the wiki.
- Probably most practical if Emi and Fanni do the voiceover, rather than editing many different recordings.
- We will try to get the backend sort of working before the meeting on Thursday.
- Morris is working on adding things to Motus, but Bezier curves are too clumpsy for that, working on getting it to work with SVGs.
Lulof Logbook
Week 1
- Update wiki page (abstract, logbook, etc.) [0.5h]
- Look up papers [1.5h]
- Read and summarize Li et al. (2016) [~5h:10min] --> Progress delayed due to issues with displaying math
- Visualize idea of organizing task division/software architecture [0.5h]
- Read NLP paper [2h]
- Meeting Friday [2:18]
- Read papers about GANs [6:40]
Week 2
- Meeting Monday [1h]
- Create this log [10 min]
- Work on user description, goals, fallacies and software milestones [1:50h]
- UML Use case diagram (30 min)
- Meeting Thursday [2h]
- Fixing wiki, starting literature research [1h]
- Literature research on anthropomorphism [6:00]
Carnival holiday
- Meeting Monday [1:17]
Week 3
- Class diagram for question production and storage [3:24]
- Update class diagram: add output process and update question process [2:21]
- Meeting with Edwin [~50 min]
- Large Thursday meeting [1:36]
- Friday coding session with Edwin (set up directories, Variable, create db file) [2:09]
- Sunday: work on database, functions to set it up and add variables (incl. testcases) [2:43]
Week 4
- Monday: implement remaining (i.e. most) database functions and DatabaseWriter [3:37]
- Wednesday: Meeting with Edwin, tweak DatabaseWriter, rethink design of InsertCommand, implement InserCommand. [2:27]
- Thursday: Meeting with whole team and teacher. [~1:50]
- Thursday: think about the implementation of Rules, look up if datasets are available, describe software on wiki. [1:30 ~ 2:30]
- Friday: working on Rule specification, some idea exchange with Edwin [2:11]
- Sunday: work on implementing Rules (but very tired and sleepy, didn't get far) [~2:30]
Week 5
- Monday: meeting with whole group [1:06h]
- Monday: work on implementing and designing Rules software [1:30]
- Tuesday: Work on implementing Rule-quantifier-substitution [~2:50-3h]
- Wednesday: revise question process design with Edwin and debug Rule-quantifier-substitution [2:09]
- Thursday: Meeting with whole group and teacher [1:24]
- Friday: extend rules with 'evaluation' (on wiki and in code), work on testing and debugging RuleExpressions [2:04]
Week 6
- Monday: work on multiprocessing, discuss with Morris and Edwin, make demo and startup script [2:20]
- Monday: work on RuleExpressions and implement messages [1:01]
- Monday afternoon: work on rules and meeting from 16:30-17:06 [~2h]
- Tuesday morning: finish up Rule class, work on function to put rule creation together [2:02]
- Tuesday afternoon: add Rule and Variable loading from config file to startup, sketch OutputInvoker [2:15]
- Wednesday afternoon: Meeting with Edwin, finish most of OutputInvoker [1:57]
- Thursday moning: Test OutputInvoker further, fix not-enough-data-in-db for Rule, start with QuestionCommunicator, meet with Edwin [2:14]
Emi Logbook
Week 1
- Look up papers [1h]
- Update wiki page (conceptualized idea, problem statement + objections) [0.5h]
- Read and summarize paper: A note of caution regarding anthropomorphism in HCI agents [1h]
- Conceptualization of a Personalized eCoach for Wellness Promotion, read * summarize [1.5h]
- Meeting Friday with group [2.25h]
- Meeting Sunday with Fanni about project definition, approach, milestones, planning [2.5h]
- Work on proposal – in overleaf/word, since the wiki went down - [1h]
Week 2
- Read papers [2h]
- Meeting with tutor on Monday [0.5h]
- Meeting with tutor on Thursday [0.5h]
- Meeting with group on Monday [0.5h]
- Meeting with group on Thursday [1.5h]
- Read & summarize papers for problem statement [2.5]
- Start looking for papers for design/interface [1h]
Carnival 'Holiday'
- Meeting for USE-part with Fanni [1.5h]
- Summarize Meeting USE-part [1h]
Week 3
- Work on theoretical design part [2h]
- Defining users with Fanni [2h]
- Write problem statement for wiki from draft version [1h]
- Meeting with group [1h]
- Meeting with tutor [0.5h]
- Meeting with Fanni about the right questions to ask [2h]
Week 4
- Monday + Tuesday: Extensive literature research for design part [3h]
- Wednesday: Write wikipage design part [2h]
- Tuesday: Write wikipage chatbots [1h]
- Tuesday: User scenario's on wiki [1h]
- Thursday: Meeting with Group [2h]
- Meeting with Fanni [1h]
Week 5
- Meeting with Fanni about final presentation [1h]
- Write text for final presentation for the introduction/prototype part [1.5h]
- Read papers about ethical recommendations [2.5h]
- Write Section "Ethical Recommendations Motis must meet" [2h]
- Meeting with group [1.5h]
Week 6
Fanni Logbook
Week 1
- Look up papers [1h]
- Read and summarize papers [1.5]
- Meeting Friday with group [2.25h]
- Meeting Sunday with Emi about project definition // approach // milestones // planning [2.5h]
- Work on economical milestones [1h]
Week 2
- Read papers for stakeholder analysis [3h]
- Meeting with tutor on Monday [0.5h]
- Meeting with tutor on Thursday [0.5h]
- Meeting with group on Monday [0.5h]
- Meeting with group on Thursday [1.5h]
- Summarize papers for stakeholder analysis [1h]
- Find + summarize papers for the right “Questions to ask” [2h]
Holiday
- Meeting for USE-part with Emi [1.5h]
- Work on outline for the economical value [1h]
Week 3
- Stakeholder analysis [2h]
- Define users with Emi [2h]
- Make user descriptions + persona’s and define target audience [2h]
- Meeting with tutor [0.5h]
- Meeting with group [1h]
- Meeting with Emi about the right questions to ask [2h]
Week 4
- Work on Economical part [4h]
- Meeting with Emi [1h]
- Meeting with group [2h]
Week 5
- Meeting with Emi (presentation) [1h]
- Meeting with group [1.5h]
- Stakeholder analysis [4h]
Edwin Logbook
Week 1
- Meeting Monday [1.25h]
- Search for papers
- Meeting Friday [2.25h]
- Read summaries made on GAN papers
Week 2
- Meeting with tutor on Monday [0.5h]
- Meeting with tutor on Thursday [0.5h]
- Meeting with group on Monday [0.5h]
- Meeting with group on Thursday [1.5h]
- Read papers on NLG
Holiday
- Meeting Monday software team [1.25h]
Week 3
- Meeting with Lulof [1h]
- Meeting with tutor [0.5h]
- Meeting with group [1h]
- Friday coding session with Lulof (set up software correctly, Question) [2h]
Week 4
- Wednesday software meeting with Lulof [2h]
- Thursday meeting with the whole groupe before and after the tutor meeting [1.5h]
- Thursday tutor meeting [0.5h]
- Friday software meeting with Lulof [2h]
Week 5