Final Project Report – Elysia (Team Lamb)

My Partner

In our Assistive Technology class, I and my teammates are partnered with a girl named Siyi, or we usually call her Lamb. Because of hypoxia that happened on her birth—in which her body was deprived of the necessary oxygen—her body, brain, and other organs were damaged and never fully recovers. Thus, she has been living in a wheelchair for most of her life. Even so, she still keeps her spirit and warmth as she tried to help others by sharing her kindness. She is very communicative and eager to be involved in our projects. Even with the language barrier that I struggled with since I don’t speak Chinese, she’s very expressive in communicating what she desires and expectations. Her mother also helped a lot in bridging the conversation between us and Lamb. We are very grateful to have been working with her in the past weeks.

Her Challenges and Difficulties

Lamb’s desire is to be able to go out by herself. In other words, she wants to be more independent. However, living in a wheelchair significantly impact the options that she has in order to acquire independency. Simple tasks can sometimes be very difficult due to the limitations caused by the wheelchair. For example, she mentions that going to the bus are hefty because there is no ramp to bridge the gap between the ground and the bus. Another thing that she mentions is that she has difficulties using an umbrella during rains. Her mother is the one that is usually holding the umbrella, so she wants a way to hold the umbrella for herself. That will surely help her become more independent. In addition to that, the umbrella will be attached to her electronic wheelchair, so that she can freely move and control the umbrella.

My Project

Our project is centered on solving her umbrella problem. We think that it is important to provide her with a way to go through the rainy season with the umbrella at hand. We also decided to focus on the case when she doesn’t know for sure if it’s going to rain or not, so she’s going to bring the umbrella as a precaution. Her mother can help her put the umbrella on the holder before going out. When she goes out and It starts to rain, she can turn the rotation of the holder and tighten the stick by spinning a knob. Afterward, she will have to push the umbrella upwards to open it. We thought about using an automatic umbrella, but it was too heavy on her. We don’t want the umbrella to suddenly collapse on her due to the weight. A raincoat is also ineffective as it is hard to put the raincoat on her body. Therefore, we concluded that this was the best scenario for our project.

Development Process

Week 1: we talked to Lamb about her desires and difficulties in her everyday lives. She provides us with useful information regarding her use of a wheelchair and the troubles of transportation using a wheelchair. 

pic 1: our stick

Week 2: Lamb was not present during this week, but we made our first prototype! Young also gave us very useful feedback from experts to further develop our project.

video 1: our first prototype

Week 3: Unfortunately, Lamb was not able to come this week either. So we focus on improving the design of our umbrella. We talked to Young again this week because we were experiencing difficulties with the joint of the stick. So we used a gorilla pod that we borrowed from ima lab as a prototype.

video 2: Our third-week prototype

Week 4:  we were supposed to have our last user testing before the presentation. Unfortunately, Lamb was not able to come because she was not feeling well. This is also another reason why we think it is important to provide her with an umbrella, so she won’t catch a cold. Then, we brainstormed for a while and made many prototypes to fix the problem with the joint. Initially, we wanted to make the joint very easy to rotate but also strong enough to hold the weight of the umbrella. Last week, we used a gorilla pod leg as the joint of the stick, but after testing, we realized that it was not strong enough to hold the weight of the umbrella. There is a bigger gorilla pod leg, but it is too hard to separate. Thus, we weren’t able to finish our project as our partner was not there.

What I learned from this 4-week workshop

The most challenging part of this workshop is the fact that our partner was absent for three out of four meetings in total. This condition forces us to make not so accurate decisions and make the user testing process a little bit difficult. However, it also teaches us about patience. It made us think out of the box and use our knowledge to come up with solutions without our users actually be there. We have to critically think and be creative regarding the myriad of possibilities on how our users will interact with the product. We were still able to ask questions to the mom of the user and get some useful feedback and references, but in the end, the project does not actually work nor has it been tested. It was okay though, we manage to make something that is useful with limited resources and time. Another thing i would like to add is the fact that teamwork is really important, especially in creating such a project that relies heavily on communication between individuals. My teammates have been really helpful in bridging the language gap between me and Lamb, so i am really grateful for that.

In conclusion, we were all very satisfied and happy with our project!

Map(Tweeter()) – Elysia – Eric Parren

For my final project, me and my partner were planning to make an interactive map that would show the most recent news that is happening in the world. The main reason of the project is to increase people’s awareness and curiosity about the events that is happening in the world. For a while, we were confused about which app we should choose as the source of the news, but after careful thought, we decided to use twitter. In order for us to be able to generate the tweet and have the information stored in strings, we use APIs to help us do our job. Then, we have to figure out how the user would interact with the project. Initially, we were thinking of making it as something that you can step on, hence why our original project name was “Step into The Newsroom”. But we figure that it would be way more interesting for people to be able to interact with it by hand. I feel like it would provoke more curiosity as it resembles the interactive information board usually present in museums and exhibitions. For the map body, we were planning to laser cut it, but because the dimensions were too big, we switched to cardboard instead.

Gluing the map to the cardboard, making support for the box, and putting in buttons was way easier than making the code. The code is the most significant part of our project and the most difficult one to do. Since we had to use an API, it took me a while to figure out how everything works and how to best incorporate it into processing. I first had to make a Twitter developer account, and register my application there. Then they will give me a bunch of tokens that would grant me access to the tweets. What I notice from the API is that it would take a while for processing to get the tweet, transform it into JSON format, and then display it as a string. It was a hard process to endure, but after we figured that out everything becomes easier. In order to make the interaction more interesting, i added a twitter sound to further emphasize that we are getting real data from twitter, and also a webcam function to make it seem like they were the ones making the tweet. The project before user testing looks like this:

After user testing, we gained a lot of useful feedback. The most important one is that some people were saying that they did not understand the use of webcam in the display. One of them suggested that we should have a map and make the speech bubble pop up in places in accordance with the buttons that is pressed. Both I and my partner thought that was a great idea, so we incorporate it into our final project. Another thing that is also important is the fact that some user is confused whether the buttons work because the lag in the display took a while to load. So we decided to add a loading screen! The end result of our project looks like this:

In conclusion, I feel like the project was really satisfying to make and interact with. It serves its purpose as an educational tool that would help people be more interested in things that are happening in the world. The feedback from the users was really good and they felt like they had just traveled the world and become more exposed to the issues that are happening in the world. Our project definitely aligns with our definition of interaction as it incorporated all of the elements that i used to define interaction (read, think, and speak) and most importantly it attracts people to use it again and again like a cycle. It is not a one-time interaction that stops after its done, but rather something that will surprise you each time you interact with it. If i had more time, i would definitely work on the physical display of the project. It would be convenient to make it more sturdy and able to work with a considerable distance from the screen (rather than being connected with a cable to the computer). Our project had made a considerable impact to people because what they’re feeling after using our project clearly solves the issue that we raised before. 

Assistive Technology Week 6 Assignment 2 – Elysia

Last Wednesday, we went to the campus behind Meng CafĂ©. It was a very beautiful campus with great scenery. We were led by a teacher and was showed many classes and activities.  The first class that we went to was a ukulele building class. There were about 15 students in the class (if im not wrong) with varying ages. They were tasked with putting the strings of the ukulele. I recognized that they have also decorated the ukulele with some kind of snow slime. They were very creative with the colors and overall decoration. Some children were having difficulties putting on the strings, and one kid kept failing over and over again and then he got upset. But the teachers were quick to react and help him. The second class is a paper art-making class. The students were tasked with rolling long sheets of colorful papers and glue them onto a sheet of paper. I observed that some of the students love the repetitive task of rolling the paper, it’s like their favorite activity. Some other kids are very hyperactive and start dragging me and my friends to see his art. It was a very fun experience interacting with the kids. The last class that we went to is a one-on-one class. The teacher was teaching the student how to cut the paper into a perfect circle and glue them into pieces of paper. She used videos and physical toys to familiarize the student with the item that she was going to teach him. In that class, she showed him videos of how to cut the circles and made him blow actual bubbles. The class was pretty short but was very condensed. The student frequently loses his focus, probably because we were invading his classroom.

 

Pic1. The student’s artwork

pic2. The shop inside the school

From my observation, I believe that technology can and will play an important part in their learning. One aspect that they can incorporate technology in the classroom is on the one-on-one session. The teacher can use an interactive screen to make the student interact more with the items and become more familiarized. It might work or it might not, but I feel like everything depends on the condition of the students. Because every material needs to be tailored to what each student needs in order for the teaching to be effective and efficient.

Overall, I have learned many things from the experience. The children were very delightful to interact with, and the classrooms were nice and very accommodating for the students. The teachers were inspiring and passionate. I feel like the school provides a very good education for the children. The visit made me realize that even though they might experience more difficulties in learning than regular children, they are also capable of creating amazing artworks and be a contributing member of society. The fact that some of the graduates’ work at Meng Café also proves the fact that they can be a capable and independent individual.

Assistive Technology Week 6 Assignment 1 – Elysia

In our Assistive Technology class, I and my teammates are partnered with a girl named Siyi, or we usually call her Lamb. Because of hypoxia that happened on her birth—in which her body was deprived of the necessary oxygen—her body, brain, and other organs were damaged and never fully recovers. Thus, she has been living in a wheelchair for most of her life. Even so, she still keeps her spirit and warmth as she tried to help others by sharing her kindness. She is very communicative and eager to be involved in our projects. Even with the language barrier that I struggled with since I don’t speak Chinese, she’s very expressive in communicating what she desires and expectations. Her mother also helped a lot in bridging the conversation between us and Lamb. We are very grateful to have been working with her in the past weeks.

Lamb’s desire is to be able to go out by herself. In other words, she wants to be more independent. However, living in a wheelchair significantly impact the options that she has in order to acquire independency. Simple tasks can sometimes be very difficult due to the limitations caused by the wheelchair. For example, she mentions that going to the bus are hefty because there is no ramp to bridge the gap between the ground and the bus. Another thing that she mentions is that she has difficulties using an umbrella during rains. Her mother is the one that is usually holding the umbrella, so she wants a way to hold the umbrella for herself. That will surely help her become more independent. In addition to that, the umbrella will be attached to her electronic wheelchair, so that she can freely move and control the umbrella.

Our project is centered on solving her umbrella problem. We think that it is important to provide her with a way to go through the rainy season with the umbrella at hand. We also decided to focus on the case when she doesn’t know for sure if it’s going to rain or not, so she’s going to bring the umbrella as a precaution. Her mother can help her put the umbrella on the holder before going out. When she goes out and It starts to rain, she can turn the rotation of the holder, and tighten the stick by spinning a knob. Afterward, she will have to push the umbrella upwards to open it. We thought about using an automatic umbrella, but it was too heavy on her. We don’t want the umbrella to suddenly collapse on her due to the weight. A raincoat is also ineffective as it is hard to put the raincoat on her body. Therefore, we concluded that this was the best scenario for our project.

Last week we were supposed to have our last user testing before the presentation. Unfortunately, Lamb was not able to come because she was not feeling well. This is also another reason why we think it is important to provide her with an umbrella, so she won’t catch a cold. Then, we brainstormed for a while and made many prototypes to fix the problem with the joint. Initially, we wanted to make the joint very easy to rotate but also strong enough to hold the weight of the umbrella. We used a gorilla pod leg as the joint of the stick, but after testing, we realized that it was not strong enough to hold the weight of the umbrella. There is a bigger gorilla pod leg, but it is too hard to separate. Thus, the only choice we have left is to ask Lamb next week whether she can operate the umbrella holder by herself.

 

pic1. the holder

pic2. The gorilla pod holder

Recitatin 10-Elysia

For last week’s recitation, i attended the serial communication and map workshop. Both sessions was really helpful in helping me further understand how those functions work. In the map workshop, the instructor explained how the map function works. It has 5 items, the name of the value that you want to change, the bottom limit of the original value, the top limit of the original value, the bottom limit of the mapped value, and the top limit of the mapped value. They also provide examples of how to use it.

For serial communications, the instructor showed some examples of how to send values from processing to Arduino and vice versa. As an excercise, we made a circle in which the color of the circle is determined by the value that we got from arduino. The fill itself will be randomized. The position of the X coordinate will also be affected by the value from processing. The whole code looks like this:

// IMA NYU Shanghai
// Interaction Lab
// For receiving multiple values from Arduino to Processing

/*
* Based on the readStringUntil() example by Tom Igoe
* https://processing.org/reference/libraries/serial/Serial_readStringUntil_.html
*/

import processing.serial.*;

String myString = null;
Serial myPort;

int NUM_OF_VALUES = 2; /** YOU MUST CHANGE THIS ACCORDING TO YOUR PROJECT **/
int[] sensorValues; /** this array stores values from Arduino **/

void setup() {
size(500, 500);
background(0);
setupSerial();
}

void draw() {
  updateSerial();
printArray(sensorValues);
background(0);
float posx= map (sensorValues[0],0,1023,0,255);
ellipse(posx,mouseY,50,50);
if (sensorValues[1]==1){
fill(random(255));
}

// use the values like this!
// sensorValues[0]

// add your code

//
}

void setupSerial() {
printArray(Serial.list());
myPort = new Serial(this, Serial.list()[ 3], 9600);
// WARNING!
// You will definitely get an error here.
// Change the PORT_INDEX to 0 and try running it again.
// And then, check the list of the ports,
// find the port “/dev/cu.usbmodem—-” or “/dev/tty.usbmodem—-”
// and replace PORT_INDEX above with the index number of the port.

myPort.clear();
// Throw out the first reading,
// in case we started reading in the middle of a string from the sender.
myString = myPort.readStringUntil( 10 ); // 10 = ‘\n’ Linefeed in ASCII
myString = null;

sensorValues = new int[NUM_OF_VALUES];
}

void updateSerial() {
while (myPort.available() > 0) {
myString = myPort.readStringUntil( 10 ); // 10 = ‘\n’ Linefeed in ASCII
if (myString != null) {
String[] serialInArray = split(trim(myString), “,”);
if (serialInArray.length == NUM_OF_VALUES) {
for (int i=0; i<serialInArray.length; i++) {
sensorValues[i] = int(serialInArray[i]);
}
}
}
}
}