Designing an Emotionally-Aware IDE

I am working on adding logging of mundane actions and emotional states to miniAudicle.

In its most basic form, this is done via the addition of the "WTF" button.

(This project was a side-project that I worked on in the beginning of Music 220c.)

(Week 3) Proof-of-Concept Logging and IDE Buttons

I am able to create logs from within ChucK, and I am able to modify the GUI of miniAudicle and execute code when buttons I added are pressed!

The next steps will be to make sure that old logs don't get overwritten when new programs are run; to systematically add logging calls everywhere I'd like to; and to make the emotion reporting buttons more prominent and more satisfying to press. Especially during the second of these next steps, this blog will be a little bare as this is sort of a mundane activity, and I've already done the brainstorming for where logs should go. (See entry below.)

(Week 2) Brainstorm of What Data I'd like to Collect

(Week 2) Selecting and Building a Logging Library

I need to log user actions to capture how they interact with the IDE. If possible, I'm also considering logging "state of the world" like the audio that was produced recently or the instructions that were run recently, which might help give some context as to why the user reported certain emotions. However, such logs would need to be especially performant, so as not to interrupt the main audio thread and cause glitches in the sound.

Therefore, I decided to select a logging library, hoping to find one that is tuned to be much faster than a naive implementation I write myself would be. I looked at a few options: