Media consumption tracking

Hi everyone!

I’ve been playing with some media consumption tracking these days. Added a new tab to the experiment page, with a table of media consumption. Once I tidy up my code and add some modifications I’ll share it.

Any feature you think would be interesting?

(Related with discussion in Running host on static IP vs local host IP, cc @langevin.am and @heinsz)


I think this is great! It’s something we’ve talked about for a while but never got around to adding. I’ll be working on transitioning everything into into the electron app pretty soon, but as long as you have the data being processed/saved in the DPU this should be perfect. Let us know when the code is ready!

From your comment, I understand that you are planning on embedding all the graphing inside the Electron app and therefore stop using the Django app for the graphing. Is that right? Is there any other major change planned in terms of code organization (to avoid coding stuff that will be discontinued)?

For now, the code I’ve written just reads the info in pump_log.txt. It’s available in my fork of the dpu repo:

If you’d like, you can make a pull request into the main repository rc branch. I’d be happy to review it and merge!

Yes, I was hoping to start working on the electron app this week but another project came up that’s going to keep me from it for a little while longer. So for now the django app is still the way to go. If you want to try to integrate your graphing into the electron app feel free - I think having another button next to the OD and Temp buttons would work.

We have a dev branches for the electron app and dpu here:

If you have questions or want me to walk you through the code just let me know - happy to set up a call.

More broadly, we are working to have the entire process of running and monitoring experiments happen through the electron app. We have most of the core components to make that happen implemented, but there are a few details that need to get worked out before we can make that the new standard. If you want to help out with the efforts let me know and we can talk in more detail.

Sure! I will make the pull request this week.

Good to know about the migration to the electro app. What do you think is the advantage of having the graphing embedded there? Can you still use the graphing library (Bokeh) within electron? Maybe it’s just because I’m much more familiar with python than JS that I like the current graphing system. It’s very straightforward to play with and we can even make updates to the code while it’s running! Also, I set up something so I can see the graphs from outside the lab.

However, yeah, I’d like that we have that call and discuss a bit about the project and the code. Although I’m not an experienced programmer, I’m happy to contribute with ideas and anything that can be helpful (maybe more when we all come back to normal lab work after Covid).


Thanks for this new feature, would have saved me on more than one occasion!
Re: pros/cons, to me there are two different groups with different needs.

For folks familiar with the command line and who might want to do lots of customization of visualization (like yourself), the Django app might still make sense. As far as I know, as long as the data files are stored on the computer you want to run the Django app from, there’s no incompatibility.

But, for folks who are less familiar with command line, it’s intimidating/frustrating to run 3 different things (electron to setup/clean, command window for custom script, command window for Django) just to get your experiment going. Having one all-encompassing app would be much easier to train.

Since the second group is unlikely/unable to develop code, we think it’s best to focus our core development towards their needs. If done well, this opens up more tech support bandwidth, which opens up more time for integrating new community-developed features.

Personally, I like the ease of customization in the Django app, and I don’t think these rapid prototype solutions are going away. I’m psyched that you and others can quickly build out a feature you need on your own. Just have to focus internal bandwidth somewhere, and have chosen electron.