StanfordHCI / bang

💥 Helping people meet for the first time, more than once 💥
MIT License
2 stars 1 forks source link

Within an Experiment, Introduce the Ability to Set Different Team Size (specifically, size=1) for Certain Rounds #455

Closed xehu closed 4 years ago

xehu commented 4 years ago

In this Issue, I'd like to introduce a new type of experiment, where it is possible to set a different team size for every round. Specifically, we will need the ability to switch between rounds with team size n (determined upfront), and breaking it up into n teams of size 1. In the future, we might want a more generalized version (Mark describes this below), but that is not necessary for now.

1. Background

The motivation behind this Issue is the ability to switch between group and individual teams---thus allowing us to directly compare how a group works with how a single person works, within the same experiment.

Currently, we must set a team size upfront, and this remains unchanged throughout the round. We aim to make this changeable per round.

This new feature would be used with the "Single Team" option. That is to say, for a team of size n, we recruit n people.

2. Use case

Specifically, I hope to achieve something like following use case, where n=6:

However, whether or not a team will be 1-person or 6-person will be in a random order. So, in reality, it may look more like this:

In other words, if I run 6 rounds, 3 of which will have a 6-person team, and 3 of which will split the participants into their own rooms, where they will have a one-person team.

If I run 4 rounds, 2 will have a 6-person team, and 2 will have 1-person teams. (and so on.)

3. Pairing rounds together

We will divide all of the rounds into pairs. Within a pair of rounds, one will have a n-person team (in practice, n=6) and one round will have 6 one-person teams.

Two rounds that are paired together will have another property: they will have different versions of the same case. (More on this in a different issue).

For now, the following example illustrates how the above use case might be paired up into Pair A, Pair B, and Pair C:

As you can see, the ordering is random, but each Pair (A, B, and C) has one 6-person team and one 1-person team.

3. Feature Implementation

Currently, the team size is set just once, at the top of the form. Let this number be n:

Screen Shot 2019-11-04 at 1 45 25 AM

Rather than entering a single integer for the team size, create an option like this:

a teams of size n b teams of size 1

So, for the example we have been using, I would say:

3 teams of size 6 3 teams of size 1.

Constraints:

markwhiting commented 4 years ago

For now I'd push for only having team size n or 1. Doing something between n and 1, e.g., n/2 or n/m might be useful in the future, but we don't need it now and will increase the expense of this change.

I agree this should be specified on a round level when defining the task. The randomization required may need a one-off setting because basically we have 2 team sizes and at least 2 pairs of matching tasks, and we want the tasks to match with their team size. So task 1a and 1b should happen for team size 1, while 2a and 2b should happen for team size n.

dtatarenkov commented 4 years ago

Hi @markwhiting and @xehu. This issue changes our structure, the better way in my opinion is adding new teamFormat choice in which there will be n/2 single-team rounds and n/2 single-user-in-team rounds and store the round-pairs in a new field. What do you think?

markwhiting commented 4 years ago

OK, just to be clear, n above as I was using it was referring to the number of members on the team, not the number of rounds. Sorry if that was unclear.

So I think what you are saying is we would define a number of rounds that is divisible by 2 and then have an option that makes every second round a one person round (again randomizing ordering of if its a 1 person round or a team round first in those pairs).

Is that right, or am I misunderstanding?

dtatarenkov commented 4 years ago

yes, that is right, will be done @markwhiting

xehu commented 4 years ago

So as I'm understanding with this design, pairs will be presented one after the other, but with the individual/group ordering randomized?

For example, in a 6-round experiment, we'd have: [Individual, Group][Group, Individual][Individual, Group]

markwhiting commented 4 years ago

I would do that the opposite way, randomize which one goes first out of individual and group and then do that consistently for the entire experiment. But, I'm open to the alternative @xehu suggested too.

xehu commented 4 years ago

Deadline that we agreed on in the meeting: Monday, 11/25

dtatarenkov commented 4 years ago

added toggle "Dynamic team size (only for ST)" on addBatch page. If selected, there will be m/2 rounds with teamSize == n and m/2 rounds with teamSize == 1 where m - number of rounds; n - defined team size