Personas Use Cases
Clinician:
As a clinician, I am interested in helping participants to use a BCI. I want to make changes to the system to improve the BCI for specific users. I have the knowledge to understand how UI changes such as selectable object size, colour, opacity, etc. will influence how each it is for a participant to use the BCI. I want all participant data to be stored securely and be accessible for me to look back on in the future. If I find something works well, I want to be able to replicate that in future sessions.
Tasks:
- Run the BCI with the participant and be sure that recording is happening
- See, understand, and save performance measurements from BCI session
- Adapt visual elements of the BCI for a specific user and save those changes for future use with that participant
- Annotate parts of the session based on whether the user is paying attention or not or other clinical observations
- Visualize EEG data in-session
- Look back on previous sessions with a specific user to see what worked and what didn’t
Clinical Trainee:
As a clinical trainee, I am interested in using the BCI to collect data with multiple users to answer questions about how children can use BCIs. I want to be able to collect data in a structured, consistent, and transparent way for all participants. I want to quickly set up the BCI and be sure that it is working properly during each session. I want to know how the data was processed so that I can make sure that it matches my expectations. After collection, I want participant session data to be stored securely. After collection, I want to be able to access participant data and access common population level metrics such as calibration accuracy, task performance, etc.
Tasks:
- Install BCI Essentials on their computer
- Accept or change default BCI settings (need a like epoch length, number of flashes, number of calibration rounds, filtering, artifact rejection, classifier type, etc.)
- Run the BCI and be sure that recording is happening
- See, understand, and save performance measurements from BCI session
- Save new default settings for use with whole cohort
- Visualize key snippets or EEG to check that the system is working
- Export saved data from whole cohort for further analysis is R, SPSS, Excel, etc.
Game Developer:
As a game developer, I don’t necessarily have a good understanding of BCI systems, so I want them to “just work”, because I don’t have the same access to technical support. I want to be able to add BCI assets into my project without them breaking things or slowing down my game. I want to be able to test how the system would behave, even if I don’t have a BCI headset.
Tasks:
- Install BCI Essentials without assistance
- Add, remove, and change the appearance of BCI assets in their game
- Simulate EEG data to test their game
Technical Trainee:
As a technical trainee, I am interested in the pipelines that support the BCI selection making process. I want to be able to transparently view how the existing pipeline is working. I want to be able to make changes to the pipeline without changing the pipeline for others until the new pipeline is ready to deploy. I want to quickly test how changes I have made to the pipeline would affect performance, based on real data. I want to be able to run optimizations to tune parameters in different environments, ranging from Raspberry Pi up to HPC. When changes are ready to deploy, I want to make sure I am not breaking anything.
Tasks:
- Install BCI Essentials
- Run the BCI online
- Rerun BCI processing offline on Windows/Mac/Linux
- Make changes to the processing pipelines in a controlled way (isolating individual changes) and get quantified outputs, which may include filtered EEG, EEG quality index, EEG epochs, performance metrics, decisions, computation time, etc.
- Run automated parameter tuning for selected data, and using a specified performance metric for score
- Parallelize BCI processing where possible and efficient
- Use GPU for parallel processing where possible and efficient
- Get quick visualizations or outputs
- Export saved data for further analysis in SPSS, R, Jupyter notebooks, Matlab
- Analyze data further and make visualizations
Developer:
As a developer, I want to understand how BCI Essentials works without having to ask questions. I want to be able to make and test changes to the code to be sure that I am not breaking anything. I want to be able to make these changes on my own device (Windows, Mac, Linux) and be sure that they work just as well in other environments.
Tasks:
- clone BCI Essentials repository
- Make changes to BCI Essentials
- Test changes to make sure you haven’t broken anything
- Test deployment to other systems/platforms for other users