HASEL-UZH / PersonalAnalytics

Personal Analytics project to increase knowledge workers' awareness about work and productivity.
https://hasel.dev/project/individual-productivity/
Other
54 stars 15 forks source link

Make API to access data in database consistent across both platforms #208

Open casaout opened 6 years ago

casaout commented 6 years ago

as discussed. @csatterfield please add the details.

csatterfield commented 5 years ago
royru commented 4 years ago

Hi Chris, hi André

I am almost done with aligning the Mac db-table and db-fields to the Windows version (by replacing Core Data). Before submitting a PR I have a question on how to proceed with the UserEfficiencyTracker.

In both Windows and Mac version there exists a UserEfficiencyTracker. However, they do look quite different and use different data models/schemas. Below is a picture of the mac pop-up. The windows pop-up only asks to rate productivity on a scale from 1-8 if I remember correctly.

mac pop-up

On the windows version I have the following db-fields: (id, time, surveyNotifyTime, surveyStartTime, surveyEndTime, userProductivity, column1, column2, column3, column4, column5, column6, column7, column8)

Should I map the fields of the Mac pop-up as good as possible onto the Windows db-schema (partially by filling the generic column1 - column8) or should we treat both trackers as different entities (and maybe rename the Mac version to UserEfficiencyTrackerDetailed in order to make the difference clear). Do you have an other idea on how to proceed?

royru commented 4 years ago

I was also wondering how/if the ZWEBSITE table is used. The only occurrence where PA is inserting data into that table is in the 1/pageUsage route. Is this route being used by the retrospective? I am asking because I am struggling to replace the Core Data Website model to GRDB-only without actually being able to test it within the application.

csatterfield commented 4 years ago

I would try to match the Mac version to the Windows version as closely as possible. The additional features in the popup are leftovers from a study I was planning to run but never got around to. I think they can be removed, it makes the popup overly complicated. I think that the Windows version uses a 7 point scale for productivity, same as the Mac version but I may be wrong there 😄 .

The ZWEBSITE table is also a leftover from the aforementioned study. It was populated by data gathered from a chrome addon but I've pretty much abandoned that project altogether. Feel free to remove.

Great work :)

casaout commented 4 years ago

hi @royru Thanks a lot for your work on this! I agree with Chris.

Btw, in the Windows UserEfficiencyTracker, there is a pop-up at fixed intervals (depending on the settings, by default 60mins) and one per day (always showing up the next morning). That's how the interval/hourly pop-up looks like: image

royru commented 4 years ago

Thanks for the quick feedback!

I will remove code related to the ZWEBSITE table and align the Mac UserEfficencyTracker pop-up to match the Windows version.

The Mac UserEfficencyTracker pop-up is triggered with fixed-intervals, too. I will make sure they both use the same defaults. The appearance of a daily pop-up in the morning seems to be missing in the Mac version. I will follow up on that after the db-schemas are aligned.

Thanks again :)