Reflection per course this semester - norakramer1/bubble-machine Wiki

CSS to the rescue

I wrote a lot of CSS in these 5 weeks so CSS to the rescue was definitely used. I styled multiple iterations of the application and made onboarding. I used a few techniques I learned in CSS like: custom properties, changing an icon or button image with an ::after or ::before, I used blend modes for the first time, I used new selectors like ~ and used keyframe animations to change images.


In Web Apps from Scratch we used client-side Javascript to call an API and display the data (among other things). I experimented in this project by using client-side javascript to call the API and display the data using the d3.js library. I used client-side Javascript to make functionalities for the onboarding. 
 Browser technologies I had a hard time incorporating RTW in this project. The application is made for experts who use it on their desktop or laptop for research purposes. This also means that the likelihood that they cannot use any Javascript is very low. Besides that, we wanted to use d3.js to make these data visualisations. D3 is a client-side library so Javascript is necessary to make the app work.


I used PWA only to try to call the API server side in the beginning. In our issues you can see that we wanted to implement a service worker. This service worker would cache the steps taken so you could take a step back. I started on this first by saving the steps in local storage but this did not work because there is simply too much data to be saved. We did not have time to implement a service worker since I was busy with other things in the project.


I used Human Centered design to think about our target audience of journalists. We geared and made the application with them in mind. In my case that meant writing onboarding that only explained the model and not filter bubbles in general. We did not have time to implement nonsense, besides that the application is complicated enough as it is and nonsense would add to that.


The team did experiment with web sockets which were used in real time web. This did not end up working out in time. I did not use a lot of knowledge from real time web.