(set: $date to (current-date:))
(set: $time to (current-time:))
(set: $path to (history:))
<script>
//using "display" macro hack since global functions don't really work in Harlowe
fetch('https://sheetdb.io/api/v1/czosjrv1cseoi?sheet=StudentLogs', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer jvf3oiwxqak11f8t15s21w64tq1f1s44ufu1ioin' //TODO remove this and add new token to .env on glitch
},
body: JSON.stringify({
data: [
{
'NETID': $netID,
'NAME': $name,
'DATE': $date,
'START': $startTime,
'TIME': $time,
'PATH': $path,
'FEEDBACK': $feedback
}
]
})
})
.then((response) => response.json())
.then((data) => console.log(data));
</script>(set: $time to (current-time:))
(set: $path to (history:))
<script>
//using "display" macro hack since global functions don't really work in Harlowe
fetch(`https://sheetdb.io/api/v1/czosjrv1cseoi/NETID/${$netID}?sheet=StudentLogs`, {
method: 'PATCH',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer jvf3oiwxqak11f8t15s21w64tq1f1s44ufu1ioin' //TODO remove this and add new token to .env on glitch
},
body: JSON.stringify({
data:
{
'TIME': $time,
'PATH': $path,
'FEEDBACK': $feedback
}
})
})
.then((response) => response.json())
.then((data) => console.log(data));
</script><p>
<hr>
(checkbox: bind _liked, "I really like this passage")
(checkbox: bind _disliked, "I don't like this passage")
(checkbox: bind _confused, "I'm confused")
(checkbox: bind _other, "I have a short comment (write a note)")
[(input-box: bind $comment)]<note|
(live: 0.1s)[
(if: _other is true)[(show: ?note)]
(else:)[(hide: ?note)]
]
<script>
// console.log(_other);
</script>ILSI: Looking for something?
JENN: Oh, thank you so much, yes! I’m looking for this place.
Ilsi takes a look at the screen and smiles.
ILSI (text-color:grey)[(points at a building)]: I thought so. The new student event is in that building. Once you’re in, follow the signs and you’ll find the room.
JENN: Thank you! What year are you in?
ILSI: I’m actually a freshman, too. But both my parents are alumni, so I pretty much grew up here and around Washington Square.
JENN: That’s so cool! (link: "My name is...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "2")
]JENN (text-color:grey)[(whispering)]: You know, if you’re looking for good food, the place to go is Queens.
ALKA: Oh yeah?
JENN: Definitely. You can get anything there. There’s Chinese...
(text-colour:grey)[(gesturing at Yinan)]
There’s Indian...Pakistani??
(text-colour:grey)[(gesturing at Alka)]
There’s...
(text-colour:grey)[(gesturing at Carl, not sure now)]
... all kinds of food!
YINAN: I could go for a good Indian place.
ALKA: Heck no. My mom packed our fridge with a month’s supply.
JENN: There’s a Himalayan place I’ve been wanting to try. Anybody want yak?
YINAN: I’ve never had Tibetan food before.
Kevin perks up hearing “Tibetan food.”
KEVIN: You aren’t seriously talking about Himalayan 8848 Restaurant, are you?
JENN (text-colour:grey)[(laughs)]: That’s the place!
KEVIN: That’s so funny, I was actually planning to go this weekend. Do you mind if I tag along?
JENN: Absolutely! I mean, not at all!
ALKA: Tibetan food sounds interesting. Carl, wanna go?
CARL (text-colour:grey)[(seeing Alka want to go)]: Ugh... okay...
Then Jenn notices a girl sitting a few rows back: Ilsi, who helped Jenn earlier, (link: "is right there.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "11")
]JENN: Hold on, let me ask if my friend Ilsi wants to come, too!
Jenn waves at Ilsi with a lot of enthusiasm.
JENN (text-colour:grey)[(calling out across the rows)]: Hey Ilsi!
Ilsi waves back, somewhat hesitantly but charmed by Jenn’s enthusiasm nonetheless.
ILSI (text-colour:grey)[(doesn’t actually know Jenn’s name)]: Oh, hey... you!
Lights come up on the stage. An NYU welcome ambassador approaches the podium.
AMBASSADOR: Good morning, students! (link: "Welcome to...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "12")
]=><=
(link: "''''Spaces of Possibility''''")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OPENING-CREDITS")
]JOSH: We know that behind two of these doors is a goat, and behind the other door is a brand-new car.
(text-colour:grey)[(scanning the class)] Jenn! Which door should we open?
JENN: Let’s do...door number two.
JOSH: Okay, but before we open door two. I’m gonna show you what’s behind door number one.
Josh presses a key on his laptop, modifying his smartboard drawing:
JOSH: Knowing that there’s a goat behind number one, do you still want to open door number two? Or is it a better idea to switch to door number three instead?
JENN (text-colour:grey)[(confidently)]: Switch.
JOSH: Interesting choice!
(text-colour:grey)[(addressing Yinan)]: Yeen-an! What do you think? Is Jenn right to switch? And if so, why?
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "14")
]Yinan looks back at Josh pleasantly, not understanding that he’s speaking to her. She’s waiting for “Yin-an” to answer the question.
JOSH: Yeen-an?
Jenn, uncomfortable, watches Yinan just sitting there for a beat, then finally nudges Yinan.
JENN (text-colour:grey)[(leaning towards Yinan, whispering)]: I think he’s talking to you...
We linger on Yinan looking at Jenn with confusion - then she visibly realizes that //she’s// “Yin-an.”
(link: "Yinan firmly brings it up now")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "TA-C1A")
]
(link: "Yinan frowns and resolves to bring it up privately later")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "TA-C1B")
](text-colour:grey)[The next class:]
Josh is focused on the first few rows of students, Yinan, Jenn, and Alka in particular.]
JOSH: What’s the difference between a function and a parameter?
Several students, Yinan included, raise their hands. Josh
scans the room and...
JOSH: Daniel!
The students lower their hands, and a male student (Daniel)
goes to speak...
(link: "Fast forward to a week later")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "16")
]JOSH: Why is using the global statement a bad practice? Not just here, but in general?
Yinan and noticeably fewer students raise their hands this time. Josh scans for someone to call on once again...
JOSH: Brianna!
(link: "Fast forward another week")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "17")
]Once again:
JOSH: Who can remind us what an enumeration is?
This time it’s just Yinan and two other students raising
their hands...
JOSH: Marcus!
(link: "...and the next week's class")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "18")
]And finally:
JOSH: Why isn’t the program compiling?
We’re down to only Yinan, looking deflated, halfheartedly
raising her hand much lower than before...
Josh searches the room.
JOSH: Hmmm, let’s see...Alka! Why isn’t the program compiling?
Alka, caught off guard, looks up from his screen and scrambles.
ALKA: Errrrm...it’s uh...
He really doesn’t know. Yinan leans towards him:
YINAN (text-color:grey)[(whispering)]: It’s missing an f for the float...
ALKA (text-color:grey)[(to Josh, but glancing at Yinan nervously)]: There’s a...it’s missing uh...
YINAN (text-color:grey)[(guiding him, whispering again)]: ...an f for the float...
ALKA (text-color:grey)[(to Josh, more confidently)]: It’s missing an f for the float.
JOSH: Great, let’s see what happens when we put that in...
(link: "After Class")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "19")
]Alka, Jenn, and Yinan leave the classroom wearing different moods on their faces - Alka’s looking relieved, Jenn’s feeling good...but Yinan seems troubled by something.
ALKA: Thank you, Yinan - you really saved me there!
YINAN (text-color:grey)[(flat expression)]: You’re welcome.
Yinan quickly walks out of hallway, leaving her two friends behind. Alka and Jenn watch her leave.
ALKA: I’m a bit concerned about Yinan...
JENN: Me, too. But I don’t know if we should say anything?
ALKA (text-color:grey)[(sighs)]: (link: "I don't know either.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "20")
]ILSI’S ROOMMATE: Ilsi! There you are!
ILSI (text-colour:grey)[(to roommate)]: Oh hey!
(text-colour:grey)[(to Jenn)]: That’s my roommate. See you around!
JENN: Oh, okay. See you around!
JENN (text-colour:grey)[(to self)]: Bye Ilsi, I’m Jenn...
Alone again, Jenn watches other students and New Yorkers passing by, all of them laughing and talking in pairs and small groups.
JENN: How does everyone have friends already?? (text-colour:grey)[(sigh)] (link: "Commuting sucks...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "3")
]In her dorm room, Yinan opens Albert on her computer to check her midterm grade. She got an A-, and she’s not thrilled about it. She shakes her head and opens her school email. There is an email from Josh waiting for her with //"Midterm Grade Breakdown - Yinan"// in the subject line.
(link: "She clicks open the email...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "21")
]Yinan, Jenn, Carl, and Alka are sitting together at a table, having lunch.
ALKA (text-colour:grey)[(gesturing with enthusiasm)]: I can’t believe I got an A!
JENN: Hell yeah!
Jenn and Alka exchange a triumphant high-five.
JENN (text-colour:grey)[(turning to Yinan)]: How ‘bout you?
YINAN (text-colour:grey)[(sour)]: I got a three out of ten for participation. Otherwise, not bad.
ALKA & JENN (text-colour:grey)[(knowing what’s going on)]: Ugh.
Carl doesn’t know the whole story, but it doesn’t sound good.
CARL (text-colour:grey)[(wincing)]: Oof, sorry...
YINAN(text-colour:grey)[ (sighs)]: Thanks. It just feels really unfair because of the whole Josh situation. Really lonely, too, like, why am I the only person who has to deal with this?
Jenn and Alka squirm uncomfortably.
CARL: Uhh...Josh situation? Did something happen?
YINAN: I don’t know anymore. Anyway, I have class at two. See you.
Yinan picks up her empty tray and leaves.
Alka and Jenn sit in silence.
CARL: What’s been going on with Yinan?
Alka and Jenn sigh.
JENN: (link: "So...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "22")
]We are still at the same table, and Jenn has finished explaining.
JENN: I wish I had done something.
ALKA: Yeah, same...
CARL: So what about doing something now?
(link: "The next day")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "23")
]Yinan and Kevin walk out of the Jacobs building.
KEVIN: Wait, then what’s your grade?
YINAN: A-minus. I mean, it’s not bad, but the TA...
Yinan stops walking, and Kevin stops with her.
YINAN: Actually, let me ask you - you’re half-Korean, right?
KEVIN: Yup.
YINAN: Do you... have a Korean name?
KEVIN: Yeah. Min-jun.
Kevin seems to understand what’s going on.
KEVIN: Why, what’s up? Is your TA giving you a hard time because of your name?
YINAN: Yeah, and because I chose to stick with my Chinese name.
KEVIN: Yeesh, that’s messed up! I’ve been both Min-jun and Kevin my whole life. If someone tried to tell me I need to be one or the other, I’d be really upset. Everyone should be able to choose for themselves.
For the first time in weeks, Yinan feels relieved.
YINAN (text-colour:grey)[(smiles)]: Right? Thanks for the validation.
KEVIN: You’re welcome!
(link: "Later, in Yinan's dorm room")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "24")
]A door with a name tag reading “Yinan” with cute hand-drawn doodles on it. Yinan enters the hallway and finds Alka, Jenn, and Carl sitting on the floor outside of Yinan room.
YINAN (text-color: grey)[(surprised to see her friends here)]: Oh, hey friends! What are you doing
here?
JENN: We were hoping to run into you!
YINAN: Oh, that’s nice. Wait, everything’s okay, right?
JENN: Oh yeah, for sure!
ALKA: Jenn and I just wanted to apologize for not giving you enough support with the Josh thing. It’s not fair that you’re the only person who’s had to deal with it.
JENN: Yeah, we noticed what was going on, but we weren’t sure if we should say anything... I’m sorry that we didn’t.
YINAN: You know... it honestly would have helped if you’d reached out earlier, yeah. But it’s really nice of you to be here now. Thank you!
JENN: You’re welcome!
ALKA: Of course!
CARL: Yeah Yinan, I only know what Jenn and Alka told me about what happened. But I also know what it feels like to have someone address you in a way that doesn’t reflect your identity. I’m so sorry you’ve been dealing with this.
YINAN: Thank you, Carl. I really appreciate that.
The friends smile at each other, relieved.
JENN: So, is there anything we can do for you now?
YINAN: I don’t know. I’m really worried how the rest of the semester’s gonna go.
ALKA: Maybe we can talk to the professor.
JENN: Yeah! We can go with you if you’d like!
YINAN: I just haven’t really interacted with our professor that much. What if it backfired somehow?
CARL: You know the other TA for your class is my cousin Alanna, right? If you want, we could talk to her and see what she thinks.
JENN: Wait, really?
CARL: Yep.
YINAN: You know what? I would love to (link: "talk to her.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "25")
]In a classroom the next day, students pack up their stuff as class ends. Alanna is at the front, typing something on her laptop. One of her students, Isaac, approaches her.
ISAAC: Hey Alanna, can I ask you something?
ALANNA: Sure, Isaac. What’s up?
ISAAC: I saw that I got a B+ for the Financial Planner assignment, and I was wondering if you would consider adjusting it.
ALANNA: Okay. What’s bothering you about your grade?
ISAAC: It’s just that I know you didn’t like the way I named my functions and variables, but the program does work. I even added error handling and input validation, and that wasn’t required for the assignment. So I thought maybe you would consider giving me some of my points back.
ALANNA (text-colour:grey)[(firmly)]: Isaac, your program runs fine, and the error handling and input validation were a nice touch. But we’ve been talking all semester about the importance of proper coding habits. The naming conventions you used make it very difficult for anyone else to read.
She turns her laptop around so that its screen is facing Isaac, showing him (and game players) its arbitrary variable names.
ALANNA: Anyone looking at this code will have to take time figuring out what p98 and b15 are. And then you’ve got Star Wars characters in here...
ISAAC (text-colour:grey)[(dismissive)]: I mean, it works, doesn't it?
ALANNA: But writing code isn't just about functionality - it's about communication and collaboration, too. If I can't understand your code, it's not good code.
ISAAC: That’s the way I’ve always named things in my code, and it’s never been a problem before.
ALANNA: Okay, I’ll tell you what - I have a meeting with another student in a few minutes, so I do need to go soon. But what I can do is have you fix the variable and function names in your code, resubmit it, and then I can look at adjusting your grade. Sound good?
ISAAC: Oh, okay...thanks.
Isaac leaves, clearly annoyed. Alanna watches him and exhales once he’s gone.
(link: "Later at the cafe")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "26")
]Yinan, Jenn, Alka, Carl, and Alanna sit at a table. All of them have a coffee drink in front of them.
ALANNA: Thank you for sharing your experience with me. What you’re describing is really inappropriate. Have you talked about it to anybody yet?
YINAN: Only my friends.
Alanna thinks about Yinan’s reason and says...
(link: "What about your academic advisor?")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "TA-C2A")
]
(link: "The professor can be a good resource.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "TA-C2B")
]Gabriel is working in front of his laptop when Josh, also working in the same office, asks him:
JOSH: I’m getting coffee. Do you want anything from the kitchen?
GABRIEL: No, thanks. I’m good.
Josh moves to the coffee machine, where he finds Isaac waiting for him.
JOSH: Hey... Isaac, right? Aren’t you in Alanna’s section?
ISAAC: I am. I was just wondering if I could pick your brain about a grade she gave me.
JOSH: Huh, okay. What’s going on?
ISAAC: I feel like she’s kind of nitpicking the way I write my code and instead of listening to me, and she’s making me do extra work to get my points back.
JOSH: What do you mean by “extra work”?
ISAAC: She wants me to rewrite my code and resubmit it.
JOSH (text-colour:grey)[(skeptical)]: Hm, okay. Let's see it.
Isaac pulls out his laptop and hands it to Josh. Josh looks at the screen intently, does something on his keyboard.
JOSH: Okay, so I see it does compile...
ISAAC: See? And there’s input validation and error reporting too.
JOSH: Yeah, that’s cool. Your code works
well.
ISAAC (text-colour:grey)[(scoffs)]: Alanna told me she couldn't even understand it.
JOSH (text-color:grey)[(peering at Isaac)]: Wait, I’m confused - are you saying that about Alanna? Because for sure the way you're naming things in your code makes it harder to understand. Like, what does "g67" refer to here?
ISAAC: Uhh, that's the monthly income variable.
JOSH: How would anyone else know that?
Isaac doesn’t have a real answer.
ISAAC: I guess you could infer -
JOSH: No. Why are you making us deduce how your code works? That seems like a lot more extra work than having you go through and rename your variables.
ISAAC: I thought you might understand.
JOSH: Sure. But based on your code, and what you’ve told me - it sounds like Alanna understood too. So why would I have a different answer for you?
Isaac looks taken aback, can’t answer.
JOSH: I suggest you take Alanna's advice. Fix the code.
ISAAC (text-colour:grey)[(chastened)]: Okay. I will. Thank you.
Josh watches Isaac leave with a perplexed expression, makes his coffee and goes back to his desk. Gabriel pokes his head out of the office room. He looks equally perplexed.
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "28")
]Alanna enters the office space with a heavy sigh.
GABRIEL: What a sigh. Is everything okay?
ALANNA: Hey Gabriel, I’m okay. Just dealing with some TA stuff.
GABRIEL: I may not be a TA, but I’m all in for moral support.
ALANNA: Sometimes I feel like I have to try really hard as a TA, but people still don’t take me seriously. But then when a student who values my advice comes to me, the experience she shared with me makes me feel I haven’t done enough to help them.
GABRIEL (text-color:grey)[(pauses)]: But you’ve been doing your best. Everyone can see.
ALANNA: I know... But...
Alanna makes a worried face.
Sorry. That was too much ranting.
GABRIEL: No, not at all. What you’re going through is hard.
Erm... I’m thinking about getting coffee from the kitchen. Do you want a cup?
ALANNA: Yes, please. Something extra strong without sugar would be nice.
GABRIEL: Gotcha. Extra strong.
ALANNA: Thank you, Gabriel!
GABRIEL: You’re welcome! And you know, if you’d like to talk about this stuff more, I’d be happy to listen.
ALANNA: Thank you.
(link: "Josh enters the room as Gabriel leaves")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "29")
]JOSH: ‘sup Alanna!
ALANNA: Oh hey.
JOSH (text-color:grey)[(sits down, opens his own laptop)]: You know, Isaac came to my office hours today.
ALANNA: Oh really.
JOSH (text-color:grey)[(nods)]: Yeah. He wanted to feel me out about the grade you gave him on his Financial Planner code.
ALANNA: What did you say?
JOSH: I told him the same thing you did - fix the code.
Alanna smiles, appreciative.
ALANNA: Cool. I know it goes without saying, but thank you for having my back.
JOSH (text-color:grey)[(smiles)]: Of course - always.
They continue their work for a BEAT - but then Alanna closes
her laptop.
ALANNA: I actually did want to talk to you about something though.
JOSH: Sure thing, what’s up?
ALANNA: You know some of the shortcuts we take in the classroom? Trying to remember everyone’s names or whatever.
JOSH (text-color:grey)[(uncomfortable, knowing where this is heading)]: I do, yeah.
ALANNA: Because I had a student approach me with some concerns...
(link: "END OF ACT ONE. ON TO ACT II.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "S2-GROUPWORK")
]Jenn now sits in a chair with empty seats on both sides in the NYU auditorium, waiting for student orientation to begin.
A student enters Jenn’s aisle and she immediately brightens, smiling and waving at him.
JENN: Hi! Feel free to sit here!
But the student doesn’t notice her and walks straight down the aisle, greeting another student. Jenn watches them with (link: "an awkward expression.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "4")
]PRAKESH: And how's your first semester coming along, Alka?
ALKA: It's going good, Papa. There's a lot of work, but I'm managing.
PRAKESH (text-color:grey)[(squinting and leaning in)]: Is that your violin on your shoulder, Alka?
ALKA: Yeah, Papa. I was just jamming with some (link: "friends")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "31")
]PRAKESH (text-color:grey)[(raising an eyebrow)]: “Jamming”?
ALKA: Yes, Papa. Like playing music with friends just for fun.
PRAKESH: I hope you aren’t letting all this fun distract you from your studies. You’re in school to get good grades and a stable job - Alka? Are you there?
ALKA (text-color:grey)[(aiming his phone camera back at his face)]: Sorry, Papa, I stumbled. I was going to say the jamming is actually somewhat related to my studies - I’m working on a group project where we have to design a new kind of musical instrument. So this... jamming, it gives me ideas.
Prakesh nods, looking thoughtful and reassured. Just then, Alka passes by an ELEVATOR leading to the subway station. A sign taped to it reads 'OUT OF ORDER'. Alka notices a wheelchair-bound man at the top of the nearby stairs leading to the subway. A good samaritan stands with her hands on the handlebars to the man’s wheelchair looking anxious and scanning the crowd, obviously searching for someone to (link: "help")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "32")
]GOOD SAMARITAN: Excuse me, would you be able to -
ALKA: You need help getting down the stairs?
(text-color:grey)[(to Prakesh:)] Papa, I need to go. There's someone here who needs my help.
PRAKESH: Of course, son. We'll talk later.
Alka ends the call, slides his phone into his pocket, and rushes over to offer his assistance.
(link: "Later, on the Herald Square subway platform")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "33")
]Alka stands on the subway platform, still wearing his violin case on his shoulder. He's lost in thought with his eyes closed, perhaps reliving the joy of his jamming session.
Suddenly, the platform resonates with sound of beautiful, unexpected musical notes chiming. Alka looks up, surprised, his eyes following the sound to an installation overhead: a long, rectangular urban musical instrument running the length of the platform. A woman is walking down the opposite platform her hand raised high and engaging each of the sensors as she goes, triggering melodies along Alka’s side.
Alka smiles, fascinated, and reaches up to put his hand over one of the sensors. A unique set of notes play on the opposite platform, where the wheelchair-bound man from the earlier scene happens to be sitting across from Alka.
The man and Alka exchange a smile. The man then points up at the musical instrument above and shrugs at Alka with resigned expression - the instrument is inaccessible to him.
Alka sees this. An idea sparking in his eyes, he retrieves a notebook and a pen from his violin case. He starts to sketch, the notes of REACH providing a soundtrack to his inspiration. As Alka gets more and more engrossed in his design, we...
(link: "See, later, in Dibner Library")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "34")
]Alka, Carl, Ilsi, and Yinan sit around the desk looking varying degrees of frustrated. There are scrunched up balls of paper littering the table and floor, and the whiteboard reads:
(text-colour:orange)[ACCESSIBLE MUSICAL INSTRUMENT DESIGN IDEAS:
Jacket that plays music when you move
Some kind of squishy ball thing
Eye tracking interface
Photosensor
Ultrasonic sensor]
(link: "The group sadly sits there")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "35")
]CARL: Ughh, why is this so hard??
Alka, staring grimly at the desk with his head in his hands:
ALKA: Okay. Making an executive decision - we go with Yinan’s ultrasonic sensor idea. It’s like the photosensor interface I was suggesting, but more reliable. Yinan pumps her fist enthusiastically.
YINAN: YES!
ILSI: Wait, who put you in charge?
ALKA: Someone has to step up or we’re never going to make any progress. And not for nothing, but I’ve been playing music my whole life.
CARL (text-color:grey)[(to Yinan and Ilsi)]: He’s really good at violin.
ALKA: Piano too.
ILSI: That’s great, but -
YINAN (text-color:grey)[(quickly)]: I vote for Alka!
Alka, Ilsi, and Yinan look to Carl, who’s suddenly in a tough spot.
CARL: Erm...
ILSI: You don’t have to vote for him just because he’s your roommate.
Time to make a decision.
(link: "ALKA: Let's just do the ultrasonic sensor thing.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C1A")
]
(link: "ALKA: What do you think we should do instead?")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C1B")
]Ilsi, Carl, and Yinan have gathered around a table. Parts and materials for the project scatter around.
Alka shows up and whips out an unusual homemade device. It consists of an ultrasonic sensor, an lcd screen, and a big touchpad button, all housed in a pencil case.
ALKA: Hey guys, check out it out - I already made a prototype.
Carl is impressed. Ilsi and Yinan are more hesitant, and exchange glances.
CARL: Whoa! Does it work?
ALKA: It totally does!
ILSI: Wait, you already built a prototype? Why did you do that?
Alka makes a face - he was expecting everyone to be happy that he already built their instrument.
ALKA: I was just trying to help the group get this thing done, for all of us.
YINAN: Okay, but I thought we were going to talk about how to approach it today.
(Shows a folder of drawings) I came up with a bunch of designs I thought we could discuss.
(link: "ALKA: I don't think we want to get too crazy with designs. Let me play mine for you.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C2A")
]
(link: "ALKA: Maybe we can combine your ideas with what I built. Can I show you how it works?")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C2B")
]Alka puts the prototype down and starts explaining. He points to the various design elements:
ALKA (text-colour:grey)[(pointing to the sensor)]: This is the sensor. It translates the distance of your hand, or your arm, whatever, to musical notes.
(text-colour:grey)[(points to the screen) ]You can see what note you’re playing on the screen.
(text-colour:grey)[(point to the button)] And you press the button to play the note you want.
Carl, Yinan, and Ilsi exchange receptive glances. Carl is already sold. Yinan and Ilsi might be getting there.
ALKA: Watch.
He places a hand above the machine and the letter C appears on its screen. He presses the button, producing a C note (the instrument sounds like a square wave).
ALKA (CONT’D): So there’s a C note...
He moves his hand a little closer to the machine and presses
the button again, producing a C#.
ALKA: C#...(moves his hand closer and presses again) B...like that, easy-peasy.
CARL: Bro, that’s awesome! Can you play something on it?
Alka nods confidently.
ALKA: Sure, check it out.
He begins waving his hand and pressing the button in a complicated blur of movement, producing an 8-bit Mario theme song.
CARL: Woah! So cool!!
YINAN: That is really cool!
Even Ilsi is impressed.
ILSI: Wow!
ALKA: One of you want to try?
Carl steps up eagerly. He waves his hand and presses the button, producing an abrasive set of atonal squawks.
CARL: Yikes, okay. Harder than I expected.
YINAN: Let me try.
Carl hands her the machine, and the same thing happens.
YINAN: Ahh! (thrusting the machine at Ilsi) Here, you take it!
Ilsi plays slowly and deliberately, managing to play a very awkward, off-tune Twinkle Twinkle Little Star.
ILSI: Yeah...this is what I was talking about. It’s hard to get your hand just right, and seeing the notes on the screen doesn’t help if you don’t know which ones to play.
ALKA: You guys are doing it wrong. Look.
Alka takes the machine back, and once again moving his hands in a dizzying blur, plays an incredible chiptune rendition of Flight of the Bumblebees at lightning speed.
ALKA: See? It’s easy.
CARL: How?!
ALKA: Well, all instruments take practice.
YINAN: Right, but...
CARL (text-color:grey)[(shrugs)]: He’s able to play it.
ILSI: I don’t know. This doesn’t seem very accessible to me. Maybe we should think about getting feedback from the people who would actually use it...
ALKA: Look, it works and you don’t need a lot of dexterity to play it. It’s a physically accessible design.
ILSI: Right, but you aren’t listening. Accessibility isn’t just about dexterity and physicality. There’s different ways of learning, too, and not everyone knows music like you do. I think we need to account for that if we’re trying to make it easier for people to play music.
ALKA: How are we supposed to account for that?
ILSI: I’m not sure yet. Could I see the code? Maybe we can tweak it a bit.
ALKA: Tweak it? You know what? Fine, I’ll post it on GitHub. If you can find anything that needs tweaking in my code, let me know.
(link: "At Dibner library the next day...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "38")
]Ilsi is at one of the Dibner library desks, scrolling through the instrument’s code on her laptop. She pauses at a section of code defining the chromatic musical scale.
ILSI: Hmm...
An hour later, in Yinan's dorm room, Ilsi is showing Yinan the code on her laptop.
ILSI: If we defined some musical scales and gave the user a way to pick between them, then the machine could take away all the notes that aren’t in that scale.
YINAN: So you couldn’t really sound bad! We could make it so you just turn a couple dials to pick your scale and key.
ILSI: Yes, perfect! Let’s add it in!
(link: "In Alka and Carl's dorm room...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "39")
]Alka and Carl are doing schoolwork independently from each other. Alka is coding on his laptop. He tries to push his code to main, but terminal gives him a series of errors. The
confused look on Alka’s face gives way to annoyance.
ALKA: What the hell??
CARL: What’s up?
ALKA: Ilsi and Yinan are messing with the main branch. Now I have a bunch of merge conflicts that I don’t even know where to-
CARL: You can always revert? (off Alka, opening GitHub)...what are you doing?
Alka types Yinan and Ilsi’s usernames into the ‘block a user’ field on GitHub, and pauses:
(link: "I'll tell you in a sec.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C3A")
]
(link: "I'm blocking them.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "GRP-C3B")
]{
Yinan, in some strange clothes, which can either be absolute garbage
or the extreme of high fashion, approaches. She is holding a bag of shrimp
chips, looking for a seat.
}
JENN: Hi! This seat isn’t taken! I’m Jenn!
Jenn gestures at the seat next to her.
YINAN (text-colour:grey)[(not sure why Jenn is so hyped up)]: (link: "Oh, thanks.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "5")
]Ilsi and Yinan have a rudimentary, breadboard version of the prototype built out on Yinan’s desk - an ultrasonic sensor, LCD screen, button, and two potentiometers all wired to an Arduino.
ILSI (text-color:grey)[(excited)]: Alright, let’s compile and see if it works!
Yinan does something on her laptop, then makes a confused face.
YINAN: What the...?
ILSI: What’s up?
YINAN: I think Alka blocked us from the project.
ILSI: WHAT?!!
Yinan opens up her gmail.
YINAN: This is ridiculous. Why does he think he can just take over the whole project like this? I’m emailing the professor.
ILSI: Good!
But just then, Ilsi and Yinan’s phones buzz. Ilsi checks hers, and:
ILSI: Wait, don’t send that - Carl said he spoke to Alka and they want us to meet at the MakerSpace.
(link: "At the Makerspace")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "42")
]Alka and Carl are huddled over Alka’s laptop, reviewing Yinan and Ilsi’s code.
CARL: I mean...this seems legit to me.
ALKA: Sigh...it’s actually a really good idea.
CARL: Word. Want to see if Yinan and Ilsi can meet? I bet we can get this working today.
ALKA: For sure.
Carl whips out his phone and starts texting while Alka starts gathering the prototype and some supplies.
CARL: Cool, they’re down.
ALKA: Nice, okay.
Alka zips his laptop bag and pauses there for a beat - he’s got something on his mind.
ALKA (a bit sheepish): Hey, thanks for slowing me down there. I think I was about to make a pretty big mistake.
CARL: Don’t worry about it - and thanks for hearing me out. Let's go meet them.
(link: "At the Makerspace")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "43")
]Outside the Makerspace, Yinan and Ilsi see Alka and Carl waiting for them. Alka has a remorseful expression.
CARL: Hey, so I think Alka has something to say.
ALKA (text-color:grey)[(sheepishly)]: I...I wanted to apologize for locking both of you out of the project files. I shouldn't have done it. I did it in the heat of the moment, and it was pretty selfish of me. I'm sorry.
Yinan and Ilsi glance at each other.
ILSI: You do realize you've been acting like a jerk this whole time, right? It's not your project.
YINAN: It's ours. All of us are trying to contribute.
ALKA: Yeah, I got that. It's just that I got too caught up in it.
CARL: Alka, we all know music is your passion. I was excited that you were excited to work on this...but you have to let us in on the project too.
ALKA: Yeah. I'm really sorry guys. Can we try again and work together? You've had some really good suggestions, and I'm happy to try them out.
ILSI: Okay. I think we can all do a much better job working together and get a really good project out of this.
YINAN: Yeah. Let's try tinkering around with this now and make it work!
(link: "At the Makerspace")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "43")
]The gang are gathered around a table with a new and improved version of the prototype - basically the same as Alka’s original design, but with two knobs labeled 'scale' and 'key' added to it - connected to Alka’s laptop by a USB cable. He presses a button on the laptop, and the prototype’s screen lights up.
ALKA: I think we’re good to go.
YINAN (text-color:grey)[(barely able to contain herself)]: I’m so excited!
ILSI: Can I try it?
ALKA: Def, go for it!
Ilsi turns the knobs on the prototype, selecting a pentatonic minor scale in the key of G.
ILSI (text-color:grey)[(takes a deep breath)]: Okay, here we go...
She positions one hand over the machine and the other on its pushpad button - and proceeds to improvise a lovely, harmonious melody. Everyone’s face lights up.
ALKA: Oh my God!
YINAN: Whoa!
CARL: Amazing!
ILSI: It’s so much easier to play!
CARL (text-color:grey)[(To Ilsi, pointing to the machine)]: You mind?
ILSI: Not at all!
Carl picks an A MINOR SCALE - and easily produces a fun, danceable tune.
ILSI: Yooo!
YINAN: Yessss!
As our friends congratulate Carl and each other, we...
(link: "END ACT II. NEXT, ACT III...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "S3-OFFCAMPUS")
]A sweeping aerial view of the meadow stretching endlessly on one of those rare and perfect “suns out, guns out” days of warmth, sunshine, and low humidity in NYC.
{
Amid all the joyful New Yorkers laying out on beach towels, having picnics,
throwing frisbees, etc., we find Alanna and Carl sitting together on a picnic
blanket. Carl is studying a physics textbook with their notebook and hoodie nearby,
their highlighters and pens scattered about; Alanna has her laptop open,
grading her students’ coding assignments.
}
Carl squints at a particularly troublesome problem in their textbook.
CARL: I don’t get it, why does the beam break when I apply the load here?
ALANNA (text-color:grey)[(reading over his shoulder)]: Think about the way the force is being distributed across the beam from both ends. It’s like a teeter- totter, but there’s no fulcrum in the middle.
CARL: Ohhh, I need to move it further out...
ALANNA: Yep, you got it.
They fall into a comfortable silence. Alanna concentrates on her screen with a furrowed brow.
CARL: What’s up, cuz? Now you look puzzled.
ALANNA: Heh, says the person who’s been wrestling with the same problem for thirty minutes...
CARL: Touché. But seriously, what’s up?
Alanna tilts her screen towards Carl.
ALANNA: This student’s code... it’s unnecessarily complex. They could have written it in half as many lines.
CARL: Maybe they’re showing off?
ALANNA (text-color:grey)[(frowning at her screen)]: Efficiency is a show-off in coding, not verbosity. I’ll have to note that down -
Suddenly, a soft, fuzzy, day-glo tennis ball rolls over and bumps Carl’s knee. A nine year old girl is standing fifteen feet away with a Velcro catch paddle on her hand, her DAD standing further back with his own (link: "paddle.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "45")
]GIRL: Excuse me, could you please -
Before she even finishes asking, Carl is on it, picking up the ball with a smile.
CARL: Sure! Ready?
GIRL: Yep!
Carl throws her the ball, which lands perfectly on her paddle with a satisfying thwack.
Nice throw!
CARL: Great catch!
Behind her, the girl’s dad smiles and raises a grateful, acknowledging hand, and Carl returns the gesture.
ALANNA: Aww, she was so cute!
CARL: Right?
As the girl and her dad run off to play more catch, we linger on Carl’s peaceful, happy expression for a beat. The sun is out, couples holding hands, someone playing guitar, kids eating icecream...just a really great day in the park all around.
Abruptly, Carl's peaceful moment of reverie is interrupted by an iPHONE ALARM and we PAN OVER to Carl’s iPhone laying in the grass.
A reminder on the screen reads:
(text-colour:orange)[2:30 MECHANICS LECTURE M/W JABS 475]
Carl dismisses the notification with a swipe of their thumb and sets the phone down.
ALANNA: Time to go?
CARL: Yeah, gotta get to class.
ALANNA: That’s too bad. Text me later?
CARL: For sure.
Carl packs everything into their backpack, plugs their airpods in, chooses their favorite playlist on Spotify, and sets off for school, waving goodbye to Alanna.
(link: "Moments later, at the 59th St. Station turnstile")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "46")
]Carl’s hands touch their phone to the Omny sensor, which beeps and turns white. They push the turnstile, but it doesn’t turn. They look at their phone and see an Apple Pay error message:
(text-colour:orange)[APPLE PAY SERVICES ARE CURRENTLY UNAVAILABLE.
PLEASE TRY AGAIN LATER]
Carl groans. They go to the Metrocard ATM and tap the $9 Fast Metrocard option. Carl takes the metrocard and swipes it at the turnstile - but the turnstile doesn’t turn. A message on the turnstile screen reads:
(text-colour:orange)[SWIPE CARD AGAIN AT THIS TURNSTILE]
CARL: (link: "Okayyy...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "47")
]Carl tries swiping again, and again, but no luck.
(text-colour:orange)[SWIPE CARD AGAIN AT THIS TURNSTILE]
CARL: Seriously?
A well-meaning white lady calls to Carl from the other side of the turnstile.
LADY: Need some help?
She’s holding the emergency gate open for Carl.
(link: "CARL: Oh, no - I think I'm good.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C1A")
]
(link: "CARL: Thank you so much!")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C1B")
]As Carl and the lady take a few steps away from the turnstile gate - two undercover transit officers appear and step between them.
One officer is male and white, the other female and black; each is dressed like a regular commuter, but they have badges pulled out and dangling from lanyards around their necks.
MALE TRANSIT OFFICER (text-color:grey)[(authoratatively)]: Step over here, sir.
CARL: Everything okay?
FEMALE TRANSIT OFFICER: We witnessed you evading a fare.
CARL (text-color:grey)[(disbelieving)]: No, my card wouldn’t work.
LADY: That’s true, I saw him.
The Male Transit Officer begins filling out a ticket.
MALE TRANSIT OFFICER: I need your ID, sir.
CARL: No, for real - I was trying to pay.
MALE TRANSIT OFFICER (text-color:grey)[(holding out hand)]: Sir, I need your name and ID.
CARL: Are ya’ll really serious?
FEMALE TRANSIT OFFICER: You can’t go through the gate without paying.
CARL: Sis.
FEMALE TRANSIT OFFICER (text-color:grey)[(firmly)]: Sir.
LADY: You’re really giving him a ticket?
MALE TRANSIT OFFICER: Would you like one?
The lady turns to Carl and winces sympathetically.
LADY: Sorry...
As she scurries away, Carl looks around the station and sees people staring at them, as their heart pounds away.
(link: "Minutes later...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "49")
]Carl is squeezed into a packed car, standing and rocking with the motion of the train as they hold the pole with one hand and their ticket in the other.
CARL: Un-f@#&ing-believable...
(link: "At the Jay St.-Metrotech Station")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "50")
]Yinan sits down, leaving two seats between her and Jenn. She rips open the bag of shrimp chips. Munch. Munch.
Jenn keeps looking at Yinan, but Yinan keeps eating chips.
JENN(text-colour:grey)[ (tries again)]: I’m Jenn!
YINAN: I’m Yinan.
JENN: Hi Yinan!
Two more students, Alka and Carl, come and sit down in between (link: "Jenn and Yinan.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "6")
]As Carl ascends the stairs to exit the station, Carl checks their phone. The clock on their lock screen reads:
(text-colour:orange)[2:34 PM
]
And there’s a text notification from Kevin (saved in Carl’s contacts as Kevin From Mechanics) as well:
(text-colour:orange)[wya?
]
(link: "Exiting the Station")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "51")
]As Carl exits the station, a white male pedestrian crosses our path and makes “white face” at Carl (tight, closed-mouth smile with raised eyebrows)...
(link: "In front of the Jacobs building")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "52")
]As we approach the front door of the building, Carl checks their phone again...
(text-colour:orange)[2:40 PM]
(link: "CARL: Ugh, I'll have to slide in late to class")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C2A")
]
(link: "CARL: Forget it, I'll skip class today")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C2B")
]Half an hour later, Carl sits with a Word doc titled NOTES open on his laptop screen, but there’s no notes written on it.
The Professor is lecturing at the front of the classroom, but whatever she’s saying is washed out in his head.
KEVIN: //indistinct sounds//
The CLASSROOM SOUNDS FADE to a hum and Carl turns to Kevin, who’s leaning towards us and wearing a concerned expression.
CARL (text-color:grey)[(whispering)]: Huh, what?
KEVIN (text-color:grey)[(whispering)]: I said, you good?
CARL: Uhh...I’m fine, it’s fine.
KEVIN (text-color:grey)[(whispering)]: Okay, well let me know if you need me to share notes. I got you.
(link: "Later that day")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C2B")
]ALKA: So...anything interesting happen today?
...Carl keeps playing on their phone and not reacting. Alka shrugs and going back to his meal. They eat in awkward silence.
CARL: Hmmprh (clearing throat)
ALKA: You say something?
Carl doesn’t look up from their phone.
CARL: Hm? No.
After another few minutes of awkward silence,
(link: "ALKA: Are you okay?")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C3A")
]
(link: "ALKA continues to eat in silence.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C3B")
]The camera hesitates on Carl’s blanketed form on their bed, then turns to the clock on Alka’s nightstand - it’s only 3:30 in the afternoon.
Alka stares after them, and ponders what to do.
(link: "Ask directly")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C4A")
]
(link: "Give them space")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "OFF-C4B")
]With Alka gone, the room is dark and silent.
Carl’s hand eventually emerges from under the blanket and pats around their nightstand, searching...finally, they find their phone and pull it under the covers with them. He dials the phone.
ALANNA: Hey, what’s going on? You okay?
CARL: What makes you think something’s wrong?
ALANNA: You called instead of texting, sooo...
CARL: Heh, ah. Okay, yeah. Good point.
ALANNA: So?
CARL (text-color:grey)[(sighs)]: You’ll never believe what happened after I left the park today...
(link: "Later that night, in Carl and Alka's dorm room...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "57")
]Alka opens the door and enters the room with quiet, considerate care, in case Carl is asleep - but instead he finds the lights on and Carl wrapped in their blanket like a burrito on the floor, playing a videogame on the TV.
The blinds have been reopened and there is a stack of neatly folded laundry on Alka’s bed. Carl’s side of the room has been straightened up, too. The whole vibe in their dorm is different now.
ALKA (text-color:grey)[(touched and surprised)]: Dude, you picked up my laundry??
CARL (text-color:grey)[(intensly focused on their game)]: Yeah, I meant to remind you but you already left.
ALKA: Man. Thank you so mu- dang it. I called you ‘dude.’ Then I said ‘man,’ which-
CARL (text-color:grey)[(waving it away)]: -it’s fine. And you’re welcome.
ALKA: Cool.
Alka starts putting his clothes away, and after a bit, Carl pauses their game and looks over at Alka.
CARL: Hey... Sorry I was short with you earlier. You were really trying to push me to talk, but I wasn’t ready yet.
ALKA: Oh, no, that’s fine. And I’m sorry. I wanted to help you feel better, but it took me a minute to figure out how to do that in a way that was actually helpful to you.
CARL: Word, well I appreciate it. Thank you.
ALKA: Do you... wanna talk about it now?
CARL: Not really. It was just a really rough day.
ALKA: Okay.
Alka comes over and sits with Carl, watching them play. A few moments later, Carl wordlessly slides the other game controller to Alka. Alka leans over and bumps shoulders with Carl playfully and picks up the controller.
And as our friends start to play a new game together, (link: "we...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "58")
]{
<!-- DB CODE START -->
(display: "UpdateSheet")
<!-- DB CODE END -->
}
(align:"=><=")[''FADE TO BLACK'']
(align:"=><=")[Thank you for playing this pilot of our game. After our discussion of the demo today, you can expect to recieve a short survey asking a few questions about your gaming experience. This survey is entirely confidential and the data it collects will be used only by the development team to improve the game.
Again, we really appreciate you taking the time to play this game and give us your feedback.]ALKA: Do you think the construction next door will end soon? I can’t keep waking up every day at seven a.m.
CARL: Well, I don’t need to listen to you snoring.
ALKA: Dude - I don’t snore!
Carl doesn’t look too comfortable being called “dude.”
JENN: Hi! Are you two friends already? I’m Jenn! That’s my friend Yinan over there!
Carl and Alka look at her, kind of awkward. Yinan stares at her, probably thinking “but we just met?”
CARL: Carl here.
ALKA: Alka.
Another student, Kevin, enters the (link: "aisle.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "7")
]KEVIN: ‘scuse me. Sorry
He carefully gets to the seat to the left of Jenn and sits down.
JENN (text-colour:grey)[(to Kevin)]: Hi! I’m Jenn!
Kevin offers a hand to shake.
KEVIN: Kevin. Nice to meet (link: "you.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "8")
]Alka looks down at his phone, texting. Carl stops him.
CARL: Dude if she’s not texting back, let it go!
ALKA: Ugh, don’t...fine.
Alka puts his phone away.
JENN (text-colour:grey)[(chimes in)]: Maybe she’s in class!
ALKA (text-colour:grey)[(hopeful)]: Maybe!
CARL: Don’t encourage him. His situation with his ex is just-
ALKA: -we don’t know if she’s my ex yet!
CARL: How long has she not been texting you?
ALKA: Two days.
Carl stares at him intensely.
ALKA: Okay fine, a week.
JENN: Oh, you got dumped then.
ALKA: Wait - what?!
CARL: See, that’s what (link: "I told him-")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "9")
]Things are getting chaotic. Yinan holds out her bag of chips.
YINAN: Chips?
Jenn, Alka, and Carl stare at her in silence, surprised by her sudden offer and unsure whether to take her up on it.
YINAN: Come on, you know you want some.
JENN (text-color:grey)[(excited, loud)]: Sure, I’ll have some. Thank you so much!
Jenn reaches past Alka and Carl, getting chips from Jenn, spilling a few on Alka. Alka just picks up that spilled one, giving another to Carl.
CARL: What no? It smells so...shrimpy.
ALKA: Uh yeah, they’re shrimp chips. Here, try one. You’ll like it.
CARL (text-colour:grey)[(suspicious)]: ‘kay fine.
Carl eats a chip. Their whole world changes--they love it.
CARL: Whoa... it’s so... good.
ALKA: See. I know you already.
Alka turns to Yinan.
ALKA (text-colour:grey)[(to Yinan)]: He’s not that adventurous with food.
CARL: Uh, I told you it’s they/them?
ALKA (text-colour:grey)[(wincing)]: Sorry. *They’re* not that adventurous with food.
YINAN: That’s okay!
(text-colour:grey)[(to Carl)]: I’m so glad you like the chips!
ALKA: Do you mind if I have some more? All the snacks I’ve had around here have been pretty...not good.
Yinan looks into the chip bag like it’s a tough decision.
YINAN: Hmm, I don’t know... they are my favorite chips, and this is my last bag from Shanghai...
ALKA: Oh, my bad-
Yinan thrusts the bag towards Alka.
YINAN: -just kidding! Of course you can have more!
ALKA: Ha, thanks!
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "10")
]Alka turns to Ilsi.
ALKA: We only have two weeks to build something. Let’s just do the ultrasonic sensor thing.
ILSI: I just feel like we’re rushing through this and I want to make sure we make something that really makes making music accessible to people.
ALKA: That’s what I want too!
YINAN: The sensor will make it so all you have to do is wave your hand or arm to pick the notes you play.
ILSI (text-color:grey)[(not fully sold)]: It sounds kind of hard to play, but maybe it’ll be easier than I think. Let’s just start with this idea and see how it turns out.
CARL: Okay, cool - let’s start designing it the next time we get together.
(link: "A bit later at the NYU Makerspace...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "36")
]Alka turns to Ilsi.
ALKA: What do you think we should do instead?
ILSI: I really think we need to think through the accessibility more. Waving your hand or arm to play notes makes me think of a theremin, and those seem hard to play, especially if you want to sound good.
CARL: I’m not sure the user’s musical ability is a problem we can solve.
Alka touches his nose and points to Carl.
ALKA: Exactly.
ILSI: I just...(sighs) Okay, fine. Let’s go with the ultrasonic sensor. Maybe we can make it easier to play.
CARL: Nice. Let’s start designing it when we get together next time.
(link: "A bit later at the NYU Makerspace...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "36")
]Alka turns to Yinan.
ALKA: I don’t think we want to get too crazy with designs. Let me play it for you.
YINAN (text-color:grey)[(bristling)]: I actually do think we want to be thoughtful about design, since we’re trying to make something accessible.
ALKA: Right. That’s why I used your idea for the interface.
(text-color:grey)[(to Carl)] What do you think?
CARL: Honestly, I just want to get this project done.
Ilsi makes a face - she doesn’t like how this is playing out at all.
YINAN: Sigh...fine. Let’s see how it works.
(link: "Alka puts the prototype down.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "37")
]Alka turns to Yinan.
ALKA: Maybe we can combine your ideas with what I built. Can I show you
how it works?
YINAN (text-color:grey)[(brightening up)]: Okay, let’s see what you’ve got.
(link: "Alka puts the prototype down.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "37")
]ALKA: I’ll tell you in a sec, hold on.
He clicks the Block user button and shuts his laptop.
ALKA: There, problem solved - I blocked them.
CARL (text-color:grey)[(wincing)]: Ooh, I don’t know about that.
ALKA (text-color:grey)[(shrugs)]: They shouldn’t have messed with my code.
(link: "In Yinan's dorm room...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "40")
]ALKA: I’m blocking them.
CARL: Ooh, I don’t know about that, man.
ALKA: What? They should have asked before they started messing with my code.
CARL (text-color:grey)[(raising an eyebrow at “my code”)]: Hmm. Can I see what they changed? Maybe we can make it work.
ALKA: Make it work? We have something that works fine already.
CARL: Sure. But I think Ilsi had some good points about how it could be more accessible to people who don’t think the way you do, or don’t have a background in music.
ALKA: I don’t understand why she’s pushing that so hard! We can’t solve every problem at once.
CARL: I don’t know, dude. I think she wants to do a good job just like you do.
ALKA: I guess...
(link: "Later in the dorm room, Alka and Carl pore over Yinan's additions...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "41")
]{
<!-- DB CODE START -->
(set: $date to (current-date:))
(set: $time to (current-time:))
(set: $startTime to (current-time:))
(set: $path to (history:))
(if: $feedback is 0)[(set: $feedback to (a:))]
<!-- DB CODE END -->
}
Thank you for testing this interactive story!
Your participation and feedback will help us make this a great game.
Please enter the following information:
Name: (input: bind $name, "your name")
NetID: (input: bind $netID, "your netID")
{
There will be a feedback form after
you read through these three scenarios,
but you can also provide short feedback via the checkboxes
at the bottom of each page. These checkboxes are totally optional, but
can be used for small notes that you don't want to forget,
or for general vibe checks that will automatically be linked
to that specific part of the story.
}
{
To go to the next page, or to choose between different paths
at branching points in the story, click the (link: "blue text.")[
<!-- auto pointer issue so annoying https://intfiction.org/t/array-variables-are-pointers-vs-values-in-twine-harlowe/48887/3 -->
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
<script>
console.log($feedback)
</script>
(go-to: "S0-ORIENTATION")
]
}CARL: Oh, no - I think I’m good. Thanks, though.
They start walking away from the turnstile and approach the booth for help, but when they get there they discover that it’s empty.
CARL (text-color:grey)[(to self)]: Really??
They look around for help, but all they see are commuters.
CARL: Dang. Okay. Where’s a city worker when you need one...
The lady is still there holding the gate for Carl.
LADY: You sure?
Carl looks at her, then back at their MetroCard.
CARL: Actually...here I come. Thanks!
LADY: You’re welcome!
(link: "Inside the turnstile")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "48")
]CARL: Uhh...sure! Thank you so much!
LADY: Of course, no problem!
She lets Carl in through the gate.
(link: "Inside the turnstile")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "48")
]Carl enters the class mid-lecture. The professor (female, 40s, white) interrupts what she’s saying and looks at us.
PROFESSOR: ...Therefore, the only stress that can be exerted on an object submerged in a static fluid is one that tends to compress the object from all sides- hi, Carl, good afternoon.
CARL (text-color:grey)[(a bit sheepish)]: Hi, sorry...
Carl scans the room and spots Kevin gesturing to the empty seat next to him with his left hand. He sits (link: "down.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "53")
]Carl's standing in front of the grill station at the university cafeteria, holding a tray with a plate of chicken tenders and onion rings.
GRILL STATION CASHIER: I need your ID, sir.
CARL (text-color:grey)[(startled)]: What??
The Grill Station Cashier holds Carl’s student ID out to them.
GRILL STATION CASHIER: Here’s your ID, sweetie.
Carl’s hand enters the frame and takes it.
CARL: Sorry...thank you.
We pick up Carl’s tray and exit the grill station area, giving players their first real look at the dining hall - it’s packed and bustling with students.
Alka is standing nearby with his own tray of food.
ALKA: Carl?
Apparently he’s been talking for a while now.
CARL: Hm? What?
ALKA: Everything okay?
CARL: Yeah. I was just trying to find us some seats.
Alka points somewhere off screen.
ALKA: Let’s see if we can take those chairs (gesturing to an empty table).
CARL: Oh, nice. Okay.
As Carl and Alka walk towards the table, Alka abruptly stops - he’s remembering something.
ALKA: Oh, dang it - can you remind me to pick up my laundry later?
CARL: Yeah, sure.
They walk over to the table and Carl notices a pair of backpacks in the empty seats.
ALKA: Hey, you mind if we take those seats?
One of the students sitting at the table puts their hand out to stop the chairs from being touched.
Sorry, we’re waiting for our friends.
ALKA: Oh. Hm. Okay.
(text-color:grey)[(to Carl):] What do you think?
CARL: Let’s just eat in our room.
(link: "Back at the dorms...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "54")
]Alka’s hand sets his plastic fork down.
ALKA: Hey dude, I said, are you okay?
CARL: Yeah bro, I’m fine.
ALKA: ....Word, okay.
{
Alka picks up their fork to eat, but Carl abruptly gets up, leaving their food on the table,
walks over and gets into their bed, pulling their blanket up over their (link: "head.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "55")
]
}Alka’s hand spears food on his fork, but before he can take a bite, Carl gets up and dumps their entire box of barely-eaten food into the trash can.
ALKA (text-color:grey)[(startled, setting fork down):] You okay?
CARL: Not hungry.
We watch as Carl plops in bed and pulls their blanket up and over their entire body and (link: "head.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "55")
]ALKA: Okay, something’s up. What’s going on?
CARL (text-color:grey)[(from under blanket)]: I told you I’m fine.
ALKA: You don’t seem fine.
CARL (text-color:grey)[(firmly)]: Dude. Leave me alone.
ALKA: Look, I’m just trying - you know what, you’re right. My bad. Sorry.
Alka packs up his to-go container, starts gathering his things, and starts to walk towards the dorm-room door, but then turn arounds and close the window blinds, darkening the room a little for Carl.
ALKA: I’m gonna head to Dibner for a bit.
CARL: K.
Alka leaves the (link: "room.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "56")
]ALKA: Hey, you don’t have to talk if you don’t want to...but just so you know, if you did want to talk, I’d be down.
CARL: Thanks. I think I’m good.
ALKA: Okay, cool.
Alka packs up his to-go container, starts gathering his things, and starts to walk towards the dorm-room door, but then turn arounds and close the window blinds, darkening the room a little for Carl.
ALKA: I’m gonna head to Dibner for a bit.
CARL: K.
Alka leaves the (link: "room.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "56")
](align:"=><=")[''DRAMATIS PERSONAE'']
''Core Characters''
ILSI
Female, 18, Colombian, From upstate NY
JENN
Female, 19, White-American, From Queens
YINAN
Female, 18, Chinese, First time in the US
ALKA
Male, 18, Indian-American, From Boston
CARL
Male, 18, African-American, From Atlanta
KEVIN
Male, 19, Mixed-race, From San Francisco
ALANNA
Female, 21, Dominican,
GABRIEL
Male, 20, Puerto-Rican,
''Supporting Characters''
JOSH
Male, 21, White-American
ISAAC
Male, 18, White-American
PRAKESH
Male, 52, Indian-American, Alka's dad
(link: "ACT ONE")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "S1-TA")
]{
<!-- DB CODE START -->
(display: "PostToSheet")
<!-- DB CODE END -->
}
We can hear the noisy bustle of an open area filled with people.
Banners reading “WELCOME, NEW STUDENTS!” hang on every
streetlight.
Jenn is standing in front of an NYU Tandon building in the quad holding her phone, which seems to have lost connection: "MAPS CAN'T REACH THE INTERNET". She looks around listlessly, but
(link: "then...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "1")
]We are in a well-attended lab section with Yinan, Jenn, and Alka sitting together in the first row. Everyone has their laptops out and looks ready to go.
Their teaching assistant, Josh, stands at a lectern at the front of the class. He has a laptop open on the lectern and there is a Powerpoint slide glowing on the
smartboard behind him.
The slide is labeled MONTY HALL PROBLEM and it features a graphic of three closed doors numbered 1-3. The header of the slides says: INTRO TO PROGRAMMING, SECTION 1.
An arrow points to Josh and says: Josh, the TA. The lab’s exercise is written on the whiteboard as well:
(align:"<==")+(box:"=XX=")+(text-color:orange)[''TODAY’S EXERCISE: WRITE A PROGRAM THAT SIMULATES THE MONTY HALL PROBLEM.'']
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "13")
]{
<!-- DB CODE START -->
(display: "UpdateSheet")
<!-- DB CODE END -->
}
Outside Herald Square, Alka, wearing a backpack-style violin case slung one-strapped
over his shoulder, walks briskly down the bustling avenue, lost in the thrumming rhythm of the city. He is FaceTiming with his father, Prakesh, on his iPhone. The connection is a little (link: "shaky.")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "30")
]In Alka and Carl's dorm room, at Othmer Residence Hall, we see Alka and Carl eating silently at their little dorm table, the noiselessness broken only by the scrape of plastic utensils against take-out containers.
Alka’s side of the room is spare, neat, and organized - even his rock band posters are framed and hanging perfectly straight. Carl’s side is more relaxed, slightly messy even - books here and there, a few crooked pictures surrounded by string lights, posters (The Wiz, The Fresh Prince, Dragon Ball Z, graffiti art) casually push-pinned to the wall...
Alka fidgets, wanting to talk - but Carl is focused on something they’re reading on their phone.
ALKA: So...anything interesting happen today?
Carl stays playing on their phone - it doesn’t seem like they heard him. Alka shrugs and goes back to eating.
(link: "Earlier that week, in Central Park...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "44")
]YINAN: Ohhhh - sorry. I don’t think switching doors would make a difference? And actually it’s ''Yi’nan''.
JOSH: That’s what I said.(text-colour:grey)[ (beat) ]But OK, we have one vote for switch and one for it doesn’t matter.
Yinan frowns with a “wtf” face. Jenn and Alka watch her with a sympathetic expression.
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "TA-C1B")
]Recitation has ended, and Josh is packing up his laptop at the lectern. Students are gathering their things, talking and filing out, etc.
Jenn and Alka are leaving.
JENN(text-colour:grey)[ (to Yinan)]: Hey, I booked a study room in the library. Do you wanna work on the homework with us?
YINAN: You guys go without me. I’ll catch up with you later. Jenn and Alka share a look.
JENN: Okay...
(text-colour:grey)[(hesitantly)]
Actually, are you...
Yinan waits for Jenn to finish her question...
JENN (text-colour:grey)[(awkwardly)]: Never mind, sorry. See you at the library!
YINAN: Okay, see you!
Once the classroom is clear, Yinan approaches Josh.
YINAN: Hey, Josh - got a moment?
JOSH (text-colour:grey)[(looking up from his laptop bag)]: Sure, Yeen-an. What’s up?
YINAN: I just wanted to clarify that my name is Yi-nan, not “Yin-an.”
JOSH: YEEN-AAN?
YINAN: Yi-nan.
JOSH: Yi...hmm.
(text-colour:grey)[(considers something for a beat)] I’m wondering...do you have an
American name that you go by? That
might be easier.
YINAN (text-colour:grey)[(genuinely confused)]: American name?
JOSH: Yeah, like Crystal, Suzy...a name you use in America.
Yinan does a double take.
YINAN: Oh.
(text-colour:grey)[(firmly)]My name in America is still Yinan.
JOSH: Oh. Okay - Yi...nan.
YINAN: Thank you.
(link: "Next")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "15")
]ALANNA: What about your academic advisor?
Yinan clearly hasn’t thought about that before.
YINAN: Oh, I thought I was only supposed to meet with her before registration.
ALANNA: The academic advisors are here to advocate for the students. I think if you don’t feel comfortable going to the professor, your advisor would be the person to talk to.
YINAN: Thanks! That hadn’t crossed my mind at all.
(link: "The next day...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "27")
]ALANNA: The professor can be a really good resource. What do you think about talking to him?
YINAN: I thought about that, but I don’t think I know him well enough to talk about my issue.
ALANNA: Ah. That is a legitimate concern, but in my experience, he’s a very good person to work with. He cares about his students, and I’m sure he would want to know about what happened and help you.
But if anything, I’d be happy to have you in my session. I can just ask the professor to have you transferred to my lab if you’d like.
YINAN: Oh, that would be great!
(link: "The next day...")[
(set: _feedback to (a: 0, 0, 0, ""))
(if: _liked)[(set: _feedback's 1st to 1)]
(if: _disliked)[(set: _feedback's 2nd to 1)]
(if: _confused)[(set: _feedback's 3rd to 1)]
(set: _feedback's 4th to (str: $comment))
(set: _fb to (a: (passage:)'s name, _feedback))
(set: $feedback to it + (a: _fb))
(go-to: "27")
]